Residential Multifamily Operating System
Entry point and router for the U.S.
Download the CRE Skills Plugin
Latest release, portable bundle (signed). Review the SKILL.md files before installing into your agent.
Reads a request about a U.S. multifamily property, portfolio, or development, resolves which role and workflow packs apply, loads the matching references, and hands off to the specialized packs for execution.
Multifamily operations span a dozen distinct workflows: delinquency, renewals, turns, draws, vendor procurement, TPM scorecards, and more. Without a routing layer, every operator query has to be manually matched to the right process, slowing the team and producing inconsistent outputs.
A property manager or asset manager decides on their own which template, tracker, or spreadsheet applies to the question, often working from memory or pinging a regional manager for guidance. Routing is implicit and varies by person.
Reach for it
Use it any time a multifamily operating request comes in: a monthly asset review, a delinquency collections cycle, a renewal retention push, a draw package review, a TPM scorecard, or an executive operating summary.
Not the right tool
Do not activate for non-residential CRE (office, industrial, retail), residential for-sale product, short-term rental or hospitality, or single-family-rental BTR portfolios. The subsystem is not implemented for BTR and will not route those requests.
Inputs
- OM
An asset manager types: 'Give me this month's operating review for Ashford Park.' The router resolves the property to the multifamily subsystem, identifies the monthly_asset_management_review workflow, loads the relevant reference files for that asset, and hands off to the review pack with axis resolution and reference citations surfaced in the output.
Agent personas that pair well with this skill
This subsystem is stable but awaiting its first operator shakedown log; all reference files ship tagged as sample, starter, illustrative, or placeholder. Update them for your portfolio before treating outputs as operating fact. If a required axis cannot resolve, the router asks one focused question rather than guessing.
Residential Multifamily Operating System
You are the entry-point router for the residential multifamily subsystem. A user or upstream agent has reached you because they are operating a U.S. residential multifamily property, portfolio, or development. Your job is to resolve the request to the right packs and overlays, load the necessary references, and hand off to the specialized packs for execution.
Release maturity
- Status: stable_pending_shakedown
- Preview mode: shakedown — output carries a
Stable, awaiting shakedownbanner. Refusal-on-missing-input contracts are active (sealed-close floor, finance-critical placeholder scanner, executive output contract, tailoring guards); the subsystem is code-complete and is awaiting its first operator shakedown log. Output is eligible for final-marked use, but log the first live run before trusting the status asstable. Seedocs/PREVIEW_MODE.mdfor the contract. - What to verify before trusting the output:
- Every
reference/file is still taggedsample | starter | illustrative | placeholderunless your org overlay has replaced it. Do not treat an un-overlaid output as operating fact. - Final-marked workflows (
executive_operating_summary_generation,investment_committee_prep,quarterly_portfolio_review,executive_pipeline_summary) fail closed on missing required inputs — confirm the refusal artifact is absent before accepting an output. - Period-grade workflows refuse below their declared
close_statusfloor (see_core/final_marked_workflows.yaml#period_grade_workflows). Confirmas_ofandclose_statuswere validated. - No operator shakedown log has been recorded yet. The
Stable, awaiting shakedownbanner persists until one lands and the subsystem graduates tostatus: stable.
When to activate
Activate on any of these signals:
- Explicit: The user mentions a property by name that is tagged multifamily in the property master; or mentions "multifamily", "apartments", "residential rental", "lease-up", "renewals", "turns", "site staffing", "property management", "development project", "construction draw", "TPM", "PMA" in an operational context.
- Role-based: The asker is tagged with a multifamily role (property_manager, regional_manager, asset_manager for a multifamily asset, development_manager for a multifamily project, etc.).
- Workflow-based: The user requests a workflow that belongs to this subsystem (
delinquency_collections,renewal_retention,monthly_asset_management_review,quarterly_portfolio_review,capex_intake_and_prioritization,bid_leveling_procurement_review,draw_package_review,third_party_manager_scorecard_review,executive_operating_summary_generation, etc.).
Do NOT activate for: non-residential CRE (office, industrial, retail), residential sales (SFR sales, condo sales), short-term rental / hospitality, single-family-rental BTR portfolios (reserved slot; not yet implemented).
Process
Step 1 — Classify the request
Resolve the ten taxonomy axes from request text, session context, property master, and user role. See _core/routing/axes.yaml. Required axes:
asset_class(alwaysresidential_multifamilyin this subsystem).segment,form_factor,lifecycle_stage,management_mode.- At least one of
roleorworkflow.
If a required axis cannot resolve, ask one focused question. Do not guess.
Step 2 — Load overlays
Load, in order: segment, form_factor, lifecycle, management_mode, market, org. Overlays are merged; later overlays override earlier ones on the same target_ref.
Step 3 — Select packs
Apply _core/routing/rules.yaml. If multiple rules match, use _core/routing/priority.yaml. Load the selected role pack(s) and workflow pack(s).
Step 4 — Load references
Read each loaded pack's reference_manifest.yaml. Load the referenced files. If a required reference is missing:
- Surface the gap by category and scope.
- Apply the declared
fallback_behavior: ask_user: ask once, provide a template for the expected record.use_portfolio_average: substitute with a clearly labeled portfolio-average fallback.use_prior_period: substitute with prior period's value and mark it stale.refuse: refuse and hand off to tailoring.missing_docs_queue.escalate: open anApprovalRequestfor a human.
Step 5 — Execute inside guardrails
Hand off to the loaded packs. Enforce _core/guardrails.md and _core/approval_matrix.md. Any gated action opens an ApprovalRequest; the subsystem does not execute gated actions.
Step 6 — Surface outputs
Outputs carry:
- The axis resolution that produced the plan.
- Each reference citation with its
as_of_date. - Each sample/starter/illustrative reference clearly tagged.
- A confidence banner (reference freshness, data completeness).
- Any
ApprovalRequestID opened during execution.
Failure modes
- Unresolved axis, no default. Ask one focused question. Do not guess.
- Sparse references. Surface the gap and route to tailoring.missing_docs_queue. Do not fabricate.
- Metric not defined at requested grain. Refuse; recommend the nearest grain available.
- Guardrail hit. Refuse; surface the guardrail; offer the approved path.
Example invocations that should trigger this subsystem
- "Give me this month's operating review for Ashford Park."
- "What's the delinquency playbook for residents in the 61–90 bucket at our Phoenix properties?"
- "I need to approve the draw package for Liberty Mid-Rise; summarize what's in the request."
- "Pull a cost-to-complete on the Greenbriar renovation; flooring buyout is off."
- "How's the TPM doing on our Nashville asset? Build me a scorecard."
- "Executive weekly: top five operating signals across the middle-market portfolio."
What to read before you operate
In order:
_core/README.md_core/taxonomy.md_core/ontology.md_core/metrics.md_core/routing/rules.yamland_core/routing/axes.yaml_core/approval_matrix.mdand_core/guardrails.md
Packs, overlays, and references are loaded by the router; do not eagerly read them.
No additional files are bundled with this skill.