Kumu / Corporate Finance / Stage 6
Stage 6 — Modify the DCF Skill
dcf-model skill, a run brief, and an annotated diff
GitHub only — no upload fallback
What is the company worth? A company is worth the present value of the cash it will free, discounted at what its capital costs today. You will not build the discounted-cash-flow (DCF) model from scratch, and you will not trust one built for you. You start from a published, professional DCF skill, written for a U.S. company in U.S. dollars, and make it fit your company: one workbook of named ranges, in its own currency.
Why the diff is the spec
At Stage 4 you wrote a spec from a blank page. Here the spec is a diff against a working professional skill. Almost every edit you will need is a valuation concept — the tax rate, a discount rate in the right currency, the bounds on terminal growth, what belongs in free cash flow, the bridge from enterprise value to the value of a share. Fixing the skill is the finance. The annotated diff is where you show you understood each change rather than accepted one.
The moves
- Copy two skills in, unmodified.
dcf-modelandaudit-xls, from a pinned upstream commit, each with itsLICENSE, committed alone. That commit is your baseline. - Read the skill against your workbook. For each instruction ask: does this hold for my company, in my currency, from my workbook?
- Edit
dcf-model/SKILL.md. Commit in meaningful pieces, with a change notice under the frontmatter. Do not modifyaudit-xls. - Write the run brief at
capabilities/valuation/spec.md, plus a shortcapabilities/valuation/README.md. - Annotate every hunk of your diff in
analysis/YYYY-MM-DD-{company-slug}-dcf-skill-diff-analysis.md.
Step 1 — the baseline commit
The upstream repository is pinned to one commit so every student's baseline is the same file.
Use the files from the pinned commit, not the repository's current main.
dcf-model: pinned folderaudit-xls: pinned folder- Apache 2.0 LICENSE (it sits at the upstream repository root)
Copy the whole dcf-model folder (SKILL.md,
TROUBLESHOOTING.md, requirements.txt, scripts/) to
.claude/skills/dcf-model/, and the audit-xls folder to
.claude/skills/audit-xls/. Put a copy of the LICENSE in
each folder. Commit the two folders unchanged, on their own, with the message
Add dcf-model and audit-xls skills, unmodified.
On github.com
- Download the upstream repository at the pinned commit as a zip and unzip it on your computer.
- Inside, find
plugins/agent-plugins/model-builder/skills/. Copy the repository's rootLICENSEfile into bothdcf-model/andaudit-xls/. - In your portfolio repo on github.com, open the
.claude/skills/folder (it exists since Stage 1) → Add file → Upload files → drag the two folders in → commit with the message above.
Or ask Claude Code / Codex
Open it in your repo folder and prompt:
Download https://github.com/anthropics/financial-services/archive/574ed3624aebd0418c7e96cd101262f30210ab26.zip
to a temporary folder outside this repo. Copy
plugins/agent-plugins/model-builder/skills/dcf-model/ to .claude/skills/dcf-model/
and plugins/agent-plugins/model-builder/skills/audit-xls/ to .claude/skills/audit-xls/,
unchanged, and copy the repository's root LICENSE into both folders.
Commit only those two folders, with the message
"Add dcf-model and audit-xls skills, unmodified". Change nothing else.
Show me the commit.
Step 2 — read the skill against your workbook
Read dcf-model/SKILL.md end to end with your Stage 3 workbook and the
performance-ratios skill open beside it. It is long. The table says where
to look and why it breaks. What to change it to is your call.
Area of SKILL.md | Why it breaks on your workbook |
|---|---|
| Data sources | Points at paid data connectors, web search and SEC filings. Your source is a workbook of named ranges plus market inputs you cite yourself. |
| Historical analysis | Wants three to five years of history. Your workbook has one income statement and two balance sheets. |
| Tax validation | The "typical" tax band is a U.S. band. Your company's statutory and effective rates may sit outside it, and the check then fails a correct model. |
| Risk-free rate and equity risk premium | Defaults to a U.S. Treasury yield and a U.S. premium. A U.S.-dollar rate discounting a local-currency cash flow mixes currencies. |
| Units and formats | Dollar formats and "$mm" labels. Your statements are in local currency at the scale on the Notes tab; share_price is in base units per share; shares_outstanding is in millions. |
| Free cash flow build | The skill builds operating profit after tax from EBIT. Your workbook also offers currentYear_after_tax_operating_income, which includes after-tax other income — interest earned on cash — which is not an operating cash flow. Decide which one the skill may use, and say so. |
| Equity bridge | Net debt, cash, minority interest. Total debt has a short-term and a long-term line; cash may include term deposits; non-controlling interest sits inside equity. Neither of the skill's own checks inspects the bridge line by line. |
| Capital-structure weights | Net-debt weights turn negative for a company with more cash than debt. The skill names the case and gives no rule. |
| Scenario layout and sensitivity tables | Two scenario layouts that cannot both hold, and a beta × risk-free-rate table that means little once the discount rate is set. Stage 8 needs a beta × terminal growth table. |
| Growth, discount-rate and terminal-growth bands | U.S. large-cap and U.S.-tech ranges, and a terminal growth cap tied to a U.S.-dollar risk-free rate. |
| Recalculation and validation | The skill tells the agent to run recalc.py, which is not included in the skill folder (and is written for Mac/Linux). The bundled validate_dcf.py looks for a sheet the skill tells the agent not to build. |
Change it, or defend it
You may decide an area is right for your company as published. That is a legitimate call — defend it in the annotated diff. An area you neither change nor defend is a gap.
Step 3 — edit the skill
Edit .claude/skills/dcf-model/SKILL.md in the github.com editor (open the file →
pencil icon), or with Claude Code / Codex. Commit in meaningful pieces — one area per commit is a
good rhythm — with messages that say what changed and why, such as
dcf-model: tax check uses statutory local rate, not the U.S. band.
- Every changed input traces to a source. A historical figure traces to a named
range in your workbook (
CASH_capex,CASH_working_capital_changeand the rest). A market input — a government bond yield, a risk premium, a beta — is a labeled assumption with a cited source. Write that rule into the skill: the agent never fetches and never invents. - Keep the license and say it changed. Apache 2.0 requires a modified file to
carry a notice that it was changed. Add one line directly under the
SKILL.mdfrontmatter, for example:> Modified by <your name> from anthropics/financial-services @ 574ed36 for a <currency> named-range workbook. Changes and reasons: analysis/YYYY-MM-DD-{company-slug}-dcf-skill-diff-analysis.md
If an AI helps you edit, it proposes and you decide. "The AI changed it" is not a reason in the annotated diff.
Step 4 — the run brief and the capability README
The Stage 7 session receives exactly three things: the modified skill, your workbook, and a
run brief. Write it now at capabilities/valuation/spec.md:
- One paragraph: the company, the workbook's path in your repo, the currency and scale, the
fiscal year, what the model must produce (value per share in the same unit as
share_price, and the sensitivity tables your memo needs), and where to save it (capabilities/valuation/model.xlsx). - A short list of the market inputs you have decided on, each with its value and cited source, or the rule the skill should apply where you have not.
Nothing in the brief may depend on the conversation you had while editing the skill — Stage 7's
session will not have it. Then add capabilities/valuation/README.md: four to six
sentences on what the capability is, what is in the folder, and which stage produces each file.
Step 5 — the annotated diff
Create analysis/YYYY-MM-DD-{company-slug}-dcf-skill-diff-analysis.md. Take the diff
of SKILL.md from your baseline commit to your last edit, and for every
hunk (each block of changed lines) write four lines:
| Line | What it holds |
|---|---|
| What the original assumed | Quote or paraphrase the original instruction. |
| Why that is wrong for this company | The finance, not the mechanics: currency, jurisdiction, reporting standard, capital structure. |
| What you changed it to | The new instruction, in one sentence. |
| What feeds it now | The named range, or the cited source for a market input. |
Then one short section, Areas left as published, for every area in the Step 2 table you decided not to change, with the reason it holds for your company. A hunk without a reason is not a modification, it is a guess.
Getting the diff
- On github.com: open your repo's commit history (the Commits
link above the file list) → click a commit → the page shows what changed, hunk by hunk. To see all
edits since the baseline at once, open
https://github.com/<you>/<your-repo>/compare/<baseline-sha>...main. - Or ask Claude Code / Codex:
Show the diff of .claude/skills/dcf-model/SKILL.md between the commit "Add dcf-model and audit-xls skills, unmodified" and HEAD, hunk by hunk. Do not change any files. - Optional, for git users:
git diff <baseline-sha> HEAD -- .claude/skills/dcf-model/SKILL.md
Log every AI session you used while editing in prompt-log.md at the repo root.
Submission checklist
- Baseline commit:
.claude/skills/dcf-model/and.claude/skills/audit-xls/exactly as published at the pinned commit, committed alone .claude/skills/dcf-model/SKILL.mdedited in one or more later commits, with the change notice under its frontmatter.claude/skills/dcf-model/LICENSEin place.claude/skills/audit-xls/SKILL.mdunchanged since the baseline.claude/skills/audit-xls/LICENSEin placecapabilities/valuation/README.mdcapabilities/valuation/spec.md— the run brief, standing aloneanalysis/YYYY-MM-DD-{company-slug}-dcf-skill-diff-analysis.mdcovering every hunk, plus the areas left as publishedprompt-log.mdupdated with the Stage 6 sessions
Rubric
The headings below are what the work is read for. Weights and due dates are in your course schedule.
| Criterion | Strong work looks like |
|---|---|
| Coverage of the skill's assumptions | Every area in the Step 2 table is either changed or defended as correct for this company |
| Traceability | Every changed input traces to a named range or a cited source; the skill tells the agent never to fetch or invent |
| Annotated diff | Every hunk carries all four lines; the reasons explain the finance, not just the edit |
| Run brief | Stands alone: a session with only the skill, the workbook and this brief has what it needs |
| License and commit hygiene | Baseline committed alone; LICENSE in both folders; change notice present; descriptive commit messages |
Tips
- Read before you edit. The first pass through
SKILL.mdis reading, with a list of every line that would not hold for your company. The edits come from the list. - Currency consistency is the thread. A local-currency cash flow takes a local-currency discount rate and a local-currency terminal growth rate. Most of the areas above are that one rule in different places.
- Fewer, sharper edits beat a rewrite. You are adapting a professional tool, not replacing it. A reviewer should still recognize the skill.
- Don't edit around a broken workbook. If an identity check from Stage 3 still fails, fix the workbook first. A skill tuned to a wrong number is wrong twice.