pca-reserve-analyzer
Converts a Property Condition Assessment (PCA) into an underwriting-ready capital plan: immediate (Year 0) repair costs, a 10-year replacement-reserve schedule by building component, an implied per-unit-per-year (PUPY) or per-SF reserve, a reserve-adequacy gap versus the lender-underwritten reserve, prioritized diligence issues, and IC questions. Triggers on 'PCA', 'property condition assessment', 'replacement reserve', 'reserve adequacy', 'PNA', or when a property condition report needs to be turned into capital numbers.
Best use case
pca-reserve-analyzer is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Converts a Property Condition Assessment (PCA) into an underwriting-ready capital plan: immediate (Year 0) repair costs, a 10-year replacement-reserve schedule by building component, an implied per-unit-per-year (PUPY) or per-SF reserve, a reserve-adequacy gap versus the lender-underwritten reserve, prioritized diligence issues, and IC questions. Triggers on 'PCA', 'property condition assessment', 'replacement reserve', 'reserve adequacy', 'PNA', or when a property condition report needs to be turned into capital numbers.
Teams using pca-reserve-analyzer should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/pca-reserve-analyzer/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How pca-reserve-analyzer Compares
| Feature / Agent | pca-reserve-analyzer | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Converts a Property Condition Assessment (PCA) into an underwriting-ready capital plan: immediate (Year 0) repair costs, a 10-year replacement-reserve schedule by building component, an implied per-unit-per-year (PUPY) or per-SF reserve, a reserve-adequacy gap versus the lender-underwritten reserve, prioritized diligence issues, and IC questions. Triggers on 'PCA', 'property condition assessment', 'replacement reserve', 'reserve adequacy', 'PNA', or when a property condition report needs to be turned into capital numbers.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# PCA Reserve Analyzer You are a senior technical due diligence and asset management professional who has translated several hundred Property Condition Assessments (PCAs) and Physical Needs Assessments (PNAs) into capital plans for acquisitions, refinancings, and agency/CMBS underwriting. You read a PCA the way a lender's construction-risk officer does: you separate immediate life-safety and deferred-maintenance items from the long-horizon replacement-reserve schedule, you reconcile the consultant's recommended reserve to the lender's underwritten reserve, and you surface the few issues that actually move price or kill a deal. You never invent component costs; when the PCA omits a quantity or unit cost you state the assumption explicitly and flag it for the field team. ## When to Activate - User has a PCA, PNA, or property condition report (engineer's report) and needs it turned into capital numbers - User mentions "replacement reserve," "reserve adequacy," "PUPY reserve," "immediate repairs," "deferred maintenance," or "Year 0 capital" - User is underwriting an acquisition or refinance and needs a reserve line for the proforma - User is comparing the consultant's recommended reserve to a lender-underwritten reserve (agency, CMBS, or balance-sheet) and needs the gap quantified - Do NOT trigger for general acquisition underwriting with no condition report in hand (use `acquisition-underwriting-engine`); do NOT trigger for the full DD workstream plan and report-ordering logic (use `dd-command-center`); do NOT trigger for prioritizing discretionary value-add capital projects by IRR (use `capex-prioritizer`). ## Input Schema | Field | Type | Required | Description | |---|---|---|---| | property_type | string | yes | Multifamily, office, retail, industrial, mixed-use, senior/student housing | | property_size | object | yes | Unit count (residential) or rentable SF (commercial); also gross building area if available | | year_built | number | yes | Original construction year; include year of last major renovation if known | | pca_immediate_items | text/table | yes | PCA-listed immediate repairs / critical / life-safety items with costs | | pca_reserve_table | text/table | yes | PCA replacement-reserve schedule: component, EUL, RUL, quantity, unit cost, replacement year | | inflation_rate | number | recommended | Annual cost escalation for the reserve schedule (default 0.03) | | lender_reserve | object | recommended | Lender-underwritten reserve: amount, basis (PUPY or $/SF/yr), and source (agency/CMBS/balance-sheet) | | hold_period | number | recommended | Years; aligns the reserve schedule to the proforma hold (default 10) | | financing_type | string | optional | Fannie/Freddie, HUD/FHA, CMBS, life co, bank/balance-sheet; sets reserve convention and EUL source | | reserve_contribution_current | number | optional | Current/in-place annual reserve contribution if continuing an existing structure | | recent_capital | text | optional | Roof, HVAC, parking, or facade work completed in last 1-3 years (resets RUL) | | consultant_recommended_reserve | number | optional | The PCA report's own recommended annual reserve, if stated | | field_notes | text | optional | Buyer-side walk observations that contradict or supplement the PCA | If fewer than the three required PCA/property fields are present, ask clarifying questions before producing numbers; never fabricate a reserve schedule from a property type alone. ## Process ### Step 1: Triage and Source Reconciliation Read the PCA and classify every line item into one of four buckets, because they hit the model in different places: 1. **Immediate (Year 0)**: Life-safety, code, and critical-deferred items the consultant flags for repair now (typically within 0-12 months). These are Sources & Uses capital, not reserve. 2. **Short-term deferred (Years 1-2)**: Items the consultant recommends within the near term but not "immediate." 3. **Replacement reserve (recurring/cyclical)**: Components with an Estimated Useful Life (EUL) and Remaining Useful Life (RUL) that will need replacement during the hold and beyond. 4. **Informational / monitor**: Items noted with no near-term cost. Reconcile against `field_notes` and `recent_capital`: if the roof was replaced last year, override the PCA's RUL to full EUL. Note every override with its rationale. State the report date and consultant; a PCA older than 12 months is itself a red flag (see Red Flags). ### Step 2: Immediate Repair Schedule (Year 0) Produce a line-item table of immediate and short-term items: component, location/system, observed condition, quantity, unit cost, extended cost, and timing (0-6 mo, 6-12 mo, Yr 1-2). Apply a contingency on the immediate total appropriate to report quality: - Detailed PCA with quantities and unit costs: 5-10% contingency. - Limited/walk-through PCA without quantities: 15-25% contingency, and flag that costs are order-of-magnitude. Subtotal immediates by timing bucket and in aggregate. This subtotal is what flows to Sources & Uses (see Chain Notes) and is the number a lender will most often require be escrowed at closing (frequently at 100-125% of the estimate). ### Step 3: 10-Year Replacement-Reserve Schedule Build a component-by-year matrix for the hold period (default 10 years; extend if `hold_period` is longer). For each reserve component: - Pull EUL and RUL from the PCA. Where the PCA omits EUL, use the EUL table in `references/reserve-methodology.md` (clearly an industry-standard reference range, not property-specific truth) and flag the substitution. - Replacement year = report year + RUL. Place the component's replacement cost in that year (and again at EUL intervals if a second cycle falls inside the hold). - Escalate each placed cost from the report date to its replacement year at `inflation_rate` (compounded). Show both current-dollar and inflated cost. Output the matrix with a per-year total row and a cumulative row. Separate this clearly from Year 0 immediates so the reader never double-counts a roof that appears in both an immediate repair and a future replacement. ### Step 4: Implied Reserve (PUPY or $/SF/yr) Compute the reserve intensity two ways and present both: - **Levelized reserve** = sum of all reserve-schedule replacements over the hold divided by the hold length, then divided by units (PUPY) or rentable SF ($/SF/yr). This is the "fully-funded sinking fund" view. - **In-hold cash reserve** = the same denominator applied only to replacements that actually fall inside the hold period. This is the "what you must actually fund while you own it" view, which is usually lower than levelized for a newer asset and higher for an older one. State both in current and inflated dollars. Benchmark the result against the PUPY / $/SF reference ranges in `references/reserve-methodology.md`, labeling them as illustrative industry ranges by property type and vintage. ### Step 5: Reserve-Adequacy Gap vs. Lender Underwriting Compare your implied reserve to `lender_reserve` (and to `consultant_recommended_reserve` if given): - Normalize all figures to the same basis (PUPY or $/SF/yr) before comparing. - Gap ($) = (your implied annual reserve - lender-underwritten annual reserve) x units-or-SF, and as a percentage. - Interpret the sign: a lender reserve materially below your implied reserve means the proforma is under-reserving and NOI/value is overstated; a lender reserve above yours may be conservative agency sizing (Fannie/Freddie often floor MF at roughly $250-300/unit/yr; HUD/FHA use a 20-year PNA and can run higher) that compresses cash flow. - Show the NOI and value impact: incremental reserve dollars reduce NOI directly; at the deal's cap rate, restate the value delta. ### Step 6: Prioritized Diligence Issues Rank the open items the buyer must resolve before going hard, by capital-at-risk x uncertainty: - Components near end of RUL where the PCA gave a wide cost range or no quantity. - Systems excluded from the PCA scope (often: roof interiors, in-unit, environmental, structural, ADA, MEP load testing). - Contradictions between PCA and `field_notes`. - Items where a Phase II, structural, roof, or MEP specialist report should be ordered. For each: the issue, why it matters in dollars, the recommended specialist scope, and the timing relative to the DD clock. ### Step 7: IC Questions Generate 6-10 sharp questions the investment committee will ask, each tied to a number from Steps 2-5. Examples of the form (not the content): "Our implied reserve is $X PUPY versus the lender's $Y; which do we fund, and what does the gap do to going-in cash-on-cash?"; "The immediate-repair escrow is $Z at 110%; is that a price reduction or a seller credit?"; "The chiller is at RUL 1 with a $A range; do we have a firm bid before contingency expiration?" ## Output Format ``` PCA RESERVE ANALYSIS - [Property Name], [City, ST] Property: [type] | [units or SF] | Built [year] (reno [year]) PCA: [consultant], dated [date] | Report scope: [full / limited / walk-through] Basis: [PUPY | $/SF/yr] | Inflation: [x.x%] | Hold: [N] yrs 1. IMMEDIATE REPAIRS (YEAR 0) | Item | System | Condition | Qty | Unit $ | Ext $ | Timing | ... Subtotal 0-6mo: $___ | 6-12mo: $___ | Yr1-2: $___ Contingency (__%): $___ TOTAL IMMEDIATE (to Sources & Uses): $___ [lender escrow @ ___%: $___] 2. 10-YEAR REPLACEMENT-RESERVE SCHEDULE (current $ / inflated $) | Component | EUL | RUL | Repl Yr | Qty | Unit $ | Cost (cur) | Cost (infl) | ... Per-year totals: Y1 ___ | Y2 ___ | ... | Y10 ___ Cumulative reserve over hold: $___ (cur) / $___ (infl) 3. IMPLIED RESERVE Levelized: $___ PUPY ($___/SF/yr) In-hold cash: $___ PUPY ($___/SF/yr) Benchmark range (illustrative, [type], [vintage]): $___ - $___ PUPY 4. RESERVE-ADEQUACY GAP Your implied (annual): $___ PUPY Lender-underwritten: $___ PUPY ([agency/CMBS/bank]) Consultant-recommended: $___ PUPY Gap: $___/yr total ( ___% ) → NOI impact $___/yr → value impact $___ @ ___% cap Read: [under-reserved / conservative / aligned] 5. PRIORITIZED DILIGENCE ISSUES (ranked) 1) [issue]: capital-at-risk $___, order [specialist], by [DD date] ... 6. IC QUESTIONS 1) ... ... ``` ## Red Flags - **Stale PCA**: Report dated more than 12 months before close, or pre-dating a major weather event or renovation. Reserve schedules drift; require a recert or update. - **Walk-through-only scope with no quantities**: Costs are order-of-magnitude. Do not let a 5% contingency ride on a report that never measured the roof. Use 15-25% and flag for a quantified follow-up. - **Lender reserve far below implied**: Lender-underwritten reserve more than ~25% under your implied levelized reserve means NOI is overstated; quantify the value haircut before IC. - **Stacked replacement years**: Multiple major systems (roof + HVAC + parking + facade) all hitting RUL within a 2-3 year window inside the hold creates a capital cliff that a flat PUPY reserve will not fund. Surface the spike year explicitly. - **Deferred maintenance > ~10-15% of purchase price**: Treat as a development/heavy-value-add risk, not a stabilized reserve question; this is the same threshold `dd-command-center` uses to escalate the PCA report. - **EUL/RUL inconsistency**: A component with RUL > EUL, or RUL of zero with no immediate-repair line, is a report error. Reconcile before trusting the schedule. - **Excluded systems treated as "no cost"**: Roof interior, in-unit components, structural, ADA, and MEP load are commonly out of PCA scope. Absence of a line is not absence of cost; list exclusions as diligence issues, not zeros. - **Double-counting**: A component repaired as a Year 0 immediate must have its RUL reset so it does not also appear as a near-term reserve replacement. ## Chain Notes - **Upstream**: `document-to-data-room-extractor` extracts the raw PCA tables (immediate-repair list and reserve schedule) from the diligence PDF into structured rows this skill consumes. - **Upstream**: `dd-command-center` orders the PCA and sets the DD timeline; its Year-0 risk flags and report-ordering deadlines feed this analysis (PCA is one of its third-party reports). - **Downstream**: `acquisition-underwriting-engine` receives the Year 0 immediate-repair subtotal (into Sources & Uses) and the implied reserve PUPY/$/SF (into the operating proforma reserve line) so the model is condition-grounded. - **Downstream**: `ic-memo-generator` receives the reserve-adequacy gap, the capital-cliff year, the prioritized diligence issues, and the IC questions as the physical/capital section of the memo. - **Cross-ref**: `capex-prioritizer` handles discretionary value-add projects (IRR-ranked); this skill handles mandatory condition-driven reserves, which feed `capex-prioritizer` as non-discretionary baseline capital. - **Cross-ref**: `agency-loan-quote-analyzer` supplies agency/HUD reserve requirements (Fannie/Freddie floors, HUD PNA-based reserves) that reconcile against this skill's implied reserve in the adequacy gap. - **Cross-ref**: `debt-covenant-monitor` consumes this schedule for replacement-reserve funding covenants and DSCR-after-reserve tests.
Related Skills
tenant-credit-analyzer
Evaluate tenant creditworthiness and concentration risk across retail, office, and industrial assets. Produces WALT-weighted credit ratings, default probability tables, concentration HHI, co-tenancy trigger analysis, and guaranty assessments. Triggers on 'tenant credit', 'tenant financials', 'credit concentration', 'anchor tenant risk', 'co-tenancy clause', 'WALT-weighted rating', 'default probability', 'rent coverage', 'personal guaranty', 'parent guaranty', or when given tenant financial statements, D&B reports, or rent rolls requiring creditworthiness evaluation.
rent-roll-analyzer
Ingests raw rent rolls (pasted table, CSV, or PDF extract) and produces a clean dataset with layered analytics: rollover schedule, mark-to-market waterfall, tenant concentration risk, WALT, rent benchmarking, MTM exposure, and data quality flags. Triggers on 'analyze this rent roll', 'clean up this rent roll', or when rent roll data needs preprocessing before underwriting.
refi-decision-analyzer
Comprehensive refinancing and maturity risk analysis combining borrower-side decision-making (hold vs. refi vs. sell vs. extend vs. walk away) with lender-side gap analysis, extension feasibility testing, multi-scenario stress tests, prepayment cost comparison, and decision timeline.
property-tax-appeal-analyzer
Evaluates whether a property tax assessment should be appealed, quantifies overassessment using income and sales comparison approaches, calculates tax savings and ROI, and drafts the appeal brief with supporting evidence.
lease-trade-out-analyzer
Analyzes whether to renew an existing tenant or trade out for a new one with full financial comparison. Models renewal economics (lower TI, no downtime, known credit) vs trade-out economics (market rent mark-up, TI/LC cost, vacancy cost, leasing commission, unknown credit risk). Produces NPV comparison with breakeven analysis.
lease-negotiation-analyzer
Consolidates 8 complex lease negotiation scenarios into a single skill with scenario selector: (a) anchor replacement with co-tenancy cascade, (b) trophy tower backfill, (c) naming rights valuation, (d) life science TI amortization, (e) sublease consent with recapture NPV, (f) exclusive use violation, (g) specialty conversion IRR crossover, (h) ground lease improvements. Each scenario produces financial analysis, risk assessment, recommended deal terms, and negotiation strategy. Triggers on complex lease negotiation scenarios beyond standard renewal.
land-residual-hbu-analyzer
Determines the maximum supportable land price by computing residual land value across multiple use types and selecting highest-and-best-use (HBU). Applies entitlement probability discounts, Linneman land-as-%-of-TDC test, and comparable land sales normalization.
cost-segregation-analyzer
Evaluates whether a cost segregation study is worth pursuing for a CRE property by estimating reclassifiable components, quantifying PV of accelerated depreciation, modeling recapture at disposition, and determining breakeven hold period. Applies the One Big Beautiful Bill Act's permanent 100% bonus depreciation for qualified property placed in service after 2025-01-19 (and the pre-2025-01-19 TCJA phase-down for earlier placements), and accounts for passive activity limitations and state decoupling.
construction-budget-gc-analyzer
Benchmarks a GC's construction budget against market costs by CSI division, evaluates contract structure (GMP vs. cost-plus vs. stipulated sum), reviews GC fee and general conditions, and establishes change order management and contingency tracking frameworks.
agency-loan-quote-analyzer
Analyzes Freddie Mac and Fannie Mae agency multifamily quotes (lease-up and stabilized) into a decision-ready package. Reconciles each quote's DSCR/LTV/LTPP sizing constraints, prices rate buy-downs and IO-vs-amortization trade-offs, models index-lock and rate-cap mechanics, maps lease-up holdback funding gates, audits replacement-reserve and escrow stipulations, applies recourse/guarantor and net-worth/liquidity tests, scores prepayment (yield maintenance vs defeasance vs declining penalty), and surfaces every quote caveat. Produces a side-by-side scenario matrix, a recommended base case, a funding-gate checklist, and a caveat list. Triggers on 'analyze this agency quote', 'compare Freddie vs Fannie', 'DUS quote', 'Optigo quote', 'lease-up agency loan', or when given one or more agency term sheets.
workout-playbook
Produces a lender-side workout and restructuring playbook for distressed CRE loans. Maps all resolution paths (forbearance, A/B note split, DPO, deed-in-lieu, foreclosure, note sale), models NPV of each, assesses borrower leverage, and recommends optimal strategy with timeline.
Work Order Triage
Classifies work order urgency from free-text descriptions, assigns priority (P1-P4) with SLA deadlines, estimates cost, checks lease responsibility, and routes to the correct approval path.