agentsclimarketplace

Dcf

Skill agentii-ai/agentii-investment-intelligence/plugins/vertical-plugins/models-and-pitches/skills/agentii/dcf

Claude-type skills for institutional equity research — 25 AI agent skills with SEC filings, XBRL financials, earnings calendars, DCF/comps/LBO models, and PPT generation. Powered by agentii.ai data plane. Works with Claude Code, OpenCode, Codex, OpenClaw, Goose.

Install
npx -y skills add agentii-ai/agentii-investment-intelligence --skill dcf

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

DCF valuation model, discounted cash flow, intrinsic value, WACC calculation, terminal value, free cash flow projection, equity value per share, DCF sensitivity analysis, unlevered free cash flow, present value calculation, build a DCF

SKILL.md

8.0 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it

Preflight

Run the canonical pre-flight sequence — MCP health probe, ticker resolution, workspace style.md override, memory load, and coverage check. See contracts/preflight.md.

Include the X-Agentii-Trace header on every tool call per contracts/x-agentii-trace-header.md.

Triggers

  • analyze dcf model
  • run dcf model analysis
  • produce dcf model report
  • dcf model breakdown
  • dcf model deep dive
  • build a dcf model
  • assess dcf model
  • quantify dcf model
  • compare dcf model across peers
  • review dcf model for
  • generate dcf model on
  • dcf model for investment decision

Defaults

ParameterDefaultNotes
lookback_years3Historical data window
include_peersfalseWhether to surface a peer comparison block

Methodology

Retrieval Scope

This skill performs unstructured document search at scale across SEC filings (10-K, 10-Q, 8-K). The three-layer agent-use-ready retrieval protocol (Document Discovery → Page Map → Deep Read) applies to all unstructured document search at scale.

Retrieval Strategy

See contracts/retrieval.md for the canonical decision tree; skill-specific retrieval detail is in references/methodology.md.

Temporal Scope

Default: 12 fiscal quarters (max 20). Financial modeling: trailing 12 quarters (3 fiscal years) for long-range projection inputs.

Tool Allowlist

See frontmatter allowed_tools.

Protocol

Step-by-step execution detail is in references/methodology.md.

Deliverable Chain

InputsBuildValidateOutputNext

  1. Inputs: resolved ticker + search_xbrl_facts (Income Statement, Balance Sheet, Cash Flow) + get_company_financials + get_realtime_quote for current price.
  2. Build: write a self-contained Python script using openpyxl that creates the DCF workbook (projections, WACC, terminal value, sensitivity tables) per ## Output Structure. Execute via Bash: python3 script.py. Verify the .xlsx exists. If import openpyxl fails, fall back to .md summary with data_availability: degraded (see contracts/office-tooling.md).
  3. Validate: run LibreOffice recalc; audit hardcoded_count == 0 for tagged cells per ## Validation Gates; verify projection horizon ≥ 5 years, terminal growth < risk-free proxy.
  4. Output: write the artifact path per ## Output File. (Optional) render an executive-summary .pptx via Bash+python-pptx; convert .xlsx → PDF via LibreOffice.
  5. Next: append to agentii.md; hand off to a downstream pitch/review skill if requested.

Validation Gates

  1. projection horizon: ≥ 5 years (10 years for secular-trends analysis). If failed: If < 5 years: refuse delivery, report actual horizon.
  2. terminal growth rate: < risk-free rate proxy (current 10Y UST). If failed: If terminal_g ≥ rf: flag in assumptions section, note conservatism violation.
  3. WACC components: WACC = (E/V × Ke) + (D/V × Kd × (1-T) with all components cited to source data. If failed: If components uncited: refuse delivery, list missing citations.
  4. hardcoded_count: == 0 for all cells tagged projection|margin|discount_factor|pv|sensitivity per xlsx_audit output. If failed: If hardcoded_count > 0: per the hardcode gate, refuse delivery. Bounce back to analytical-subagent ONCE with audit report.
  5. **calculation arc cross-validation **: cross-statement balancing verified against gold.xbrl_calculations weights — the DCF free-cash-flow projection and income statement structure MUST align with the filer's reported concept hierarchy. Call get_statement_structure/{ticker}?statement_type=income_statement&include_calculations=true. Flag discrepancies ≥1% as audit findings. If failed: If material discrepancy (≥1%): flag in audit findings, refuse delivery for discrepancies ≥5%. Tool-diversity is also tracked here: distinct MCP tools used MUST be ≥ min_tool_diversity (5); below that, flag as depth-insufficient in Coverage Gaps (a quality signal, not a delivery blocker).

Tool Fallbacks

Per-tool failure modes and fallback actions are tabulated in references/tool-fallbacks.md.

Output File

Write the final deliverable to {ticker}/{YYYY-MM-DD_HHMM}_dcf_{affix}.md .

Output Structure

The deliverable is a structured markdown report written to the path in ## Output File. Full section-by-section template (headings, tables, and field definitions) lives in references/output-structure.md. Required elements:

  1. Executive Summary — headline conclusions (≤200 words).
  2. Core analysis sections — per this skill's methodology and analyst modes.
  3. Data classification — tag findings [FACT] / [DEDUCTED] / [VIEW] per contracts/snapshot-synthesis.md.
  4. Coverage Gaps & Citations — inline /v/ citations are PRIMARY (immediately after each fact); the bottom Citations section is a non-duplicative roll-up index.
  5. Output frontmatter — emit the FR-090 structured block per contracts/output-frontmatter-schema.md.

Citations & memory: follow contracts/citation-and-memory.md — ≥1 citation per 200 words; every material fact, table row, and metric is immediately followed by its inline clickable https://agentii.ai/v/{ticker}/{citation_id}/{N} link; a bottom Citations section provides a non-duplicative roll-up index; the closing TUI reply includes a compact Key Citations list (headline 5–10 facts) of clickable /v/ URLs; and append the run to agentii.md per contracts/agentii-md-schema.md.

Memory & Snapshot

  • Memory load (pre-flight): load prior workspace context for the ticker before retrieval — see contracts/memory-load.md.
  • Structured output frontmatter: emit the FR-090 block (key_metrics, conclusions, facts_count, deducted_count, views_count, citation_count) per contracts/output-frontmatter-schema.md.
  • Snapshot synthesis: after writing the deliverable, update the two-tier snapshot and classify findings as [FACT]/[DEDUCTED]/[VIEW] — see contracts/snapshot-synthesis.md.
  • Session archival: record the run under sessions/{YYYY-MM-DD}/ and update sessions/INDEX.md per contracts/session-format.md.

Final Summary (TUI)

End the closing chat reply with a compact Key Citations list (headline 5–10 facts), each a clickable https://agentii.ai/v/{ticker}/{citation_id}/{N} link, so the user can cmd+click straight to the exact SEC page. See contracts/citation-and-memory.md.

Error Handling

Failure ModeDetectionActionUser-Facing Message
Missing dataData API returns empty result setWiden date range and retry once"No data available for {ticker} in requested window."
Partial dataData API returns <80% expected recordsProceed with coverage gaps section"Analysis based on partial data; see Coverage Gaps section."
Sector mismatchPeer sector != target sectorFilter out mismatched peers"Removed {n} peer(s) due to sector mismatch."
Insufficient historyTicker <3 years on public marketsDowngrade to limited-history profile"Limited historical data; analysis adjusted accordingly."
MCP unreachablePreflight probe failsHalt with actionable error"agentii data plane unreachable; check connection."

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.