Borrowing it
Nothing to install: this file belongs to rimio-ai/rimz. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/rimio-ai/rimz/main/AGENTS.mdgit clone --depth 1 https://github.com/rimio-ai/rimzWrote 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/instructions/rimio-ai/rimz/agents-md)<a href="https://agentmods.dev/instructions/rimio-ai/rimz/agents-md"><img src="https://agentmods.dev/badge/instructions/rimio-ai/rimz/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/rimio-ai/rimz/agents-md"><img src="https://agentmods.dev/badge/instructions/rimio-ai/rimz/agents-md.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.19863 | $0.19863 |
| Opus 5.5 | $0.07945 | $0.07945 |
| Sonnet 5.5 | $0.03973 | $0.03973 |
| Haiku 4.5 | $0.01986 | $0.01986 |
Grade A, and why
rimz AGENTS.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 today.
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.
- Process and config — `config`, `observability`, `agent_activity`, `lane`, `proc` user-shell selection, process inspection and shared machine PSI (`proc/pressure.rs`), `reload`, `osc`, `build_id`, `child_process`, `tui` How it starts
The opening of the file, as written. The whole thing — 249 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Invariant. RimZ routes attention: it surfaces which agent needs you and takes you straight to its pane, where you answer in the agent's own UI.
How to read this contract
This file carries two kinds of statement, and they earn different deference.
Invariants are load-bearing: a product promise, an architectural boundary that a cargo xtask invariants grep enforces, or a durability rule. Breaking one breaks the build or the product. Each section below says which of its statements are invariants. Change one deliberately, in its own commit, with the doc and the gate moving together.
Everything else is a default: the choice that has been right most of the time here. Follow it absent better information. Depart from it when the work in front of you argues otherwise, and say why in the PR or hand-off. A default that keeps losing is a bug in this file, so fix the file.
Match the size of the change to the size of the ask. A refactor you noticed on the way becomes a note unless it blocks you. When this map and the territory disagree, the code is what ships: follow the code, then fix the map in the same change.
Engineering principles
The house style is explicit Rust, and rust-conventions.md is its authority: typed IDs across module boundaries, structured parsers over ad-hoc string work, state machines where a bool would drift, typed Result errors at library boundaries. unwrap, expect, and panics belong in tests, build scripts, and provably impossible states; leave a comment naming why the state is impossible.
Unsafe code is denied; two sites are admitted, each annotated with #[expect(unsafe_code, reason = "...")]: the exported jemalloc configuration in crates/rimz/src/main.rs, and the bench-only counting allocator in crates/rimz/benches/fleet.rs, which the shipped binary never links. A third site is a design decision.
An event or timing fix is proven at the consumer's decision point. A change that removes a later event's power to clear a state first checks whether each producer can deliver the state's opener after its own closer (separate child processes per event, unchained sends, no timestamp on the envelope), since the removed path was what made that reorder harmless. That the producer emitted, or that a timestamp is fresh, is not evidence that the consumer saw it in time. Work placed between a decision and the action it gates (a helper process, a lock, a network call) makes the decision stale by that work's duration: read the decision again after the work, or say why it cannot have changed. When that later read can only defer the action, check it before the work as well, or every deferral repeats the work. A stamp another rule compares with is taken at the instant that rule means. It is also keyed on the state that rule reads: a stamp set on a raw status misses the rows a consumer partitions by their displayed status (a clean turn end parked on background work is raw running and displays as success). A floor that must expire with an existing cadence takes that cadence's own stamp, passed in, not a fresh now() after the pass's work, or it outlasts the cadence and skips the next due pass. A freshness stamp checked against later triggers is taken before the request it covers, or a trigger that lands during the request is absorbed. A refresh an event triggers reads its inputs at the instant the trigger fires, so a limit stated for it says what that read finds then and what next moves the trigger: an answer read too early sticks until that next move. A fix that changes which clock stamps a value audits every comparison against that value for its behaviour at ties, since a stamp that used to trail another may now equal it. A rule that orders two stamps, or compares a row stamp with one copied earlier from the same row, first lists every fold branch that writes or carries each (rg -n -U '<field>\s*=' crates/rimz/src) and evaluates any derived stamp, such as last_request_at(), on the row before and after each branch. A re-registration at rest, or a compaction close with no open bracket, moves turn_started_at without closing a request; a compaction that closes its bracket at rest stamps both turn stamps at the close; and a prompt into a row parked on background work moves neither turn stamp until its Stop. A refactor that moves time reads onto an injected clock keeps every read that followed a lock, I/O, or spawn after that work, and converts between clocks at the present, never at construction. A state a polling consumer reads stays published for at least one of that consumer's read intervals (its backstop tick plus one pass), or the consumer can miss it entirely; a design that withdraws such a state names that interval beside the rule that withdraws it. A state that changes with time alone (no event) reaches a reader that sleeps on a stored retry time only if that time is computed from the change's instant: message::deliver::evaluate_when_condition sets retry_at to the instant an auto-reviewed permission becomes visible, plus the dwell. A wake or deadline moved onto a record field first lists every writer of that field (rg -n -U '<field>\s*=' crates/rimz/src) and checks that the record still arms a wake after each writer that leaves it in the armed state.
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.
- today Changed · +300 tokens per session 38f717f5dc04
- 2d ago Changed · +3 lines · +561 tokens per session a0e8ff149e3e
- 3d ago Changed · +2 lines · +309 tokens per session 2fd964e009fe
- 4d ago Changed · +2 lines · +385 tokens per session dbf0bfe4a359
- 5d ago Changed · +5 lines · +1,128 tokens per session ae6696b3108d
- 6d ago Changed · +3 lines · +519 tokens per session e8ff2184f7ce
- 7d ago Changed · +6 lines · +946 tokens per session 106c5530bb10
- 8d ago Changed · +4 lines · +1,092 tokens per session ab4fe52b271b
- 9d ago Changed · +7 lines · +1,280 tokens per session 7a0762fe9554
- 10d ago First seen · 217 lines · 13,343 tokens per session scan A 02100ba6f60e
rimz AGENTS.md is an instructions file published in the GitHub repository rimio-ai/rimz (34 stars, last pushed today), licensed MIT. It adds 19,863 tokens to every session, about $0.0795 per session on Opus 5.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-30.
rimz AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| rimz AGENTS.mdrimio-ai/rimz | Instructions file | 34 | today | MIT | A | 19,863 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |