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/zekker6/devsandbox/claude-mdgit clone --depth 1 https://github.com/zekker6/devsandboxWhat 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.09205 | $0.09205 |
| Opus 5 | $0.04602 | $0.04602 |
| Sonnet 5 | $0.01841 | $0.01841 |
| Haiku 4.5 | $0.00920 | $0.00920 |
Grade A, and why
devsandbox CLAUDE.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 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.
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 — 261 lines — stays where its author put it; the contents beside it link to each section on GitHub.
devsandbox
Coding practices
After completing the task always run:
task test- to run teststask lint- to run lint
Always prefer reasonable defaults if that it possible. Reduce amount of work for the user to do when this is possible. All defaults must be secure by default, and not cause any security issues if used without modification. Never bind to all interfaces by default, and do not expose any ports by default.
Errors must always be handled and reported when present. Silent failures are not acceptable.
notice.Warn is for something the user has to act on: a setting that was ignored, a control that reaches less than it says, a cleanup that did not run. A tool reporting that it started, or that an optional integration is not attached, is notice.Info. The distinction is load-bearing, not cosmetic - every warning raised before the workload starts is collected and blocks the launch on a confirmation prompt, so an announcement emitted at warn level turns every launch into a question and trains the user to answer it without reading. notice.Alert is a warning that must reach the terminal even during the running phase.
A ToolWithSetup runs in PhaseRunning, so its warnings must be notice.Alert. main.go's SetRunning() precedes iso.Run → bwrap.go's AddTools(), and writeMessagePhase only reaches stderr when always || verbose || PhaseStartup || PhaseTeardown - so a notice.Warn raised from tool setup is diverted to the log file and misses the confirmWarningsStdio gate entirely. Setup also must not return an error for a condition the user should merely be told about: builder.go aborts the launch on a setup error while docker.go only warns, so the same condition would be fatal on one backend and cosmetic on the other.
Setup runs more than once per launch, so a Setup that records state must assign it, never append. tools.Register hands out singletons and internal/isolator/docker.go calls getToolBindings twice per launch, each of which calls Setup on that same struct - so appending emits every binding twice, which is a trackMount panic on bwrap and a "Duplicate mount point" error on Docker, i.e. every launch of that tool failing. Git.refBindings is the worked example: setupReadWriteRefs assigns it, and dedups against the static set rather than trusting the count. The mirror rule is that Bindings must stay pure - tools info and tools check call it on a registry singleton that Setup never touched, so anything subprocess-shaped belongs in Setup, and Bindings only appends what it left behind, degrading to exactly the static set when that is nil.
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 · 261 lines · 9,205 tokens per session scan A 63d1881443bb
devsandbox CLAUDE.md is an instructions file published in the GitHub repository zekker6/devsandbox (10 stars, last pushed 2d ago), licensed MIT. It adds 9,205 tokens to every session, about $0.0460 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
spellbook AGENTS.md
Instructions for majiayu000/spellbook, covering spellbook agent contract, routing, scope rules, threads long-run guardrails and validation.
best-claude-hud AGENTS.md
Instructions for GaoSSR/best-claude-hud, covering project agent instructions and release work.
packmind packmind-rest-api-endpoint-design.instructions.md
Instructions for PackmindHub/packmind: Conventions for designing REST API endpoints that are predictable, self-documenting, and aligned with distinct business actions. Favors dedicated action endpoints over generic status updates, and rout... .
mcp-screenshot-server CLAUDE.md
Instructions for sethbang/mcp-screenshot-server, covering claude.md, what this is, commands, environment variables and architecture.
sdlc-quality copilot-instructions.md
Instructions for zircote-plugins/sdlc-quality, covering copilot instructions for sdlc plugin, project overview, repository structure, key conventions and rfc 2119 terminology.
orkid CLAUDE.md
Claude Code instructions for tweakoz/orkid, covering orkid — repo-wide agent law and commits.