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/xzycd/recuse/claude-mdgit clone --depth 1 https://github.com/xzycd/recuseWhat 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.05080 | $0.05080 |
| Opus 5 | $0.02540 | $0.02540 |
| Sonnet 5 | $0.01016 | $0.01016 |
| Haiku 4.5 | $0.00508 | $0.00508 |
Grade A, and why
recuse CLAUDE.md scanned grade A with 1 finding 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.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
There is deliberately no `--exec` and nothing is spawned. SECURITY.md claims the tool touches no `child_process`, and `recuse watch --json` piped into a shell loop gives anyone the same power. Keeping the claim true is w How it starts
The opening of the file, as written. The whole thing — 215 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Working in this repo
Read DNA.md first. It has the rules. This file is the mechanics.
Layout
src/
sources/ one module per external service, each returning typed records
http.ts fetch with timeout, backoff, a body size cap, embedded JSON
gamma.ts market catalogue and resolution lifecycles
dataapi.ts current balances, with the display names accounts chose
subgraph.ts cumulative positions through the old index head, plus payouts
trades.ts the current trade log, with request-scope and paging checks
chain.ts the oracle layer, unbuilt. reports that it read nothing,
and validates RECUSE_RPC_URL on every reading
core/ pure logic, no I/O except where noted
safe.ts making remote text safe to put on a terminal. pure
dispute.ts parses umaResolutionStatuses into rounds, phase, clock
capture.ts which side is measurable, concentration, repeat tallies
rebuild.ts cumulative positions summed out of fills. pure
wallet.ts one wallet's ledger, chain payout first, closing-price fallback. pure
rank.ts sort order, filtering, viewport. pure
watch.ts what counts as a resolution moving. pure
recall.ts what moved since the last radar run. pure, reuses watch.ts
queue.ts lifecycles that never terminated, and how long. pure
ledger.ts the event log summarised. pure
mcp.ts the MCP protocol, pure. the engine is injected
update.ts version check. checks and prints, never installs
assess.ts assembles one answer from every source (does I/O)
watcher.ts one poll pass, and the loop (does I/O)
store.ts the watchlist, both snapshots, the event log, under ~/.recuse
notify.ts webhook delivery. the only outbound sink
ui/
theme.ts five themes, colour depth detection, hex to escape
format.ts numbers, widths, NO_COLOR and non-TTY detection
logo.ts the wordmark, the face, and the launch banner
loading.ts the spinner, on stderr, silent when piped
plain.ts the plain renderer, and the fallback for pipes
App.tsx the ink radar
cli.ts arg parsing, command dispatch, --json on every path
tools/
logo.mjs regenerates assets/. run after changing the wordmark
site.mjs builds site/, flat HTML, no backend and no client JS
prepare.mjs builds on install, so a git install produces a binary
reachable.mjs which symbols the entry point can get to. pure, tested
housekeeping.mjs the house rules, checked. run by CI
.github/workflows/
ci.yml typecheck, build, test, audit and check on node 22 and 24
site.yml nightly site build, publishes to Pages
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 · 215 lines · 5,080 tokens per session scan A 61c33ee810c0
recuse CLAUDE.md is an instructions file published in the GitHub repository xzycd/recuse (2 stars, last pushed 9d ago), licensed MIT. It adds 5,080 tokens to every session, about $0.0254 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
polyterm AGENTS.md
Instructions for NYTEMODEONLY/polyterm, covering project agent rules, architecture rule: no monoliths, change quality gate and documentation rule.
kalshi-trading-bot-cli AGENTS.md
Instructions for OctagonAI/kalshi-trading-bot-cli, covering repository guidelines, project structure, build, test, and development commands, coding style & conventions and llm providers.
polymarket-tennis CLAUDE.md
Instructions for livetennisapi/polymarket-tennis: This package is the data layer for Polymarket tennis trading: market discovery (Polymarket Gamma API, keyless), market↔live-match matching (never guesses; returns None on ambiguity), and a joined LiveMarketView of market price vs live score.
kalshi-trading-bot-cli CLAUDE.md
Instructions for OctagonAI/kalshi-trading-bot-cli, covering claude.md and workflow.
simmer-sdk AGENTS.md
Instructions for SpartanLabsXyz/simmer-sdk, covering agents.md — simmer sdk, this repo is public, currency formatting, live is a constructor arg, not a per-trade flag and market discovery is recency-windowed.
polymarket-agent-mcp CLAUDE.md
Instructions for demwick/polymarket-agent-mcp, covering claude.md, build & test commands, architecture, entry point & mcp server and layers.