skills/special-situations-valuation/SKILL.md
--- name: special-situations-valuation description: Adapts the standard DCF framework for companies that break normal valuation assumptions. Handles four sub-frameworks: high-growth firms with negative earnings (revenue-based approach with failure probability), distressed firms (equity-as-call-option via Black-Scholes), private companies (total beta and liquidity discount), and financial services firms (excess return model on book equity). Use when valuing unprofitable startups, distressed compa
npx skillsauth add lyndonkl/claude skills/special-situations-valuationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scenario: High-growth SaaS company with negative earnings
Inputs: Revenue $500M, operating loss -$100M (margin -20%), cash $300M, burn rate $80M/year, WACC 10%
Revenue-based DCF approach:
Projected year-by-year summary:
| Year | Revenue | Op. Margin | EBIT(1-t) | Reinvestment | FCFF | |------|---------|-----------|-----------|--------------|------| | 0 | $500M | -20% | -$75M | $163M | -$238M | | 3 | $1,099M | -6.9% | -$57M | $187M | -$244M | | 5 | $1,592M | +1.9% | $23M | $163M | -$140M | | 8 | $2,015M | +11.9% | $180M | $65M | +$115M | | 10 | $2,139M | +15.0% | $241M | $19M | +$222M |
Terminal value: $241M x (1.03) / (0.085 - 0.03) = $4,512M (WACC converges to 8.5% in stable growth)
DCF value of firm: $3,200M (PV of cash flows + PV of terminal value)
Failure adjustment:
Adjusted value: $3,200M x 0.85 + $200M x 0.15 = $2,750M
Subtract debt $150M, add cash $300M, subtract options $100M = equity value $2,800M
Compare: standard DCF (if earnings were positive) would value firm at $3,200M, so the failure adjustment reduces value by ~14%.
Copy this checklist and track your progress:
Special Situations Valuation Progress:
- [ ] Step 1: Classify the special situation
- [ ] Step 2: Select and apply the sub-framework
- [ ] Step 3: Make model-specific adjustments
- [ ] Step 4: Apply probability weighting or discounts
- [ ] Step 5: Compare to standard DCF result
- [ ] Step 6: Validate and document
Step 1: Classify the special situation
Determine which sub-framework applies based on company characteristics. A company may fall into multiple categories (e.g., a private financial services firm). See resources/template.md for the classification decision tree.
Step 2: Select and apply the sub-framework
Apply the methodology specific to the classified situation. See resources/methodology.md for detailed formulas and step-by-step procedures for each sub-framework.
Step 3: Make model-specific adjustments
Each sub-framework requires specific adjustments beyond the standard DCF. See resources/template.md for the relevant template with fill-in fields.
Step 4: Apply probability weighting or discounts
Incorporate risk adjustments specific to the situation type. See resources/methodology.md for estimation approaches.
Step 5: Compare to standard DCF result
Show the standard DCF value alongside the adjusted value to make the impact of adjustments transparent. See resources/template.md for the comparison template.
Step 6: Validate and document
Validate using resources/evaluators/rubric_special_situations_valuation.json. Minimum standard: Average score of 3.5 or above.
Pattern 1: High-Growth / Negative Earnings
Pattern 2: Distressed Firm
Pattern 3: Private Company
Pattern 4: Financial Services Firm
Target margin sourcing: For high-growth firms, target operating margin comes from mature industry peers, not from management projections or analyst optimism. Use the 25th-75th percentile range of mature companies in the same sector.
Firm value volatility: For the equity-as-call-option model, use asset-side volatility (firm value volatility), not equity volatility. Equity volatility overstates the underlying firm risk due to leverage amplification. Estimate from the unlevered firm or from comparable firms' asset volatility.
Total beta applicability: Total beta (market beta / correlation with market) applies only to undiversified owners who bear total risk. Diversified acquirers (PE funds, public companies) should use market beta. Specify the buyer context before choosing.
Financial services debt treatment: For banks and insurance companies, do not subtract debt from firm value to get equity value -- debt is operational, not financial. Use equity-only models (DDM, FCFE, or excess return model).
Failure probability grounding: Estimate failure probability from observable data -- cash burn rate vs. cash on hand, Altman Z-score, industry base failure rates, credit default swap spreads. Avoid round-number guesses without supporting evidence.
Liquidity discount calibration: The liquidity discount is not a flat percentage. It varies with company characteristics: larger, more profitable companies have smaller discounts. Use restricted stock study regression results that incorporate revenue, profitability, and block size as determinants.
Transparency of adjustments: Show the standard DCF value alongside the special-situation-adjusted value. This makes the magnitude and direction of each adjustment visible, and allows the reader to assess whether each adjustment is justified.
Key formulas per sub-framework:
HIGH-GROWTH (failure-adjusted value):
Adjusted Value = DCF Value x (1 - P_failure) + Distress Value x P_failure
Reinvestment = Change in Revenue / Sales-to-Capital Ratio
Margin convergence: margin_t = current_margin + (target_margin - current_margin) x (t / T)
DISTRESSED (equity as call option):
C = S x e^(-yt) x N(d1) - K x e^(-rt) x N(d2)
d1 = [ln(S/K) + (r - y + sigma^2/2) x t] / (sigma x sqrt(t))
d2 = d1 - sigma x sqrt(t)
where S = firm value, K = face value of debt, t = debt maturity,
sigma = firm value volatility, r = riskfree rate, y = cash flow yield
PRIVATE COMPANY:
Total Beta = Market Beta / Correlation with Market
Cost of Equity (undiversified) = Riskfree Rate + Total Beta x ERP
Liquidity Discount: from restricted stock regression (f(revenue, profitability, block size))
FINANCIAL SERVICES (excess return model):
Equity Value = BV_equity + sum[ (ROE_t - ke) x BV_equity_t / (1+ke)^t ] + Terminal
Terminal = (ROE_stable - ke) x BV_equity_n+1 / ((ke - g) x (1+ke)^n)
Growth in book equity = Retention Ratio x ROE
Sub-framework selection decision tree:
Is the firm a bank, insurer, or financial services company?
Yes -> Pattern 4: Financial Services (excess return model)
No -> Does the firm have negative or near-zero operating income?
Yes -> Pattern 1: High-Growth / Negative Earnings (revenue-based DCF)
No -> Is the firm facing significant distress or default risk?
Yes -> Pattern 2: Distressed (equity as call option)
No -> Is the firm private (no public equity market)?
Yes -> Pattern 3: Private Company (total beta + liquidity discount)
No -> Use standard DCF (intrinsic-valuation-dcf skill)
Key resources:
Cross-references to other skills:
business-narrative-builder: Life cycle stage determines which sub-framework appliescost-of-capital-estimator: Modified for private companies (total beta) and distressed firmsintrinsic-valuation-dcf: Standard DCF for comparison; high-growth sub-framework builds on thisfinancial-statement-analyzer: Provides cleaned base-year financials for all sub-frameworksInputs required (varies by situation type):
Outputs produced:
special-situations-valuation.md: Situation classification, sub-framework applied, model-specific adjustments, probability weighting or discounts, standard vs adjusted comparison, per-share value estimatedevelopment
--- name: zettel-note description: The note-writing discipline for this vault's evergreen knowledge graph, modeled on a Zettelkasten reading companion and governed by the vault conventions. Enforces declarative-claim titles, one claim per note (atomicity), own-words prose with no block quotes, the piped [[slug|Title]] link form, the labeled link-relationship vocabulary (Confirms/Contradicts/Extends/Context/Prerequisite/Builds-on/Applies/Example-of/Contrasts-with), 3-6 links per note, and search-
development
Plans between-round FIFA World Cup Fantasy transfers — budgets the round's free transfer(s), forces out players whose nation has been eliminated, chases fixture-swing drops, upgrades on value, and decides when a rebuild is large enough to fire the Wildcard instead of spending free transfers one at a time. Ranks candidate in/out pairs by EV gain over each player's remaining survival horizon (delta xEV weighted by progression_carry) MINUS transfer cost (a free transfer is cheap, a points hit is real, churning the squad for marginal swings is a critic flag), and tags forced/fixture/upgrade priority. Emits a `transfer-plan` signal. Use when called by wc-squad-architect (whose transfer work this skill is the engine for) and by the strategists in the populate stage when their candidate is transfer-adjacent rather than a full rebuild.
testing
Reads and updates the FIFA World Cup Fantasy tournament state machine (footballfantasy/context/tournament-state.md) — the temporal backbone tracking phase (pre-tournament → group MD1-3 → R32 → R16 → QF → SF → final), budget ($100m group / $105m knockouts), nation cap (3 group, loosening in knockouts), chips remaining, surviving nations, each owned player's elimination-risk horizon, and deadlines. Validates state on load (count/feasibility checks), applies phase transitions, and appends to the append-only state log (never silent overwrite). Use to load state at the start of a run and to commit state changes after the manager makes a move.
development
Validates and persists FIFA World Cup Fantasy signal files to signals/YYYY-MM-DD-<type>.md. Checks the required frontmatter (type, round, date, emitted_by, confidence, source_urls), range-checks declared numeric signals, confirms every factual claim carries a source URL or "manager-provided", rejects unknown signal types, and refuses to persist a signal that fails validation (logging the failure instead). Keeps the inter-agent signal layer auditable so downstream agents can trust what they read and never re-derive it. Use whenever an agent or skill writes a signal.