money-report
Skill2 starsChanged 41 days agoMITView on GitHub
A monthly money summary from the CSV or XLSX files the person points at — money in, money out, what is still owed, and what changed notably from last month — with every number taken from the files and traceable to them. (localstack)
In this repository24 other files it gives its agents.
- competitor-watchSkill
- fact-checkSkill
- file-tidySkill
- inbox-triageSkill
- keyword-researchSkill
- lead-draftSkill
- lead-exportSkill
- lead-planSkill
- lead-qualifySkill
- lead-reachSkill
- lead-retroSkill
- lead-searchSkill
- localstackSkill
- market-researchSkill
- on-page-optimizerSkill
- reconcileSkill
- routine-reportSkill
- routine-setupSkill
- seo-auditSkill
- setup-localbrainSkill
- social-planSkill
- social-postSkill
- support-faqSkill
- support-replySkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 44
Numbers only from the files: Every figure is computed from named files by a script saved in scratch.
- Very specific: line 53
Categories are the person's: Use the categories in the files or in DESIGN.md's ## Money categories.
- Very specific: line 63
Ask for what is missing in a SINGLE message, then wait.
- Distinctive: line 130
Every figure re-computes from the saved script and the named files.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
When to invoke this skill
Writes one month's money summary from the person's own exports — bank,
payment platform, invoices, expenses: what came in, what went out, what is
outstanding, and what moved notably against last month. Use when asked for "a
monthly money report", "how did we do this month", "who still owes us". Zorp's
skill; to check the files agree first, use /reconcile. To get it every
month, hand it to /routine-setup.
The hard boundary
- Numbers only from the files. Every figure is computed from named files
by a script saved in scratch. No figure from memory, from a previous chat,
or estimated to fill a gap. A month with no data for a category says
no data, not zero. - Not advice. The report says what the numbers are and what changed. It does not recommend investments, tax positions or financing; when asked, say plainly that is for an accountant or adviser.
- Read-only, no money moves. Source files are never edited; nothing is paid, invoiced or chased.
- Categories are the person's. Use the categories in the files or in
DESIGN.md's
## Money categories. Rows you would have to guess a category for go underuncategorised, listed — never silently sorted.
What you need first
- The files for the month (and last month's, for the comparison).
- The month — default: the last full calendar month.
- Which file is the truth for cash — usually the bank export.
Ask for what is missing in a SINGLE message, then wait. If /reconcile found
unexplained differences for this month, say so at the top of the report.
Procedure
1. Inspect each file as /reconcile does — columns, date and number
formats, currency, row count — and confirm which columns mean in, out and
outstanding.
Scratch for this run lives in .localstack/work/{date}-{slug}/ — hidden, one directory per run, so a new run never clobbers an earlier one and the folder's top level stays the standard files. Scratch is disposable; old run directories may be deleted freely.
2. Compute in a script (.localstack/work/{date}-money-<yyyy-mm>/report.py,
or the bun/node equivalent): totals in and out by category, net, outstanding
invoices (issued, unpaid by month end — from the invoice file's status or
payment match), and the same figures for last month when its files are
given. Mixed currencies are reported separately, never converted.
3. Find what is notable — only from the numbers: a category up or down by a large share against last month, a new largest customer or supplier, an invoice outstanding longer than 30 days, a one-off large payment. Each names its rows.
4. Write money-<yyyy-mm>.md at the top of the working folder:
# Money — <Month YYYY>
Updated: YYYY-MM-DD
Files: <file, rows, period> … · Script: .localstack/work/<run>/report.py
## In
| Category | This month | Last month | Change |
## Out
| Category | This month | Last month | Change |
Net: <amount>
## Outstanding
| Invoice | Customer | Issued | Amount | Days open |
## Notable
- <what> — <amount> — rows: <file:row, …>
## Not covered
- <category or file missing, rows uncategorised, anything unreadable>Standard files. This folder is kept in files any agent already reads. Update them in place; never scatter output into new folders.
- AGENTS.md — create it if missing. localstack owns only the block between
<!-- localstack:start -->and<!-- localstack:end -->; rewrite that block, never anything outside it. The block says what this folder is for, the rules (drafts only; nothing is sent without the user's explicit yes, one message at a time; no invented facts), a map of the files below, and one line per topic (its PLAN, its lead count, the next unticked step) and per report (its file and date). - CHANGELOG.md — create it if missing (
# Changelog). Add one bullet for this run under today's## YYYY-MM-DDheading, newest date first: the skill, the topic, and the counts or outcome (e.g.- lead-search austin-dentists: 18 found, 3 skipped as already contacted). - TODOS.md — create it if missing (
# TODOs). Add each open next action as- [ ] <action> (<topic>); tick items this run finished; never delete lines. - DESIGN.md — decisions meant to last (positioning, tone, channels to use or avoid). Read it before writing anything a person will see; add to it only when the user states or approves a decision.
For this step: the CHANGELOG line gives the month, in, out, net and the
outstanding total. One TODO per invoice open over 30 days (- [ ] chase
<invoice> <customer> <amount> (money <yyyy-mm>)) — the chase itself is the
person's, or a draft with its own yes.
5. Report. In / out / net / outstanding in one line each, then the
notable items. Offer /routine-setup to produce it every month.
Completion status. End the chat report with one of:
- DONE — completed, with the evidence named (files written, counts, URLs).
- DONE_WITH_CONCERNS — completed, and list each concern.
- BLOCKED — cannot proceed; say what blocked it and what was tried.
- NEEDS_CONTEXT — missing information; say exactly what is needed.
Quality bar
- Every figure re-computes from the saved script and the named files.
no dataanduncategorisedare visible, never folded into a total.- A short true report beats a polished one with one invented number.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

