Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/erikvankempen/bukio-cli/bukio-clinpx skills add erikvankempen/bukio-cli --skill bukio-cligit clone --depth 1 https://github.com/erikvankempen/bukio-cliWrote 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/erikvankempen/bukio-cli/bukio-cli)<a href="https://agentmods.dev/skills/erikvankempen/bukio-cli/bukio-cli"><img src="https://agentmods.dev/badge/skills/erikvankempen/bukio-cli/bukio-cli.svg" alt="Measured on agentmods" 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 | $0.00032 | $0.01203 |
| Opus 5 | $0.00016 | $0.00602 |
| Sonnet 5 | $0.00006 | $0.00241 |
| Haiku 4.5 | $0.00003 | $0.00120 |
Grade A, and why
bukio-cli 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 3d 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 — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
bukio-cli — agent workflow
Full manual: AGENTS.md (house rules, JSON contracts, account codes, error codes,
anti-patterns). This skill is the agent-facing workflow for the two things
you'll do most: booking documents and keeping the books verifiable.
When to use
- User sends an invoice PDF/photo/scan: "book this", "hoe boek ik dit?"
- Register an inkoopfactuur (purchase) or verkoopfactuur (sale)
- Month-end: bank import → match → VAT readout, or the
month-endclose check - Any mutation of the ledger (entry, reversal, VAT, assets, payables)
Environment
| What | How |
|---|---|
| DB | --db <path> or BUKIO_DB (default ~/.bukio/bukio.db) |
| Actor | --actor '<role>:<name>' or BUKIO_ACTOR — required (e.g. agent:bartholomeus) |
| JSON | --json on every command; exit 0 = success, 1 = failure |
| Verify | after any mutation: bukio report trial-balance --json → data.balanced === true |
House rules (non-negotiable): dry-run every mutation first · never touch the SQLite file directly · never delete posted entries (reverse instead) · money is integer cents · archive every source document (see below).
Booking an invoice (the core loop)
- Extract — read the invoice text (OCR for scans/images). Recompute the
VAT:
vat = round(net × rate)per rate,gross = net + vat. If the stated VAT differs beyond rounding, STOP and ask. - Map — account from the chart (defaults: 4000 goods, 4340 software/SaaS,
4300 kantoor/general, 4310 accountant, 4320 insurance, 1800 equipment
€450, 4500 bank charges; sales → 8000/8100), VAT code (21/9/0/V/R/RE/marge), counter leg (1100 bank if paid, 2000 crediteuren if unpaid, 1200 debiteuren for sales).
- Book — VAT module on →
bukio vat book --postings "4300:100.00@21,1100:-121.00" --post(never hand-build VAT legs withentry add). VAT off/KOR → gross to the expense account, no VAT legs. Always--dry-runfirst, always--actor. - Archive the original (mandatory) — before finishing:
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.
- 3d ago First seen · 90 lines · 32 tokens per session scan A f706fe9f41bf
bukio-cli is a skill published in the GitHub repository erikvankempen/bukio-cli (1 stars, last pushed 10d ago), licensed Apache-2.0. It adds 32 tokens to every session and 1,203 once invoked, about $0.0002 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-31.
Other skills, from other repositories
bookkeeping
Use when a small business needs audit-ready books — a chart of accounts, posting a transaction to the right account and side, clearing an uncategorized bank feed, cash vs accrual, or a ledger that won't tie to the bank. NOT interpreting the numbers — runway, burn, P&L cadence (that is finance-ops), NOT issuing…
countbean-accounting
Rules for writing correct double-entry Beancount transactions when managing a Countbean cloud book — account naming, how to balance postings, categorisation, and safe ingestion. Use whenever recording, importing, or correcting financial data in a Countbean book.
ledger
Use for ANY monetary, accounting, ledger, journal, balance, P&L, fee, FX, invoice, tax, cost-basis, or valuation work. Exact Money.from (never floats or parseFloat), double-entry via JournalEntry + validateEntry + Ledger.apply, MCP moneycompute / ledgerpost, canon citations, Zero-Skip + Canonical Financial Artifact.…
ledger-audit
Whole-repo financial audit. Use for ledger-audit, financial audit, or /ledger-audit. Scan for non-kernel money math, reconstruct flows as JournalEntry sequences, prove with validateEntry + Ledger.apply + runTrace + auditHash.
ledger-verify
Verify a diff, file, or snippet against ledger invariants. Use when asked to ledger-verify, check for floats, find unbalanced entries, prove a journal, or before committing money code. Enforces Money.from, validateEntry, Ledger.apply, citations. CLI: npx ledger-verify --scan .
ledger-cite
Look up IFRS/GAAP citations from the ledger knowledge graph. Use for ledger-cite, "what's the IFRS rule for", "GAAP citation", revenue recognition, leases, cost basis, or /ledger-cite. Never invent a standard paragraph.