{"id":15853,"plugin_id":"Plugin_68c39ea2b3888191827c933053f3a1d1","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:12:10.158Z","digest":"b1a0ff71ed2143cd91b5da83e19bf4635e4494a7c221acff2167fa184ecea392","against":null,"payload":{"name":"three-statement-model-builder","description":"Use when building integrated three-statement operating model exports with linked IS, BS, CF, drivers, checks, scenarios, or formula templates.","included_files":[{"relative_path":".gitignore","size_in_bytes":82},{"relative_path":"agents/openai.yaml","size_in_bytes":329},{"relative_path":"assets/plan_template.json","size_in_bytes":3011},{"relative_path":"assets/plan_template_full","size_in_bytes":13325},{"relative_path":"assets/templates/banker_formula_workbook_template.xlsx","size_in_bytes":53786},{"relative_path":"references/banker-formula-workbook-contract.md","size_in_bytes":2425},{"relative_path":"references/forecast-judgment-guide.md","size_in_bytes":1127},{"relative_path":"references/industry-playbooks.md","size_in_bytes":1013},{"relative_path":"references/integrity-controls.md","size_in_bytes":1565},{"relative_path":"references/investment-banking-integrations.md","size_in_bytes":1141},{"relative_path":"references/model-architecture.md","size_in_bytes":996},{"relative_path":"references/model-math.md","size_in_bytes":1051},{"relative_path":"references/output-and-review.md","size_in_bytes":1838},{"relative_path":"references/output-spec.md","size_in_bytes":4209},{"relative_path":"references/plan-schema.md","size_in_bytes":2175},{"relative_path":"references/qa-checks.md","size_in_bytes":2448},{"relative_path":"scripts/build_banker_formula_workbook.py","size_in_bytes":619},{"relative_path":"scripts/build_banker_formula_workbook_runtime","size_in_bytes":37864},{"relative_path":"scripts/run_pipeline.py","size_in_bytes":598},{"relative_path":"scripts/run_pipeline_runtime","size_in_bytes":19083},{"relative_path":"scripts/runtime_loader.py","size_in_bytes":1104},{"relative_path":"scripts/skill_core.py","size_in_bytes":526},{"relative_path":"scripts/skill_core_runtime","size_in_bytes":63451},{"relative_path":"scripts/validate_plan.py","size_in_bytes":593},{"relative_path":"scripts/validate_plan_runtime","size_in_bytes":19449}],"skill_md_contents":"---\nname: three-statement-model-builder\ndescription: Use when building integrated three-statement operating model exports with linked IS, BS, CF, drivers, checks, scenarios, or formula templates.\n---\n\n# Three Statement Model Builder\n\n## Skill Configuration\n\n### Common Skill Instructions\n\nMANDATORY: Before searching connectors, retrieving evidence, or drafting output, read and apply the shared runtime contract in `../investment-banking/SKILL.md## Cross-Skill Runtime Contract`. Then check the router skill map and `../../references/plugin-routing-playbook.md` for adjacent skills that should be sequenced with this workflow. Do not run user-context setup or inspection during ordinary workflow work; route only explicit saved-context, source-setup, onboarding, or automation-setup requests to `../user-context/SKILL.md`.\n\n## Relevant Dependency Categories\n\nThese are the source categories most likely to matter for this workflow. Use the router contract to resolve only the categories the task actually needs, prefer user-named sources first, and state any material source limitation.\n\n- `Models, Workbooks & Templates`\n- `Deal Materials`\n- `Market Data & Public Sources`\n\n## Deliverable Intake\n\nWhen this skill owns a new substantive user-facing artifact, before source gathering, analysis, modeling, or rendering load `../../references/deliverable-intake-policy.md` and perform its adaptive `request_user_input` preflight for materially unresolved preferences. When invoked as a downstream support step within an already scoped workflow, inherit resolved preferences and do not re-prompt.\n## Plugin Workflow Routing\n\nFor broad transaction workflow prompts, read `../../references/plugin-routing-playbook.md` before selecting or sequencing skills. Use this skill as lead only in the workflows named there; when acting as support, preserve validated handoff fields, source IDs, routing metadata, and the artifact hierarchy so the hero deliverable remains the banker-facing workbook, an explicitly requested standalone HTML companion, native deck/document, or clear first-read package.\n\nUse for linked IS, BS, CF, working capital, PP&E/D&A, debt, cash sweep, liquidity, covenants, scenarios, sensitivities, and checks. Do not use for audit, LBO, DCF/comps/merger, memo, or deck work.\n\n## Artifact Hierarchy\n\nFollow `../../references/artifact-manifest-standard.md` before returning generated files. For substantive three-statement modeling work, the normal hero deliverable is a polished banker-readable workbook with an insight-led first visible tab. Create a standalone HTML operating-model summary only when the user explicitly requests HTML or a narrative companion; the workbook remains the model source of truth. CSV, JSON, Markdown, run logs, manifests, model-citation ledgers, and handoff payloads are support artifacts unless the user explicitly asks for them. Final responses should lead with the hero deliverable, then companion deliverables, then support artifacts in one short sentence if useful.\n\n## Workflow\n1. Classify: template, partial-context screen, full financial package, deterministic export, formula workbook, or handoff.\n2. Read only needed references; usually `plan-schema.md`, `output-spec.md`, and integrations.\n3. Create or locate `plan.json`; preserve raw files, formulas, assumptions, and labels.\n4. Validate, run the requested export, read the run log, and build the first-read workbook view around operating drivers, cash conversion, liquidity, downside pressure, source posture, and open diligence.\n5. Keep calculation integrity and decision readiness separate: balance-sheet, cash and formula checks may be `OK` while source readiness remains `OPEN` or `screen-grade`.\n6. Render and visually inspect the workbook summary, driver/assumptions, scenario, statements, sources and checks tabs before reporting artifacts.\n7. Hard failures mean `not-decision-ready`. Placeholder- or analyst-assumption-driven conclusions mean open with `Screen-grade only; operating, liquidity, or covenant assumptions require validation.`\n\n## Sub-agent decomposition\n\nFor complex medium/large requests, use sub-agents where available; otherwise emulate the split as named workstreams. Suggested lanes: source support, historical normalization, operating drivers, balance sheet/cash flow, scenarios, and QA. Keep this skill as the lead: reconcile conflicts, source labels, assumptions, open items, final QA, and the user-facing answer.\n\n\n## Artifacts\n`deterministic_export`: write to the selected `--output-dir` (default `./output` from the caller's current working directory). The hero deliverable is `model.xlsx`, opening on a banker-readable `Cover`, `Executive Summary`, or `Dashboard` tab per `../../references/workbook-first-tab-standard.md`. Agent-facing support artifacts are `plan.json`, `run_log.json`, `model_citations.json`, and `manifest.json`. Write legacy `report.md` only when explicitly requested with `--write-report-md`.\n\n`banker_formula_workbook`: formula workbook plus separate run log, `model_citations.json`, and manifest; not arbitrary formula generation. Any renamed, restyled, or otherwise substituted human-deliverable workbook must receive a citation ledger generated against that exact workbook; do not present a deterministic-control ledger as evidence for a different hero workbook.\n\n## Validated Handoffs\n\n<!-- GENERATED: validated-handoffs START -->\n\nIntake validation:\n- From `cim-teardown`: require `cim_teardown_to_model_builder` and run `../../scripts/validate_handoff_payload.py cim_teardown_to_model_builder handoffs/cim_teardown_to_model_builder.json` before importing fields into this skill.\n\nUse `../../references/handoff-contracts.md` for canonical field names and shared evidence semantics. Add `--strict` before any model, deck, committee, lender, board, or client-circulation use so placeholders, empty arrays, and empty objects fail instead of becoming assumptions.\n\nHandoff payloads belong under `handoffs/` and must be listed in `manifest.json` as support or agent artifacts with `handoff_contract_name`, `schema_path`, `validator_status`, `validated_at`, and `consumer_skill`. They are never the hero deliverable unless the user explicitly asks for machine-readable output.\n\n<!-- GENERATED: validated-handoffs END -->\n## Script Map\n- `scripts/validate_plan.py path/to/plan.json`\n- `scripts/run_pipeline.py path/to/plan.json --output-dir output --print-report`\n- `scripts/build_banker_formula_workbook.py path/to/plan.json --output-dir output`\n- `scripts/*_runtime`: private engine internals; inspect only while debugging scripts.\n\n## Workbook Evidence Readiness\n\nThe workbook is the analytical source of truth. For senior, client, committee, board, lender, or external postures, every material input and derived output must be traceable through readable source/assumption notes and `model_citations` / `model_citations_path` records down to the delivered workbook sheet/cell or range where available.\n\nUnknown source IDs, missing hero-workbook cell provenance for headline revenue, EBITDA, FCF, liquidity or leverage outputs, unsupported financing or covenant inputs, unexplained working-capital or capex improvement, or citation records pointing to a different workbook than the delivered hero artifact are blocking readiness gaps. Fix them, cap posture at `screen-grade`, or surface them explicitly; do not call a workbook senior/client/committee/board/external-ready while they remain.\n\nThe first visible tab must clearly distinguish `Calculation integrity` from `Decision readiness`; do not leave that distinction only on a later checks sheet. A model may balance and pass formula checks while still being only an internal screen because operating assumptions, inventory/capex diligence, debt capacity, revolver availability, or covenant definitions are unresolved.\n\nFor public-source strategic alternatives work, make the operating driver bridge, cash conversion, leverage or liquidity trajectory, and linked downside pressure visible in the first-read view. If debt documents or covenant definitions are not provided, label any cash sweep, debt draw, headroom, or minimum-cash construct as illustrative and do not show an unqualified overall `OK`.\n\nBefore delivery, visually inspect the first visible tab, driver/control view, scenario view, statement schedules, sources/readiness view, and checks view. Search all visible status labels, including `Model status`, `Overall`, `QA posture`, `Calculation integrity`, and `Decision readiness`; no sheet may display an unqualified overall `OK` when decision readiness is `screen-grade`, `partial`, or `not-decision-ready`. Keep mechanical outcomes under `Calculation integrity` and make the reliance posture consistent with the first-read summary. Record formula-error scan outcomes as an explicit result or match count in the run log rather than referring only to transient console output.\n\n## Optional HTML Companion\n\nWhen the user explicitly requests an HTML report or visual operating-model summary, keep this skill as the analytical owner and produce a polished standalone HTML companion following `../../references/html-artifact-standard.md`. Do not route an ordinary three-statement-model HTML summary through `dashboard-builder`, create a dashboard render contract, or force workbook-derived operating and liquidity findings into fixed dashboard modules.\n\nIn that HTML companion, cite workbook-derived financial-statement, ratio, scenario, liquidity and forecast outputs to exact cells/ranges in the delivered workbook through `model_citations` or `model_citations_path` wherever available. Do not collapse model outputs to a generic `model-output` citation when the workbook location is known. Render and visually inspect local HTML with local headless-browser screenshots, not the in-app Browser plugin, before delivery.\n\nDo not expose raw JSON, Markdown report files, model-citation ledgers, or run logs as the default final artifact.\n\n## Deliverable Format Standard\n\nFollow `../../references/deliverable-format-policy.md` before creating files. Always identify the hero deliverable first: XLSX workbook, HTML report, HTML dashboard, native deck/document, generated folder, or justified chat-only answer. Do not create Markdown report files as the default rich deliverable. Do not present JSON contracts, manifests, run logs, or handoff payloads as the main user-facing output. Keep CSV files as backing ledgers/import layers unless the user explicitly asks for CSV, and explain whether each CSV contains new analysis or only support data.\n\nFinal responses should point the user to the hero deliverable first and then briefly explain any supporting artifacts.\n\n## Reference Map\n- `../../references/workbook-first-tab-standard.md`: required first-read workbook decision view.\n- `../../references/html-artifact-standard.md`: optional standalone HTML companion and visual QA standard.\n- `plan-schema.md`, `output-spec.md`, `banker-formula-workbook-contract.md`: contracts.\n- `model-math.md`, `model-architecture.md`, `forecast-judgment-guide.md`: mechanics.\n- `integrity-controls.md`, `industry-playbooks.md`, `output-and-review.md`, `qa-checks.md`: review.\n\n## Runtime Artifact Path\n\nDefault deterministic outputs are `model.xlsx`, `manifest.json`, `run_log.json`, and `model_citations.json`; formula mode emits `banker_formula_workbook.xlsx` with the same shared manifest and citation ledger. The workbook is the primary human deliverable and must open on `Cover`, `Executive Summary`, or `Dashboard`. Run logs, plans, and `model_citations.json` are support artifacts; any narrative companion must cite statement, ratio, scenario, forecast, liquidity and leverage outputs through records that point to the exact delivered workbook. Senior-ready status requires source-backed operating assumptions, workbook/cell provenance, checks, and no unresolved liquidity or covenant evidence gaps.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}