Prima Get an API key

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)