Skip to content

← back

Financial Reporting Skills

Claude skills for deterministic financial reporting

What it does

  • You type /fixed-assets in Claude Code and the skill walks you through capitalizing a new asset, generating a depreciation schedule for the period (straight-line, partial-period proration handled), or recording a disposal with the gain/loss math and the matching journal entries.
  • You type /investments and the skill walks the securities lifecycle: record a purchase, run a period-end mark-to-market with AFS-vs-Trading classification routing the unrealized gain to OCI or P&L correctly, or record a sale with a clean realized G/L rollforward.
  • You can also skip the slash command and just describe what you want in plain English ("capitalize a Dell laptop purchased Jan 15 for $1,850"), and the orchestrator picks the right skill and runs it.
  • Every operation outputs a CSV (drops straight into accounting software) AND an XLSX with working Excel formulas so an auditor can foot the workpaper without re-running anything.

Why I built it

Anthropic released a Finance Skills plugin a few weeks after I built mine, and the comparison made the point for me. The plugin is a generic template with placeholder account codes, a perfectly fine starter. But the one-size-fits-all era is over. A generic template is a foundation, and your knowledge of the real workflow is what turns it into something you would actually use. I took a blank Skills template and built one that handles fixed assets end-to-end (capitalization to disposal, gain/loss math, pulling directly from source documents) because that is the workflow I lived. These are just files and instructions. You can open them, change them, make them yours. No feature request, no waiting, no code required.

How it works

/fixed-assetsuser types in Claude CodeClaude Code agentreads the skill, runs the steps.claude/skills/fixed-assets/SKILL.mdplain-english instructionswhen to capitalizehow to depreciatedisposal rules + journal mapreferences/account mappingsuseful-life tablesdepreciation conventionspolicy docsscripts/ (python)capitalize.pyrecalc.py (depreciation)dispose.pygenerate_journal.py../../lib/ (shared with every skill)accounts.py (Chart of Accounts, single source of truth)utils.py · xlsx_styles.pyCSVaccounting software importXLSXlive Excel formulas, auditable
A skill is just files and instructions. The agent reads SKILL.md to know what to do, calls the Python scripts to do the math, and pulls policies from references/. No orchestrator, no sub-agents, no inter-agent state. The whole point is that the rules live in plain English, where you can edit them.

What was hard

  • AFS vs. Trading routing is where general-purpose agents hallucinate most. Unrealized gains on AFS go to OCI, on Trading to P&L, but the same mark-to-market adjustment can be either depending on classification. The skill encodes the routing in the SKILL.md instructions and the Python recalc script so Claude does not have to re-derive it each run.
  • Partial-period depreciation has real accounting conventions (half-month, mid-quarter, mid-year) that LLMs confidently get wrong. The skill runs the math in Python and uses Claude only to pick the convention from the source documents and explain the result.
  • Realized vs. unrealized G/L rollforwards drift across periods if you let the model recompute history. The skill keeps a deterministic rollforward against the prior period's closing balances and refuses to reclassify prior-period results.
  • The whole approach was the lesson from AccounTech Buddy: stop asking one big agent to be smart about everything. Give one narrow skill one workflow, write the rules down in plain English in SKILL.md, and let deterministic Python carry the math. The agent reads the contract instead of guessing it.

Outcome

  • For each operation: a CSV ready for accounting software import (per-line journal entries) AND an XLSX with live Excel formulas so a reviewer can re-foot the workpaper without re-running the skill.
  • fixed-assets: a depreciation schedule with method, convention, monthly expense, accumulated depreciation, and net carrying value per period.
  • investments: a realized-vs-unrealized G/L rollforward and an AFS-vs-Trading classification report tied to source documents.
  • Source: muggl3mind/Financial-Reporting-Skills. Open it, change the Chart of Accounts in lib/accounts.py to match your GL, and the skills work against your data.

Tech

Claude SDK · Model Context Protocol · Python