A public Claude skill from Rehearsal AI.
A five-layer recipe that turns a monthly credit card or bank statement PDF into reimbursement-ready CSVs — categorized, totaled, marked-up, taxed, bill-to blocks attached, and self-verified before it ever reaches you.
You define the buckets, the merchant rules, the markup %, the tax %, and the bill-to blocks once. The recipe runs the same way every month after.
User-scope (available across all your Claude Code projects):
mkdir -p ~/.claude/skills/closebook && \
curl -o ~/.claude/skills/closebook/SKILL.md \
https://closebook-two.vercel.app/SKILL.mdProject-scope (only for the current project):
mkdir -p .claude/skills/closebook && \
curl -o .claude/skills/closebook/SKILL.md \
https://closebook-two.vercel.app/SKILL.mdThen, in any Claude Code session:
Process this statement with the closebook skill: path-to-statement.pdf
On first run the skill walks you through a one-time config wizard (buckets, merchant rules, markup %, tax %, bill-to blocks, exclusion list) and saves it to closebook-config.yaml in the working directory.
.
├── skill/
│ └── SKILL.md ← the skill itself (the deliverable)
├── landing/
│ ├── index.html ← Vercel-deployable landing page
│ ├── SKILL.md ← mirror, served as a static file by Vercel
│ └── vercel.json ← static config (markdown content-type, CORS, cache)
├── LICENSE ← MIT
└── README.md ← this file
cd landing
npx vercel --prodFollow the prompts. Vercel detects the static folder and deploys with zero config.
The live deployment is at https://closebook-two.vercel.app.
To attach a custom domain (e.g. closebook.yourdomain.com):
- Add the domain in the Vercel project settings.
- Add the matching DNS record at your domain registrar.
- Edit
landing/index.htmlandREADME.mdto swap the Vercel URL for your domain. - Commit and push — Vercel auto-redeploys from the GitHub integration.
Edit closebook/SKILL.md, then:
cp closebook/SKILL.md landing/SKILL.md # mirror to the landing folder
cd landing && npx vercel --prodskills.sh is the community marketplace for Claude skills. Check https://skills.sh for the current submission flow.
Metadata bundle (ready to paste):
| Field | Value |
|---|---|
| Name | closebook |
| Tagline | Turn a monthly statement PDF into reimbursement-ready CSVs. Self-verified. |
| Category | Finance / Productivity / Small Business |
| Tags | finance, accounting, monthly-close, expense-management, reimbursement, gst, invoicing, csv, pdf-parsing, india |
| Install URL | https://closebook-two.vercel.app/SKILL.md |
| Author | Rehearsal AI |
| License | MIT |
| Source | Link to this GitHub repo |
Install command (paste-and-run, suitable for the marketplace listing):
mkdir -p ~/.claude/skills/closebook && \
curl -o ~/.claude/skills/closebook/SKILL.md \
https://closebook-two.vercel.app/SKILL.mdThe skill does exactly five things, in order. Skip any one and you have a parlour trick. Build all five — especially the last — and you have a workflow you can run a monthly close on.
- Extract — parse the PDF, take every debit, drop every credit. Apply your exclusion list.
- Categorize — assign each row to one of your buckets via your merchant rules. Unmatched merchants prompt a confirmation and get remembered.
- Math — per bucket:
Reimbursement = sum,Markup = Reimbursement × markup_pct,Tax = Markup × tax_pct,Grand Total = Reimbursement + Markup + Tax. - Bill-to blocks — attach the legal name, address, and tax ID you supplied once. Never retyped.
- Self-verification — ten arithmetic + integrity checks run against the skill's own output before anything is shown to you. If any check fails, no CSV ships.
Read the full breakdown in closebook/SKILL.md.
- It does not categorize for you. You define the buckets and the merchant rules.
- It does not pick the markup. The markup is a business decision; you supply the number.
- It does not file invoices, send emails, or post journal entries. It produces clean CSVs that paste into whatever invoice or accounting software you use.
- It does not learn new exclusion rules without your approval. Every new merchant prompts a confirmation.
The decisions are yours. The typing is the skill's.
- Markup: 8% (configurable per business)
- Tax: 18% (India GST on services — set to 0 for non-tax jurisdictions, or any other number)
- Home currency: INR (configurable)
- Buckets: none — defined by you at first run
- Exclusion list: empty — grows as you tell the skill about rows it should drop
All of this lives in closebook-config.yaml in your working directory. Nothing is hard-coded into the skill. Nothing leaves your machine.
MIT — free to use, modify, and republish. See LICENSE.
If you ship an improvement, a PR is appreciated but not required.
Built by Rehearsal AI. Extracted from a real monthly-close workflow and verified for three months side-by-side against the manual workflow before the manual version was retired. No discrepancies in production runs after the switchover.