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/otto-haus/otto/agents-mdgit clone --depth 1 https://github.com/otto-haus/ottoWrote 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/otto-haus/otto/agents-md)<a href="https://agentmods.dev/instructions/otto-haus/otto/agents-md"><img src="https://agentmods.dev/badge/instructions/otto-haus/otto/agents-md.svg" alt="Measured on agentmods" 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 | $0.02449 | $0.02449 |
| Opus 5 | $0.01224 | $0.01224 |
| Sonnet 5 | $0.00490 | $0.00490 |
| Haiku 4.5 | $0.00245 | $0.00245 |
Grade A, and why
otto 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 3d 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 — 179 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
Start here if you are an AI coding agent working on otto.
Direction (read first): otto → Paperclip plugin
otto is pivoting from a standalone Electron shell into an extension of Paperclip (the open-source agent-orchestration app). Mental model: Paperclip is the office, otto is the culture layer, Letta is the memory/runtime.
- v1 (in progress): "use Letta from Paperclip." Ship a
letta_localexternal adapter atpackages/paperclip-letta-adapterthat drives an existing local Letta agent from a Paperclip issue (memory continuity via the LettaagentId). It targets Paperclip's external-adapter contract: a package exportingcreateServerAdapter(): ServerAdapterModule, installed viaPOST /api/adapters(isLocalPath: true). Provider keys live in Letta; the adapter only observes aproviderConfiguredboolean, never the keys.- Network boundary: the adapter runs where the Paperclip server runs. v1 proof target is a local Paperclip host + an existing local Letta runtime on the same Mac. Cloud Paperclip → remote Letta or an explicit tunnel is a later step. This is the assumption most likely to be wrong; resolve it first.
- v2: culture loop ships as a Paperclip plugin (receipts to issues; correction → proposal →
ratification → Standard). Adapters and Plugins are two different Paperclip surfaces — v1 is an
adapter, not a plugin. v1 carries only a tiny
receiptRefplaceholder, no real culture. - Do NOT archive the Electron shell in v1. Keep
apps/desktop/as the internal lab / Letta console; build the adapter in its own package. Archive shell surfaces only after the Paperclip adapter completes one real issue round-trip. The governance layer (standards/,practices/,routines/,receipts/,skill/,autonomy/) is kept for v2.
The legacy product rules below still describe the active desktop shell (kept as the lab). They remain
in force for apps/desktop/ (e.g. provider keys belong in Letta; do not show mock data; only
Sebastian accepts done).
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.
- 3d ago First seen · 179 lines · 2,449 tokens per session scan A 78c628f69b6b
otto AGENTS.md is an instructions file published in the GitHub repository otto-haus/otto (7 stars, last pushed 16d ago), licensed MIT. It adds 2,449 tokens to every session, about $0.0122 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
TORQCLAW CLAUDE.md
Instructions for pilotwaffle/TORQCLAW, covering claude.md — torqclaw, 1. repo context, instruction precedence, non-torq boundary and 2. governing harness.
TORQCLAW AGENTS.md
Instructions for pilotwaffle/TORQCLAW, covering the job, hard boundaries and coordination with the main lane.
siyuan AGENTS.md
AGENTS.md instructions for siyuan-note/siyuan, covering agents.md, 1. non-negotiable constraints, do not hand-edit, verification and prohibited operations and 2. project-specific rules.
zeroshot AGENTS.md
AGENTS.md instructions for the-open-engine/zeroshot, covering zeroshot: multi-agent coordination engine, critical rules, where to look, cluster worker contracts and cli quick reference.
google-health-mcp AGENTS.md
Instructions for davidmosiah/google-health-mcp, covering agent development notes, scope, commands and rules.
filegrc AGENTS.md
Instructions for Alignbase/filegrc, covering filegrc repository instructions, purpose, agent-facing product surface, product principles and standards alignment.