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/jrullan/ducklab/agents-mdgit clone --depth 1 https://github.com/jrullan/ducklabWhat 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.00639 | $0.00639 |
| Opus 5 | $0.00319 | $0.00319 |
| Sonnet 5 | $0.00128 | $0.00128 |
| Haiku 4.5 | $0.00064 | $0.00064 |
Grade A, and why
ducklab 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 — 59 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Working in this repository as an agent
This repo is unusual: it is developed by agents, through the product it contains. Most of the last hundred tasks were built by LLM seats inside ducklab's own loop, gated by a human. If you are an agent, you have two ways to work here — and the second one is the point of the project.
Path 1: conventional (edit the tree directly)
Build and test:
make # vet, go tests, frontend build
go test ./... # 38 packages, -count=1 for arch tests
cd frontend && npx tsc --noEmit && npx vitest run
make desktop && make install # binaries to ~/.local/bin
Rules the tests enforce (they will fail your change, not just advise):
- CLI, desktop and MCP server are clients — they import only
engineclt,daemon,xplat(internal/arch_test.go). - Every engine event must be registered in
frontend/src/api/events.ts. - Every engine route needs a desktop client method or an excused entry
(
internal/engineapi/desktop_coverage_test.go). docs/openapi.jsonandfrontend/src/api/generated.tsare generated (make api); never edit them by hand.- Flipping a behavior means rewriting the test that pinned the old one with the new reasoning — never deleting it.
House style: comments state the incident or the constraint, never the next
line. Commit messages: first line what, body why, usually with the incident.
Frontend changes are invisible until make desktop && make install.
The normative spec is docs/spec/ (what it must be); the as-built truth is
.ducklab/docs/ (requirements, spec, plan — loop-maintained, human-gated);
deliberate divergences live in docs/decisions/.
Path 2: native (operate the loop — how this repo is actually developed)
ducklab mcp serve # stdio MCP server exposing the whole loop
An MCP-connected agent can file bugs (bug_report), triage, start stage and
build runs (stage_start, with refs for reference documents), read
transcripts, answer questions, and decide gates — every decision recorded
and attributed (approved_by: mcp:<client>, never "human"). The engine's
next lists are the law: an agent cannot take an action a person could not.
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 · 59 lines · 639 tokens per session scan A 2cd65f08d0b5
ducklab AGENTS.md is an instructions file published in the GitHub repository jrullan/ducklab (8 stars, last pushed 3d ago), licensed Apache-2.0. It adds 639 tokens to every session, about $0.0032 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-30.
Other instructions, from other repositories
patchloom AGENTS.md
Instructions for patchloom/patchloom, covering agents.md, project overview, dev commands, git hygiene and release prs (release-please).
rigour AGENTS.md
Instructions for rigour-labs/rigour, covering agents.md - universal ai agent instructions, setup, quality gates, 🛡️ rigour: mandatory engineering governance protocol and 🚦 the mandatory governance loop.
rigour CLAUDE.md
Instructions for rigour-labs/rigour, covering claude.md - project instructions for claude code, project overview, commands, verify quality gates and get fix packet for failures.
spine CLAUDE.md
Instructions for synaptixs/spine, covering spine — working on this repo, layout — where things live, invariants — break these and things get subtly wrong, gotchas that have bitten and before pushing.
patchloom copilot-instructions.md
Instructions for patchloom/patchloom: See AGENTS.md for project conventions, dev commands, and coding standards.
patchloom GEMINI.md
Instructions for patchloom/patchloom: See AGENTS.md for project conventions, dev commands, and coding standards.