# 3 Statements

Build or repair an integrated three-statement model: linked IS, BS and CF, supporting...

- Repository: https://github.com/ginlix-ai/LangAlpha (2232 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ginlix-ai/LangAlpha --skill 3-statements -g -a claude-code -y`
Codex: `npx skills add ginlix-ai/LangAlpha --skill 3-statements -g -a codex -y`
Cursor: `npx skills add ginlix-ai/LangAlpha --skill 3-statements -g -a cursor -y`
Gemini CLI: `npx skills add ginlix-ai/LangAlpha --skill 3-statements -g -a gemini-cli -y`

## Description

Build or repair an integrated three-statement model: linked IS, BS and CF, supporting schedules, scenarios and a Checks sheet. Triggers on three-statement model, build me a model, link the statements, populate this template, make my balance sheet balance.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Three-Statement Model

An integrated model is two artifacts sharing one workbook: a faithful transcription of what the company reported, and a forecast that is a set of arguments. The seam between them is the most important line in the file, and most of the rules below exist to keep it visible.

Evidence labels, source tiers, staleness, the readiness posture and the intake limits: `.agents/skills/research-conventions/SKILL.md`, read before the first figure enters the workbook.

- Fiscal period labels, per-company LTM windows, and rate against level changes: `.agents/skills/research-conventions/references/market-data-rules.md`.
- A filing label does not match a model row, or a subtotal will not tie to its components: `.agents/skills/3-statements/references/line-items.md`.
- The template needs data pulled out of a 10-K or 10-Q: `.agents/skills/3-statements/references/sec-filings.md`.
- Writing a linkage, a roll-forward or a schedule formula: `.agents/skills/3-statements/references/formulas.md`.
- Formatting a sheet the user will read: `.agents/skills/3-statements/references/formatting.md`.
- Designing a scenario set or a sensitivity grid: the weak-design catalogue under *Step 10: Scenarios and Sensitivities* in `.agents/skills/dcf-model/SKILL.md` applies here unchanged.

## Critical Principles

**Formulas, not hardcoded values.** Every projection cell, roll-forward, linkage and subtotal is a live Excel formula, never a value computed in Python and written in. With openpyxl, `ws["D15"] = "=D14*(1+Assumptions!$B$5)"` is correct and `ws["D15"] = 12500.0` is not. The only cells holding typed numbers are historical actuals and the driver assumptions on the control panel. A hardcode does not just freeze one number: it breaks every downstream integrity check silently, because the check still evaluates and still reads OK.

The rest: https://github.com/ginlix-ai/LangAlpha/blob/HEAD/plugins/langalpha_research/skills/3-statements/SKILL.md
