Primacode
Skill: banking-mode
Sector rules for when the codebase in front of you is itself the ledger.
Live Built and working today on the surface this card describes.
What it does
Its own description: use for a licensed bank, a deposit-taking institution, a payment switch, or a core banking system where this codebase moves or records money as the system of record. If money data is handled but the authoritative ledger lives in another system, finance-mode is the one.
It sets what must be true before a change lands: ledger entries append-only, every money-moving operation idempotent, debits and credits balancing with something that actually checks, dual control on anything irreversible, an audit trail the writing application cannot edit, money held in integer minor units rather than a float, and rounding specified at one documented point.
A mutating write to a ledger table is a confirmed finding regardless of how carefully it is guarded. A double-entry invariant that is never asserted is a comment.
It reports in the compliance skill's format, and adds one line at the top: ledger impact, yes, no, or unverified. If it is yes, nothing else in the report matters until a person has reviewed that.
Inputs and outputs
| Input | A change to a system that is the system of record for money. |
|---|---|
| Output | Compliance-style Risk, How, Recommendation blocks, with unverified first, under a Ledger impact: line. |
Ledger impact: | yes · no · unverified. |
| Verdicts | confirmed checked and the risk is real, and say what you read · refuted checked and it does not apply here, and say why not · unverified could not be determined, and say what would settle it. |
Configuration
| How it is chosen | By name, or by the model matching the description this card opens with. That description is the routing rule, and it is what decides which of the nine runs. |
|---|---|
| Where it lives | Embedded in the binary as <name>/SKILL.md, on the branch that ships it. The same file is what the published catalog serves, so there is one copy in one layout. The catalog itself is built and verified and not yet uploaded to the portal. |
PRIMACODE_SKILLS_URL | Points the tool at a catalog of skills. Leave it alone unless you are serving a separate catalog. The nine that ship in the binary are already loaded without it. |
Limits
- Not for e-commerce checkout that hands off to a payment provider. That is finance-mode.
- It is a sector overlay on the compliance skill, not a replacement for it: the output format, the verdicts and the unverified-first rule all come from there.
- Do not point the tool at the published catalog for these nine. The binary already embeds them, and the loader keys skills by name: a duplicate logs a warning and silently replaces rather than merging.
Example
the line that goes above everything else
Ledger impact: yes | no | unverified Source of truth
primacode/.opencode/skills/banking-mode/SKILL.md (the checked-out copy; on branch `claim-event-model` the same file is embedded at packages/core/src/plugin/skill/primacode/banking-mode/SKILL.md, which is what a released binary carries)philosophers_stone/platform/primacode.md § Status (the nine skills ship in the binary, 2026-08-27)