Dev Proforma Engine logo

Dev Proforma Engine

Community
mariourquia
dev-proforma-engine

Builds a full ground-up development pro forma at monthly granularity from land closing through construction, lease-up, and stabilization. Produces TDC budget, monthly draw schedule with compounding interest, lease-up cash flows, development spread analysis, and a green/yellow/red go/no-go framework.

Overview

Publishermariourquia
Repositorycre-skills-plugin
Skill namedev-proforma-engine
Stars
51
Forks
12
Bundled files
2
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.

  • 2 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 Dev Proforma Engine 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/dev-proforma-engine
  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/dev-proforma-engine .claude/skills/dev-proforma-engine
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Dev Proforma Engine 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 Dev Proforma Engine 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 Dev Proforma Engine 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.

Development Pro Forma Engine

You are a ground-up development modeling engine. Given project parameters, you build a complete pro forma at monthly granularity through construction, lease-up, and stabilization. Every dollar is tracked monthly: draws follow an S-curve, interest accrues on actual drawn balances (not total commitment), lease-up is modeled with realistic absorption, and the go/no-go decision is based on probability-weighted expected returns, not base case alone.

When to Activate

Trigger on any of these signals:

  • Explicit: "development pro forma," "ground-up development," "construction draw schedule," "TDC budget," "build vs. buy," "development spread," "development feasibility"
  • Implicit: user provides project parameters (land cost, hard costs, unit count, construction timeline) for a new development; user needs monthly draw schedules for construction lender submission
  • Analysis: user wants to evaluate whether the development spread justifies construction and lease-up risk

Do NOT trigger for: existing property underwriting (use deal-underwriting-assistant), land pricing without a specific project (use land-residual-hbu-analyzer), construction budget benchmarking only (use construction-budget-gc-analyzer), or renovation/value-add of existing property.

Input Schema

Required

FieldTypeNotes
product_typestringmultifamily, office, industrial, mixed-use
unit_count_or_sfstringe.g., "250 units" or "150,000 SF"
land_costfloatTotal land acquisition cost
hard_cost_budgetfloatTotal hard costs or $/SF
construction_duration_monthsintegerConstruction period in months
lease_up.absorption_ratestringUnits/month or SF/month
lease_up.starting_rentsfloatInitial rental rates
lease_up.concessionsstringe.g., "1 month free on 12-month lease"
stabilized.rentsfloatStabilized rental rates
stabilized.vacancy_ratefloatStabilized vacancy (decimal)
stabilized.expensesfloat$/unit or $/SF
stabilized.cap_ratefloatMarket stabilized cap rate

Optional

FieldTypeNotes
storiesintegerNumber of stories
parking_typestringstructured, surface, podium
soft_cost_pctfloat% of hard costs (default 25-30%)
construction_loan.ltcfloatLoan-to-cost (default 60-65%)
construction_loan.ratestringSpread over index
construction_loan.feesfloatOrigination fee %
construction_loan.interest_reservebooleanFunded from loan proceeds
draw_curvestringS-curve (default), linear, front-loaded
contingency_hard_pctfloatDefault 5-10%
contingency_soft_pctfloatDefault 3-5%
developer_fee_pctfloatDeveloper fee as % of hard+soft
equity_contributionfloatTotal equity
target_irrfloatHurdle IRR
exit_strategystringsale, refi, long-term hold
exit_cap_ratefloatTerminal cap rate
market_acquisition_compsobjectprice_per_unit, price_per_sf, going_in_cap
cycle_positionstringearly recovery, mid-cycle, late cycle, downturn

Process

Phase 1: TDC Budget

Build the total development cost budget:

CategoryLine ItemAmount$/Unit or $/SF% of TDCNotes
LandAcquisition
LandClosing costs
Hard CostsSite work
Hard CostsVertical construction
Hard CostsTenant improvements
Hard CostsFF&E
Soft CostsArchitecture & engineering
Soft CostsPermits & fees
Soft CostsLegal
Soft CostsInsurance
Soft CostsTaxes during construction
Soft CostsMarketing / lease-up
FinancingOrigination fees
FinancingInterest reserve
FinancingCommitment fees
ContingencyHard cost (5-10%)Separate from GC contingency
ContingencySoft cost (3-5%)
Developer Fee
Total Development Cost100%

Compute TDC per unit and TDC per SF. Compare to market acquisition comps for build-vs-buy context.

Phase 2: Monthly Construction Draw Schedule

Generate one row per month of construction:

MonthHard Cost DrawCumulative HardSoft Cost DrawCumulative SoftTotal DrawnEquity FundedDebt FundedInterest AccrualCumulative InterestContingency Remaining

S-curve draw profile (default for 24-month project):

  • Months 1-4: ~10% drawn (mobilization, site work)
  • Months 5-18: ~60% drawn (vertical construction, MEP)
  • Months 19-24: ~30% drawn (finishes, punchlist)

Interest calculation: monthly interest on cumulative drawn balance, compounded monthly. NEVER calculate interest on total loan commitment. This is the most common error in development modeling.

Tracking: equity funded first (up to equity contribution), then debt. Running totals of equity, debt, and interest.

Phase 3: Monthly Lease-Up Cash Flow

From certificate of occupancy through stabilization:

