Kumu / Corporate Finance / Stage 6

Stage 6 — Modify the DCF Skill

Deliverable: a modified 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

  1. Copy two skills in, unmodified. dcf-model and audit-xls, from a pinned upstream commit, each with its LICENSE, committed alone. That commit is your baseline.
  2. Read the skill against your workbook. For each instruction ask: does this hold for my company, in my currency, from my workbook?
  3. Edit dcf-model/SKILL.md. Commit in meaningful pieces, with a change notice under the frontmatter. Do not modify audit-xls.
  4. Write the run brief at capabilities/valuation/spec.md, plus a short capabilities/valuation/README.md.
  5. 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.

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

  1. Download the upstream repository at the pinned commit as a zip and unzip it on your computer.
  2. Inside, find plugins/agent-plugins/model-builder/skills/. Copy the repository's root LICENSE file into both dcf-model/ and audit-xls/.
  3. 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.mdWhy it breaks on your workbook
Data sourcesPoints at paid data connectors, web search and SEC filings. Your source is a workbook of named ranges plus market inputs you cite yourself.
Historical analysisWants three to five years of history. Your workbook has one income statement and two balance sheets.
Tax validationThe "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 premiumDefaults 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 formatsDollar 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 buildThe 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 bridgeNet 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 weightsNet-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 tablesTwo 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 bandsU.S. large-cap and U.S.-tech ranges, and a terminal growth cap tied to a U.S.-dollar risk-free rate.
Recalculation and validationThe 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.

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:

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:

LineWhat it holds
What the original assumedQuote or paraphrase the original instruction.
Why that is wrong for this companyThe finance, not the mechanics: currency, jurisdiction, reporting standard, capital structure.
What you changed it toThe new instruction, in one sentence.
What feeds it nowThe 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

Log every AI session you used while editing in prompt-log.md at the repo root.

Submission checklist

Rubric

The headings below are what the work is read for. Weights and due dates are in your course schedule.

CriterionStrong work looks like
Coverage of the skill's assumptionsEvery area in the Step 2 table is either changed or defended as correct for this company
TraceabilityEvery changed input traces to a named range or a cited source; the skill tells the agent never to fetch or invent
Annotated diffEvery hunk carries all four lines; the reasons explain the finance, not just the edit
Run briefStands alone: a session with only the skill, the workbook and this brief has what it needs
License and commit hygieneBaseline committed alone; LICENSE in both folders; change notice present; descriptive commit messages

Tips

Check yourself