Borrowing it
Nothing to install: this file belongs to DotBots/mari. 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/DotBots/mari/main/AGENTS.mdgit clone --depth 1 https://github.com/DotBots/mariWrote 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/dotbots/mari/agents-md)<a href="https://agentmods.dev/instructions/dotbots/mari/agents-md"><img src="https://agentmods.dev/badge/instructions/dotbots/mari/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/dotbots/mari/agents-md"><img src="https://agentmods.dev/badge/instructions/dotbots/mari/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.00533 | $0.00533 |
| Opus 5.5 | $0.00213 | $0.00213 |
| Sonnet 5.5 | $0.00107 | $0.00107 |
| Haiku 4.5 | $0.00053 | $0.00053 |
Grade A, and why
mari 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 2mo 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.
What it actually says
mari + marilib (unified)
Unified repository: Mari TSCH-over-BLE link-layer firmware
(firmware/) + the marilib Python control plane and agents
(marilib/). Both halves are self-contained — each owns its own
build config, tests, and examples. CI is path-filtered so a
Python-only change doesn't trigger firmware builds and vice versa.
Layout
firmware/ ← C, nRF52840/nRF5340, SES + emBuild — see firmware/AGENTS.md
marilib/ ← Python package + tests + examples — see marilib/AGENTS.md
README.md ← repo overview (both halves)
AGENTS.md ← this file (cross-cutting)
LICENSE ← Apache 2.0 (covers both halves)
.gitignore ← merged (firmware + Python patterns)
.pre-commit-config.yaml ← merged (clang-format + hatch fmt + isort)
.github/workflows/ ← path-filtered: firmware/** vs marilib/**
Build
| Half | Build cmd |
|---|---|
| Firmware | make -C firmware docker (CI path), or `make -C firmware node |
| marilib | cd marilib && pip install -e .; cd marilib && hatch test |
Cross-half coupling
- Wire protocol:
marilibtalks to a UART-attached Mari gateway over HDLC. Framing contract:marilib/marilib/serial_hdlc.py↔firmware/app/03app_gateway_app/hdlc.[ch]. Both halves must agree on framing and onMetricsProbePayloadlayout (marilib/marilib/mari_protocol.py↔firmware/mari/models.h). marilib_timestampfield infirmware/app/03app_node/main.c— legacy shared-struct artifact slated for removal (see consolidation roadmap indotbot-testbed/AGENTS.md).
Branch policy
- Default:
main - New work: feature branches off
main, PRs even for solo work.
Don't
- Don't change paths that submodule consumers (currently only
swarmit) traverse without bumping their submodule pointer and updating internal path references. - Half-specific don'ts live in
firmware/AGENTS.mdandmarilib/AGENTS.md.
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.
- 2mo ago Changed · -9 tokens per session 9e59e850bef8
- 2mo ago First seen · 54 lines · 542 tokens per session scan A 66581adc49a9
mari AGENTS.md is an instructions file published in the GitHub repository DotBots/mari (7 stars, last pushed 1mo ago), licensed BSD-3-Clause. It adds 533 tokens to every session, about $0.0021 per session on Opus 5.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.
mari AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| mari AGENTS.mdDotBots/mari | Instructions file | 7 | 1mo ago | BSD-3-Clause | A | 533 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 5,649 | GitHub Copilot |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | today | MIT | A | 4,680 | Codex, OpenCode |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 3,093 | GitHub Copilot |
| vscode ai-customization.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 1,907 | GitHub Copilot |