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/outlinedriven/odin-reflector/agents-mdgit clone --depth 1 https://github.com/OutlineDriven/odin-reflectorWrote 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/outlinedriven/odin-reflector/agents-md)<a href="https://agentmods.dev/instructions/outlinedriven/odin-reflector/agents-md"><img src="https://agentmods.dev/badge/instructions/outlinedriven/odin-reflector/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.1 | $0.03750 | $0.03750 |
| Opus 5 | $0.01875 | $0.01875 |
| Sonnet 5 | $0.00750 | $0.00750 |
| Haiku 4.5 | $0.00375 | $0.00375 |
Grade A, and why
odin-reflector 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 6d 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 — 89 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Codex Reflector Agent Notes
This file is only for repo-specific constraints that are easy to break and expensive to rediscover. README owns installation and user-facing usage; do not duplicate it here.
Surface split
-
Rule: Treat the repository as two hook surfaces, not one implementation. The Claude/Cursor plugin is
scripts/codex-reflector.pywired byhooks/hooks.json; the oh-my-pi port isomp/codex-reflector.tsloaded throughpackage.jsonomp.extensions. Why: Both surfaces callcodex execand expose the same reflector idea, but their hook delivery and stop-enforcement mechanisms differ. Editing the wrong surface fixes nothing. -
Rule: For shared behavior changes, check both surfaces before declaring parity: verdict parsing, prompt builders, redaction/sandboxing, stop-review enforcement, model/effort gating, and changed-file target resolution. Why: The TypeScript file is a native port of the Python hook, while the OMP tests codify port-specific contracts. Silent drift produces different review outcomes for Claude/Cursor vs OMP users.
-
Rule: Any shipped OMP or Claude plugin code/config change bumps the paired release manifests in the same commit: the OMP version (
package.jsonversion) and the Claude plugin version in all three Claude fields (.claude-plugin/plugin.jsonversion, plus bothversionandplugins[0].versionin.claude-plugin/marketplace.json); also refresh any marketplacemetadata.lastUpdateddate present. Shared Python hook changes also bump the Cursor plugin version in all three Cursor fields (.cursor-plugin/plugin.jsonversion, plus bothversionandplugins[0].versionin.cursor-plugin/marketplace.json). Why: The OMP and Claude surfaces ship independently but evolve together, so bumping only one side hides paired release changes from users inspecting either manifest. The Python hook code also powers Cursor; Cursor manifests are tracked source, but they should move when the shared Python/Cursor surface changes rather than on OMP-only changes.
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.
- 6d ago First seen · 89 lines · 3,750 tokens per session scan A d887238839b3
odin-reflector AGENTS.md is an instructions file published in the GitHub repository OutlineDriven/odin-reflector (9 stars, last pushed 27d ago), licensed Apache-2.0. It adds 3,750 tokens to every session, about $0.0187 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
odin-gemini-cli-extension AGENTS.md
AGENTS.md instructions for OutlineDriven/odin-gemini-cli-extension, covering gemini code agent manual, token-efficient cli output, core system & file ops, search & discovery and code manipulation.
odin-codex-plugin AGENTS.md
AGENTS.md instructions for OutlineDriven/odin-codex-plugin, covering codex coding agent adherences, token-efficient cli output, tool hierarchy, core system & file ops and search & discovery.
learn-opencode-agent CLAUDE.md
Instructions for qqzhangyanhua/learn-opencode-agent, covering claude.md, 项目定位, 架构总览, 模块结构图 and 模块索引.
token-saver CLAUDE.md
Instructions for ppgranger/token-saver, covering token-saver plugin, how it works and important rules.
forge CLAUDE.md
Instructions for firatcand/forge, covering forge, stack, commands, conventions and critical paths.
nextjs-loop-engineering-starter AGENTS.md
Instructions for muzafferkadir/nextjs-loop-engineering-starter, covering agents.md — project instructions for ai agents, how to start a loop, project purpose, stack and commands.