Borrowing it
Nothing to install: this file belongs to audrey-560/bookkeeper-starter. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/audrey-560/bookkeeper-starter/main/.claude/skills/invoice/SKILL.mdgit clone --depth 1 https://github.com/audrey-560/bookkeeper-starterWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/audrey-560/bookkeeper-starter/invoice)<a href="https://agentmods.dev/skills/audrey-560/bookkeeper-starter/invoice"><img src="https://agentmods.dev/badge/skills/audrey-560/bookkeeper-starter/invoice/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/audrey-560/bookkeeper-starter/invoice"><img src="https://agentmods.dev/badge/skills/audrey-560/bookkeeper-starter/invoice.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00070 | $0.01104 |
| Opus 5 | $0.00035 | $0.00552 |
| Sonnet 5 | $0.00014 | $0.00221 |
| Haiku 4.5 | $0.00007 | $0.00110 |
Grade A, and why
invoice scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Invoice
Runs the full bookkeeper invoice workflow with a customer-registry layer on top so an existing client's billing details are auto-filled. User-invoked only — every run writes to Google Sheets and Drive and posts a journal entry, so pause for confirmation before each cloud write.
The tool commands and their exact flags live in the source-of-truth workflow:
workflows/generate_invoice.md. This skill adds customer resolution + confirmation
gates around those 6 steps. Do not re-derive the flags — read that workflow.
Step 0 — Enter the project
cd /path/to/bookkeeper
All paths below are relative to this directory. Tenant: the books belong to a
bookkeeper client under clients/ — default sandbox-demo. If the user says the invoice is
for a different client's books (--for <slug> or by context), append
--client <slug> to EVERY tool command below; the registry is then that client's
clients/<slug>/customers.json. Business identity, remittance details, tax rule, and
invoice numbering all come from that client's profile automatically.
Step 1 — Resolve the customer
The argument $1 is the client name (may be partial, e.g. /invoice Acme). If no
argument, ask who the invoice is for.
- Read
tools/customers.json. - Case-insensitively match
$1againstclient_name/ keys (substring match is fine).- One match → show the stored
client_name,client_address,currency,is_canadian_client,default_payment_terms. Ask the user to confirm or edit. If the address is blank, collect it now. - Multiple matches → list them, ask which one.
- No match → new client. Collect
client_name,client_address,currency(CAD/USD), andis_canadian_client(drives HST). Remember this is new — you'll offer to save it in Step 5.
- One match → show the stored
Never silently overwrite a stored address — if the user changes it, confirm before saving.
Step 2 — Collect the invoice line items
Ask for the remaining inputs (see the input table in workflows/generate_invoice.md):
services (description + amount per line), invoice_date (default today,
America/Toronto), payment_terms (default the client's stored terms), optional
due_date / notes. Currency and HST flag come from Step 1.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 89 lines · 0 tokens per session scan A 3afb9f9c056e
invoice is a skill published in the GitHub repository audrey-560/bookkeeper-starter (13 stars, last pushed 1mo ago), licensed MIT. It adds 70 tokens to every session and 1,104 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
cwicr-report-generator
Generate professional cost estimation reports from CWICR calculations. HTML, PDF, Excel outputs with charts and breakdowns.
procesar-mis-estados-de-cuenta
Proceso un lote de estados de cuenta bancarios y de tarjeta de crédito en PDF o CSV de principio a fin: extraigo cada transacción (subagentes Haiku en paralelo), normalizo los nombres de las contrapartes, categorizo contra tu plan de cuentas bloqueado (subagentes Sonnet en paralelo), detecto transferencias entre…
jangbu-import
A data-import workflow for turning bank files, card records, spreadsheets, receipts, tax invoices, and statement PDFs into a standard set of 13 transaction fields. OCR, or optical character recognition, is used to read information from document images and PDFs.
receipts-to-expenses
Read a batch of receipt images directly via vision, classify each into expense categories, optionally reconcile against a bank statement CSV, and produce a multi-sheet Excel workbook + a PDF summary. Use when given receipt photos and asked for an expense report.
investment-due-diligence-report
A tool for preparing investment due-diligence reports from sources such as spreadsheets, PDFs, and written materials. Due diligence is the research used to assess a potential investment.
prior-provider-worker-migration
Set up a company's workers in Check from any prior payroll provider's worker report. Accepts CSV, XLS, XLSX, or PDF reports and auto-detects the format — whether it's a tabular spreadsheet, a multi-line cell layout, or a PDF employee details report. Parses workplaces and worker data (employees and/or contractors)…