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 instructions/darecstowell/scratchboard/agents-mdgit clone --depth 1 https://github.com/darecstowell/scratchboardWhat 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.02279 | $0.02279 |
| Opus 5 | $0.01140 | $0.01140 |
| Sonnet 5 | $0.00456 | $0.00456 |
| Haiku 4.5 | $0.00228 | $0.00228 |
Grade A, and why
scratchboard AGENTS.md 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 2d 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 — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.
scratchboard
npx scratchboard renders the markdown tickets already in a repo as a kanban board, baked into
one self-contained HTML file. Read-only by choice: tickets are agent-driven, so the agent moves
the card.
The rules that bite
Zero dependencies, and the rule is the install graph of npx scratchboard. node:test and
node:assert only. The rule is the product, because an npx run that installs nothing is why
anyone tries this. A dependency that runs only during a bake breaks it too, because npx
installs it either way. npm test needs nothing installed, and a line under dependencies or
devDependencies in package.json is the tell that the rule broke. tools/guard.mjs holds the
line.
The lint and type tooling is the one hole, and it is written down rather than patched. npx
fetches those tools for the run at a pinned version, in CI and locally alike, and they are never
declared. The pin does not reach their own transitive dependencies, so the tooling runs unpinned
code in CI. It never reaches a user's install or a published board, which is why it is stated
here instead of fixed here.
The lockfile ticket owns the fix.
Node 18 is the floor. A version check failing on first contact is a bad first impression, so run the suite on 18 as well as current before calling a change done.
The payload is the contract. scan.mjs emits it, the browser renders it, and src/ui/ reads
nothing else. Adding a field is a change to both sides. src/ui/payload.mjs is the one reader:
normalizePayload holds every default and every type check, so board.js gets a payload it can
trust. test/ui-payload.test.mjs calls it, and the bake concatenates it ahead of the board
script, the same way it does the renderer.
A pure helper leaves board.js, because a test can call it. Nothing here runs a DOM, so a
helper that stays inside the board script can only be tested by a regular expression over its own
source. src/ui/board-render.mjs holds the data in and string out half of the view: the link
resolver, the group header, the columns, the cards, and the downstream walk. It touches no
document and no window, and every piece of state it needs comes in as a parameter.
test/ui-board-render.test.mjs calls it. board.js keeps the event wiring, and the bake
concatenates the module ahead of it. The three modules share one scope in the baked page, so a
name two of them declare is a syntax error in the browser rather than a red test.
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.
- 2d ago First seen · 170 lines · 2,279 tokens per session scan A af100ca5360b
scratchboard AGENTS.md is an instructions file published in the GitHub repository darecstowell/scratchboard (6 stars, last pushed 3d ago), licensed MIT. It adds 2,279 tokens to every session, about $0.0114 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 instructions, from other repositories
ii-agent AGENTS.md
Instructions for Intelligent-Internet/ii-agent, covering ii-agent contributor guide, quick start, repository map, mandatory rules and architecture.
intelligent-terminal rust.instructions.md
Concise Rust coding conventions for this repository.
Browser4 CLAUDE.md
Instructions for platonai/Browser4, covering browser4 — project context for claude, architecture, key dispatch chain (cli → browser), batch commands and e2e test structure.
nimbalyst AGENTS.md
AGENTS.md instructions for nimbalyst/nimbalyst: At the beginning of every AI session, read the root CLAUDE.md and any applicable package-level CLAUDE.md before taking actions.
sortie copilot-instructions.md
Instructions for sortie-ai/sortie, covering sortie coding & review standards, 1. layered imports (downward only; violation is critical), 2. concurrency safety, 3. workspace path safety (critical: security boundary) and 4. persistence (sqlite).
GENesis-AGI AGENTS.md
AGENTS.md instructions for WingedGuardian/GENesis-AGI, covering agent instructions, code review mandate (adversarial), gitnexus — code intelligence (advisory), genesis capability surface and skills.