Purpose
Systematically interrogate the assumptions driving an infrastructure project finance model and surface where they are aggressive, unsupported, or internally inconsistent — producing a red-flagged assumption review with benchmark comparisons and specific stress cases to run before committing capital.
When to Use
Invoke this skill when the user asks to:
- Review or sanity-check the assumptions in a project finance model before investment committee
- Stress-test demand, cost, or leverage assumptions ahead of financial close
- Prepare for lender or independent-engineer diligence on a model
- Validate a base case before a concession bid or acquisition
- Diagnose why a model's returns look too good (or a deal looks too tight)
- Build a red-flag list on an infrastructure asset (toll road, airport, power, water, digital, social PPP)
Inputs Required
Before starting, collect:
- Asset class & structure: Sector (toll road, PPP, renewable, thermal, water, port, digital) and contract type (availability, merchant, regulated, concession)
- Concession/tenor terms: Concession length, debt tenor, construction period, operations start date
- Demand/revenue assumptions: Base-case traffic/volume/generation forecast, ramp-up curve, growth rate, tariff/price and escalation
- Cost assumptions: Total capex, construction cost breakdown, contingency %, opex profile, major maintenance/lifecycle reserve
- Financing assumptions: Debt/equity split (gearing), interest rate, DSCR target/lock-up, sculpting, refinancing assumptions
- Return metrics: Projected equity IRR, project IRR, and any hurdle rate
- Base-case sensitivities available: Any downside cases already run (and results)
If specific figures are missing, flag the gap explicitly, apply sector-typical ranges as a proxy, and note the assumption.
Instructions
Step 1: Demand / Revenue Forecast Review
Test whether the top line is credible.
- Ramp-up realism: Does the model assume full demand at year 1? Greenfield traffic/volume typically ramps over 3–5 years — an instant-maturity assumption is a red flag.
- Growth rate vs. GDP: Compare demand CAGR to relevant GDP/sector growth. Sustained demand growth well above long-run GDP (e.g., >1.5–2.0x GDP over 20+ years) is aggressive without a specific driver.
- Forecast provenance: Is there an independent traffic/demand study, or is the forecast sponsor-generated? Flag optimism bias — traffic forecasts historically overstate year-5 volumes by 20–30% on average.
- Price/tariff escalation: Is escalation contracted (CPI-linked) or assumed? Merchant price assumptions above forward curves are a red flag.
- Elasticity: For tolled/priced assets, does the model account for demand response to tariff increases?
Step 2: Construction Cost & Contingency Review
Test whether the project can be built for the budgeted number.
- Contingency adequacy: Greenfield contingency typically 5–15% depending on complexity and design maturity. Below 5% on a complex build, or contingency assumed unspent, is a red flag.
- Fixed-price coverage: What share of capex is under a fixed-price date-certain EPC/turnkey contract vs. exposed to cost overrun? Quantify the unhedged exposure.
- Escalation during construction: Is input-cost inflation (steel, labor, concrete) modeled over the construction period?
- Delay/LD interplay: Does the model rely on liquidated damages to offset delay cost? Confirm LD caps cover the modeled downside.
- Interest during construction (IDC): Confirm IDC is capitalized and consistent with the drawdown schedule.
Step 3: Debt Sizing & DSCR Review
Test whether the debt structure holds under stress.
- DSCR headroom: Minimum and average DSCR vs. lock-up/default covenants. Base-case minimum DSCR at or barely above the covenant (e.g., <1.10x cushion to lock-up) is a red flag.
- Sector benchmarks: Availability/contracted PPP min DSCR ~1.15–1.25x; merchant/demand-risk assets require higher cushion ~1.40x+. Compare to what's modeled.
- Sculpting: Is debt sculpted to a target DSCR? Confirm sculpting doesn't push repayment into weaker later years.
- Gearing: Is leverage consistent with the risk profile? Over-gearing relative to cash-flow certainty is a red flag.
- Reserve accounts: Confirm DSRA (typically 6-month), MMRA/lifecycle reserve are funded and modeled as cash outflows.
Step 4: Refinancing Risk Review
Test the exposure at debt maturity.
- Mini-perm / bullet exposure: If debt tenor is shorter than concession, quantify the refinancing lump at maturity and the assumed refi rate.
- Refi rate assumption: Is the assumed future refinancing rate at or below today's rate? Assuming favorable future rates is a common red flag.
- Tail: Is there a debt-free operational tail (typically ≥2 years, ideally 15%+ of concession) as a cushion for lenders?
- Cash sweep: Is there a cash-sweep mechanism if refinancing fails or DSCR deteriorates?
Step 5: IRR Sensitivity & Internal Consistency
Test the returns and cross-check the whole model.
- Return vs. risk: Does the equity IRR look reasonable for the risk profile, or "too good"? Contracted availability assets returning merchant-level IRRs signal an assumption error.
- Sensitivity gaps: Identify which downside cases are missing (demand −20%, capex +15%, delay +6 months, interest +200bps, opex +10%).
- Breakeven identification: Find the single assumption to which IRR/DSCR is most sensitive.
- Consistency checks: Inflation applied consistently to revenue and costs? Tax, depreciation, and terminal/residual value treated correctly? Currency of revenue vs. debt matched?
Step 6: Compile the Red-Flag Register & Stress Cases
- Consolidate all flagged items into a severity-ranked register (High / Medium / Low).
- For each High/Medium flag: state the assumption, why it's a concern, the benchmark it deviates from, and the recommended fix or test.
- Specify 4–6 concrete stress cases to run, each with the variable moved, the magnitude, and the metric to watch (min DSCR, equity IRR, breakeven).
Output Format
- Structure: Five assumption-area reviews, followed by a severity-ranked red-flag register and a stress-case table
- Length: 1,000–1,400 words
- Format: Structured document — headed sections with bullets; red-flag register and stress cases as tables
- Sections: Demand/Revenue → Construction Cost & Contingency → Debt Sizing & DSCR → Refinancing Risk → IRR Sensitivity & Consistency → Red-Flag Register (ranked) → Recommended Stress Cases
- Tone: Investment-committee reviewer — skeptical, quantitative, plain about where the model is optimistic; no hedging on flags
Quality Checklist
Before delivering output, verify:
- [ ] Every one of the five assumption areas is reviewed against a stated benchmark or threshold — not general commentary
- [ ] Each red flag names the specific assumption, the deviation, and a recommended fix or test
- [ ] The red-flag register is ranked by severity (High/Medium/Low), not listed arbitrarily
- [ ] Minimum and average DSCR are assessed against a sector-appropriate covenant cushion
- [ ] 4–6 stress cases are specified with variable, magnitude, and the metric to watch
- [ ] Any missing inputs are explicitly flagged with the proxy assumption used
Notes
- The most common fatal flaw in infrastructure models is demand optimism, not cost — apply the most skepticism to greenfield ramp-up and traffic forecasts.
- Distinguish contracted-cash-flow assets (availability PPP, contracted renewables) from demand-risk assets (toll roads, merchant power) — they justify entirely different DSCR and IRR benchmarks; never apply one asset class's thresholds to another.
- A base case that already looks tight is safer than one that looks pristine — flag any model where every assumption breaks the sponsor's way.
- Recommend the user commission an independent technical/demand study for any High-severity flag before financial close.
How to use this skill
This file is a Claude Code skill in Anthropic's standard format — markdown with YAML frontmatter at the top.
Installing in Claude Code:
~/.claude/skills/<folder-name>/SKILL.md— auto-loads in every session anywhere on your machine (recommended for skills you'll use across multiple projects)<your-project>/.claude/skills/<folder-name>/SKILL.md— auto-loads only when working in that project (recommended for project-specific skills)
Restart Claude Code or open a new session to register.
Using in Claude.ai, ChatGPT, Gemini, or other AI tools:
- Drag this file into a new chat, or copy and paste its contents
- Send your task or request as your next message — the AI will apply the skill where it fits
For Claude Code skill details: https://docs.anthropic.com/en/docs/claude-code/skills