agentleFS
localoy-ailocaloy-ai/localstack/reconcile/SKILL.md

reconcile

Skill2 starsChanged 41 days agoMITView on GitHub

Matches invoices, payments and bank or platform exports in the CSV or XLSX files the person points at — three checks (totals, duplicates, missing) — and lists every mismatch line by line. Never guesses a number; never edits the source files. (localstack)

24 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use close, brief and 6 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • HermeticOrmusSkill

    close

    End-of-session ritual. Captures session state, updates auto-memory, writes a session summary, then exits the session cleanly.

    Also in 3 projects that use this

  • AnthropicSkill

    brief

    Generate contextual briefings for legal work — daily summary, topic research, or incident response. Use when starting your day and need a scan of legal-relevant items across email, calendar, and contracts, when researching a specific legal question across internal sources, or when a developing situation (data breach, litigation threat, regulatory inquiry) needs rapid context.

    Also in 3 projects that use this

  • renatorozasSkill

    grill

    Adversarial code review. Don't let me ship until the changes pass your scrutiny.

    Also in 3 projects that use this

  • AnthropicSkill

    start

    Set up your bio-research environment and explore available tools. Use when first getting oriented with the plugin, checking which literature, drug-discovery, or visualization MCP servers are connected, or surveying available analysis skills before starting a new project.

    Also in 3 projects that use this

  • nicolasestremSkill

    brainstorm

    Structured idea generation and solution exploration with systematic analysis.

    Also in 3 projects that use this

  • AWSSkill

    ship

    Finalize dev work on an issue branch — update docs, push, and open a PR.

    Also in 3 projects that use this

  • +1 more from anthropics

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 19 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Numbers come from the files: Every amount, date and id in the output is copied from a named file and row.

    line 43
  2. Distinctive:

    Source files are read-only: Never edit, sort in place, re-save or delete the person's files.

    line 47
  3. Distinctive:

    Ask for what is missing in a SINGLE message, then wait.

    line 64
  4. Very specific:

    Write it to .localstack/work/{date}-<slug>/inspect.md and show the person the columns you will use.

    line 70
  5. Distinctive:

    Every line in the output can be found by opening the named file at the named row.

    line 142

“Common” is measured: kept by at least 6 in 10 of the 19 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

When to invoke this skill

Lines up two or more money files — invoices against payments, a bank export against a sales export, a payout report against orders — and reports exactly what matches and what does not. Use when asked to "reconcile these", "match invoices to payments", "find what's missing". Zorp's skill; the monthly summary is /money-report.

The hard boundary

  • Numbers come from the files. Every amount, date and id in the output is copied from a named file and row. A cell that is blank, unreadable or ambiguous is reported as such — never filled, rounded into agreement, or "probably" anything.
  • Source files are read-only. Never edit, sort in place, re-save or delete the person's files. Working copies go in scratch.
  • Computed, not eyeballed. Totals and matches are computed by a script (python3, or bun/node, with csv/openpyxl or plain parsing) whose code is saved in scratch, so anyone can re-run it. If no script runtime is available, say so and stop rather than adding by eye.
  • No money moves. This skill never pays, refunds, chases or messages anyone; it reports.

What you need first

  • The files — paths to each CSV/XLSX (and which sheet).
  • What should match what — e.g. "every invoice should have a payment".
  • The match key, if the person knows it (invoice number, reference, amount + date). If not, propose one from the columns and confirm it.
  • The period, if the files cover more than one.

Ask for what is missing in a SINGLE message, then wait.

Procedure

1. Inspect. For each file: row count, column names, date format, number format (decimal comma? currency symbols? negatives in brackets?), currency. Write it to .localstack/work/{date}-<slug>/inspect.md and show the person the columns you will use. Slug: from the files' subject and period (stripe-vs-invoices-2026-09).

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. Normalise in scratch. Parse dates and amounts into a working copy; log every row that could not be parsed, with its file and row number. Mixed currencies are never converted — they are reconciled separately, or flagged.

3. Run the three checks.

  • Totals — each file's total for the period, and the difference. A difference is shown to the cent, never rounded away.
  • Duplicates — rows that repeat the key (or the same amount + date + counterparty) within one file, each listed.
  • Missing — keys on one side with no match on the other, both directions. Near-matches (same key, different amount; same amount, dates a few days apart) are listed as near match, never counted as matched.

4. Write reconcile-<slug>.md at the top of the working folder:

# Reconcile — <slug>
Updated: YYYY-MM-DD
Files: <file (sheet), rows, period> …
Match key: <key> · Script: .localstack/work/<run>/reconcile.py

## Totals
| File | Rows | Total | Currency |
Difference: <amount> (<file A> − <file B>)

## Duplicates
| File | Row | Key | Date | Amount |

## Missing
### In <A>, not in <B>
| Row | Key | Date | Amount | Counterparty |
### In <B>, not in <A>
…

## Near matches
| A row | B row | What differs |

## Could not read
| File | Row | Why |

An empty section says "none found", never disappears.

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-DD heading, 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 files, rows, matched / missing / duplicate / near counts and the totals difference. One TODO per missing or duplicate item the person must chase (- [ ] check <key> <amount> — <what> (reconcile <slug>)).

5. Report. The totals difference first, then counts per check, then where the line-by-line list is. Offer /money-report once the files agree.

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 line in the output can be found by opening the named file at the named row.
  • The difference in "Totals" equals the sum of what the other sections explain, or the gap is stated as unexplained.
  • Zero edited source files, zero guessed numbers.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.