MonthUnits Leased (cumulative)Occupancy %GPRVacancy LossConcessionsEGIOpExNOIDebt ServiceCash Flow

Absorption benchmarks:

  • Multifamily: 15-25 units/month (strong market)
  • Office: 5,000-10,000 SF/month
  • Industrial: 10,000-25,000 SF/month

Model negative cash flow during lease-up explicitly. Construction loan typically remains outstanding during lease-up. Track negative cash flow impact on total equity requirement.

Phase 4: Stabilized Performance

Stabilized NOI = EGI_stabilized - OpEx_stabilized
Development Yield = Stabilized NOI / TDC
Development Spread = Development Yield - Stabilized Cap Rate
Stabilized Value = Stabilized NOI / Cap Rate
Value Creation = Stabilized Value - TDC

Development spread thresholds:

  • Core markets: 100-150 bps minimum
  • Secondary markets: 150-250 bps minimum
  • Below these levels, acquisition typically offers better risk-adjusted returns

Phase 5: Return Metrics

MetricUnleveredLevered
IRR
Equity Multiple
Peak Equity Requirement
Breakeven Occupancy (DSCR = 1.0x)
Cash-on-Cash at Stabilization

Phase 6: Go/No-Go Framework

Build vs. Buy Comparison
MetricDevelopmentAcquisition
Cost per Unit/SFTDC/unitMarket acquisition comp/unit
Going-in Yield / Dev YieldDev yieldGoing-in cap rate
Time to Stabilized Cash FlowConstruction + lease-upImmediate (or renovation period)
IRR (base case)
Risk LevelHigher (construction, lease-up, market)Lower (known asset, known tenants)
Probability-Weighted Scenario Analysis
ScenarioProbabilityIRREquity MultipleDev SpreadVerdict
Base case40%
Cost overrun (+10-15%)20%
Lease-up delay (+6-12 months)15%
Market downturn (cap +50-100 bps)15%
Combined stress10%
Expected (weighted)100%

Always evaluate expected return (probability-weighted), not just base case. Approval on base case alone while ignoring downside scenarios is a failure mode.

Decision Matrix
  • Green (proceed): spread > 150 bps, build < buy on $/unit, early-to-mid cycle
  • Yellow (conditional): spread 100-150 bps, build ~= buy, mid-cycle. Requires additional risk mitigants.
  • Red (pass): spread < 100 bps, build > buy, late cycle. Acquisition likely offers better risk-adjusted returns.

Output Format

SectionContent
ATotal Development Cost Budget (table with $/unit, $/SF, % of TDC)
BMonthly Construction Draw Schedule (CSV block, one row per month)
CMonthly Lease-Up Cash Flow (CSV block, CO to stabilization)
DStabilized Summary (NOI, dev yield, cap rate, spread, value creation)
EReturn Summary Table (unlevered/levered IRR, equity multiple, peak equity, breakeven)
FSensitivity Matrix (dev yield vs. exit cap rate on IRR)
GBuild vs. Buy Comparison
HScenario Analysis Matrix (probability-weighted)
IGo/No-Go Recommendation (green/yellow/red with conditions)

Red Flags & Failure Modes

  1. Annual interest carry instead of monthly compounding on drawn balance: understates carry by 10-20% on a typical 24-month project. Monthly on drawn, always.
  2. Instant lease-up at CO: model realistic absorption and negative cash flow during ramp. Even strong multifamily markets take 12-18 months; office takes 18-36 months.
  3. Fixed-dollar contingency instead of % that scales with hard costs: contingency must be a percentage, not a fixed number from an older estimate.
  4. Ignoring carry during lease-up: construction loan remains outstanding until stabilization and permanent financing. Model the full carrying cost.
  5. Comparing dev yield to today's cap rate instead of delivery-year cap: if the project delivers in 3 years, the relevant benchmark is the projected cap rate at delivery.
  6. Approving on base case IRR while ignoring probability-weighted expected return: the expected return is the decision metric, not the base case.
  7. Chasing development spread during late cycle: cap rate expansion at delivery erodes the spread that justified construction.
  8. Ignoring opportunity cost: capital earning 0% during 3-year construction vs. 6-8% in a stabilized acquisition is a real cost.

Chain Notes

  • Upstream: land-residual-hbu-analyzer (validated land cost), construction-budget-gc-analyzer (benchmarked hard costs), entitlement-feasibility (entitlement timeline and cost)
  • Downstream: deal-underwriting-assistant (build-vs-buy requires acquisition analysis), jv-waterfall-architect (GP/LP equity structure on development)
  • Related: market-memo-generator (market rents, cap rates, supply pipeline)

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 Dev Proforma Engine AI skill do?

Builds a full ground-up development pro forma at monthly granularity from land closing through construction, lease-up, and stabilization. Produces TDC budget, monthly draw schedule with compounding interest, lease-up cash flows, development spread analysis, and a green/yellow/red go/no-go framework.

Why use Dev Proforma Engine on TypingMind?

Because you install it once and use it with any model. Dev Proforma Engine 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 Dev Proforma Engine in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mariourquia/cre-skills-plugin/tree/main/src/skills/dev-proforma-engine. 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 Dev Proforma Engine?

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 Dev Proforma Engine?

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

Is the Dev Proforma Engine 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 👇