Pca Reserve Analyzer logo

Pca Reserve Analyzer

Community
mariourquia
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.

Overview

Publishermariourquia
Repositorycre-skills-plugin
Skill namepca-reserve-analyzer
Stars
51
Forks
12
Bundled files
1
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by mariourquia on GitHub. Read the source before you install it.

Installation

Install the Pca Reserve Analyzer AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/mariourquia/cre-skills-plugin/tree/main/src/skills/pca-reserve-analyzer
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/mariourquia/cre-skills-plugin.git /tmp/cre-skills-plugin
mkdir -p .claude/skills
cp -r /tmp/cre-skills-plugin/src/skills/pca-reserve-analyzer .claude/skills/pca-reserve-analyzer
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Pca Reserve Analyzer in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Pca Reserve Analyzer on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Pca Reserve Analyzer is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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

FieldTypeRequiredDescription
property_typestringyesMultifamily, office, retail, industrial, mixed-use, senior/student housing
property_sizeobjectyesUnit count (residential) or rentable SF (commercial); also gross building area if available
year_builtnumberyesOriginal construction year; include year of last major renovation if known
pca_immediate_itemstext/tableyesPCA-listed immediate repairs / critical / life-safety items with costs
pca_reserve_tabletext/tableyesPCA replacement-reserve schedule: component, EUL, RUL, quantity, unit cost, replacement year
inflation_ratenumberrecommendedAnnual cost escalation for the reserve schedule (default 0.03)
lender_reserveobjectrecommendedLender-underwritten reserve: amount, basis (PUPY or $/SF/yr), and source (agency/CMBS/balance-sheet)
hold_periodnumberrecommendedYears; aligns the reserve schedule to the proforma hold (default 10)
financing_typestringoptionalFannie/Freddie, HUD/FHA, CMBS, life co, bank/balance-sheet; sets reserve convention and EUL source
reserve_contribution_currentnumberoptionalCurrent/in-place annual reserve contribution if continuing an existing structure
recent_capitaltextoptionalRoof, HVAC, parking, or facade work completed in last 1-3 years (resets RUL)
consultant_recommended_reservenumberoptionalThe PCA report's own recommended annual reserve, if stated
field_notestextoptionalBuyer-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.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Pca Reserve Analyzer AI 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.

Why use Pca Reserve Analyzer on TypingMind?

Because you install it once and use it with any model. Pca Reserve Analyzer is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Pca Reserve Analyzer in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mariourquia/cre-skills-plugin/tree/main/src/skills/pca-reserve-analyzer. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Pca Reserve Analyzer?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Pca Reserve Analyzer?

As many as you like. As long as a model supports skills, you can use Pca Reserve Analyzer with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Pca Reserve Analyzer AI skill free?

It is published on GitHub by mariourquia. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