agents
AGENTS.md2 starsChanged 6 months agoApache-2.0View on GitHub
This file provides guidance to Codex when working with code in this repository. It is the Codex-facing counterpart to CLAUDE.md; both describe the same repository, and a change to the conventions belongs in both. This is an agent definitions repository containing specialized agents. They are consumed by Claude Code and by Codex; the on-disk install target is ~/.claude/ for both, via scripts/install.sh. The repository contains no executable code - only agent definition files in Markdown format with YAML frontmatter. When…
- Deletes or force-pushes
- Commits and pushes
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository43 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- break-glassSkill
- claim-ledgerSkill
- contract-parity-auditSkill
- counterfactual-auditSkill
- design-doc-reviewSkill
- diagram-gen-emergentSkill
- diagram-gen-specSkill
- doc-triageSkill
- explain-workSkill
- feature-implSkill
- finding-triageSkill
- first-party-auditSkill
- gh-token-rotateSkill
- handoffSkill
- implementSkill
- jj-stackSkill
- linear-escalation-triageSkill
- mache-usageSkill
- park-workSkill
- pr-boardSkill
- pr-bucketsSkill
- prior-art-cartographerSkill
- problem-decomposerSkill
- pr-review-kitSkill
- pr-reviewSkill
- pr-suggestionSkill
- readme-restructureSkill
- repo-description-polishSkill
- repo-homepage-setSkill
- repo-social-previewSkill
- repo-topic-taggerSkill
- review-prepSkill
- review-queueSkill
- reviewSkill
- self-auditSkill
- structural-pr-reviewSkill
- surveySkill
- taskfile-ci-paritySkill
- test-fidelitySkill
- workflow-auditSkill
- work-scopeSkill
- writing-pr-descriptionsSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
18 rules. About 0 are common, 11 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
File Naming: Use kebab-case (e.g., code-performance-optimizer.md)
- Distinctive: line 30
Create compelling backstory that reinforces expertise
- Distinctive: line 37
Description: Must include at least 2 detailed usage examples in XML format
- Distinctive: line 38
Persona: Should establish credibility and unique perspective
- Distinctive: line 55
When committing agent definitions:
- Very specific: line 56
Use semantic commit messages (feat: for new agents, fix: for corrections, docs: for documentation)
- Very specific: line 57
Test agents thoroughly before committing
- Very specific: line 58
Update README.md when adding new agents
- Very specific: line 71
Create new .md file with kebab-case name
- Distinctive: line 72
Add YAML frontmatter with required fields
- Distinctive: line 73
Write comprehensive system prompt
- Distinctive: line 74
Test locally before committing
- Distinctive: line 75
Update README.md with agent information
- Distinctive: line 80
Commit with descriptive message
- Very specific: line 136
All issue tracking goes through beads.
- Very specific: line 214
Every commit must match [bead-id] <type>(<scope>): <subject> — Golden Rule 11 (bead reference) + Conventional Commits.
- Distinctive: line 233
NEVER stop before pushing — that strands work locally.
- Distinctive: line 234
If push fails, resolve and retry until it succeeds.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
This file provides guidance to Codex when working with code in this repository. It is the Codex-facing counterpart to CLAUDE.md; both describe the same repository, and a change to the conventions belongs in both.
Repository Overview
This is an agent definitions repository containing specialized agents. They are consumed by Claude Code and by Codex; the on-disk install target is ~/.claude/ for both, via scripts/install.sh. The repository contains no executable code - only agent definition files in Markdown format with YAML frontmatter.
Agent Development Workflow
Testing Agents Locally
# Copy agent to user directory for testing
cp agent-name.md ~/.claude/agents/
# Or copy to project directory
cp agent-name.md /path/to/project/.claude/agents/Creating New Agents
- File Naming: Use kebab-case (e.g.,
code-performance-optimizer.md) - Required Frontmatter Fields:
name: Must match filename without extensiondescription: Include XML-formatted usage examplesmodel: Usuallyinherit, useopusfor complex reasoningcolor: Choose from blue, green, purple, red, orange
- Agent Persona Guidelines:
- Create compelling backstory that reinforces expertise
- Define clear methodology and process
- Structure output format for consistency
- Include specific technical focus areas
Quality Standards
- Description: Must include at least 2 detailed usage examples in XML format
- Persona: Should establish credibility and unique perspective
- Process: Define structured approach with numbered steps
- Output: Specify format for agent responses
Repository Structure
/
├── *.md # Agent definition files
├── README.md # Public documentation
├── AGENTS.md # This file
└── .claude/ # agent + skill install target (see scripts/install.sh)
└── settings.local.json # Local permissionsGit Workflow
When committing agent definitions:
- Use semantic commit messages (feat: for new agents, fix: for corrections, docs: for documentation)
- Test agents thoroughly before committing
- Update README.md when adding new agents
Agent Architecture
Each agent file has two parts:
- YAML Frontmatter: Metadata and configuration
- System Prompt: Defines persona, expertise, and behavior
By default an agent inherits the parent session's tools. That default is not a guarantee: disallowedTools and tools narrow it, and several agents here rely on that — the six adversarial reviewers carry disallowedTools: Write, Edit so their read-only posture is enforced rather than merely stated. Check the frontmatter before assuming an agent can reach something.
Common Tasks
Add a new agent
- Create new
.mdfile with kebab-case name - Add YAML frontmatter with required fields
- Write comprehensive system prompt
- Test locally before committing
- Update README.md with agent information
Modify existing agent
- Edit the agent's
.mdfile - Test changes locally
- Commit with descriptive message
Share agents with team
# Push to GitHub
git add *.md
git commit -m "feat: add new agent for X"
git push
# Team members can then clone and install<!-- >>> rsry beads (managed by `rsry init` - edit outside these markers) >>>
# Agent Instructions
<!--
Canonical rsry-native AGENTS.md. `rsry init` writes this into a repo (the
rsry-native replacement for `bd setup <tool>`). Learns from bd's AGENTS.md
concepts (ready-work detection, dependency types, discovered-from) but routes
through `rsry` — never `bd`. See rosary ADR-0014.
-->This project tracks all work as beads, stored in .beads/ (a Dolt database,
or a SQLite beads.db for single-user repos) and accessed through rsry —
the CLI or the rsry_* MCP tools. Rosary owns the store and reads/writes it
in-process over the Dolt/SQLite wire; it never invokes the bd CLI
(ADR-0014). Do not run bd.
Quick Reference
rsry bead list --dispatchable # work that's actually safe to pick up
rsry bead list --ready # open + unblocked (superset of dispatchable)
rsry bead review <id> # full context: summary + comments + change-set
rsry bead comment add <id> "note" # progress notes (humans + other agents read these)
rsry bead close <id> # complete work (requires a close condition)
rsry status --repo <name> # counts for one repo (omit --repo = all repos)The rsry_* MCP tools mirror these (rsry_list_beads, rsry_bead_create,
rsry_bead_close, rsry_bead_comment, …) and are the preferred surface from
inside an MCP client.
Non-Interactive Shell Commands
ALWAYS use non-interactive flags with file operations — cp/mv/rm may be
aliased to -i and hang waiting for y/n:
cp -f source dest mv -f source dest rm -f file rm -rf dir cp -rf src dstscp/ssh → -o BatchMode=yes · apt-get → -y · brew → HOMEBREW_NO_AUTO_UPDATE=1.
Issue Tracking with beads (via rsry)
All issue tracking goes through beads. Do NOT use markdown TODOs, task lists, or
external trackers. Do NOT use the bd CLI — use rsry.
Why beads
- Dependency-aware — track blockers and relationships (
blocks,related,parent-child,discovered-from) so ready-work detection is automatic. - Version-controlled — Dolt with cell-level merge; syncs across machines via
a Dolt remote (the
post-merge/post-pushhooks rundolt pull|push). - Agent-optimized — JSON output,
--ready/--dispatchablefilters,discovered-fromlinks so found work traces to its origin.
Create work
rsry bead create "Issue title" --description "Detailed context" \
--issue-type bug --priority 1 --files src/foo.rsImplementation beads (bug/feature/task/chore) require a file scope
(--files) and a close condition (an --acceptance-criteria, a runnable
test command in the description, or the default PR-merge signal). Planning types
(epic/design/research) and review are exempt from the file-scope rule.
Link related work (typed edges)
Dependencies carry a type — blocks (the default), related,
parent-child, discovered-from:
# work you found while doing something else → trace it to its origin
rsry_bead_link id=<new> depends_on=<origin> dep_type=discovered-from
# subtask under an umbrella/epic
rsry_bead_link id=<child> depends_on=<parent> dep_type=parent-childparent-child and discovered-from are containment edges, and they gate
auto-close: a parent bead won't be closed by a merged PR while it still has open
children — the PR is linked, but the umbrella stays open until the last child
lands. Use blocks for ordering (A must finish before B) — closing a blocker is
the normal unblock signal and does not hold anything open.
Claim, update, complete
rsry bead comment add <id> "progress note" # don't close incomplete beads — comment
rsry bead close <id> # gated on the close conditionIssue types
bug, feature, task, chore (implementation) · epic, design,
research (planning) · review (read-only adversarial). A secondary
work_mode axis (investigation / synthesis / adversarial / procedural / …) maps
back to a canonical issue type when a bead is authored.
Priorities
0 critical (security, data loss, broken builds) · 1 high · 2 medium
(default) · 3 low.
Ready vs dispatchable
--ready = open + unblocked. --dispatchable is the strict subset actually safe
to hand to an agent: also a close condition, a bounded file scope, and a refined
description (Bead::is_dispatchable). Check rsry bead list --dispatchable
before asking "what should I work on?" — prefer it over --ready.
State sync (automatic, rsry-native)
There is no bd dolt push / issues.jsonl step you run by hand. When a PR
merges, the git post-merge hook (installed by rsry hooks install) runs
rsry close-merged --local — reading the squash-merge commit
([bead-id] … (#N)) from local git log and closing the bead — plus a
dolt pull for Dolt-backed repos. No webhook, no gh, no manual export.
Commit contract (enforced at commit-msg time)
Every commit must match [bead-id] <type>(<scope>): <subject> — Golden Rule 11
(bead reference) + Conventional Commits. The commit-msg hook rejects anything
else (and auto-injects [bead-id] from .rsry-bead-id in agent worktrees). Open
PRs with rsry pr --title "…" so the [bead-id] lands in the squash subject and
the merged bead auto-closes.
Landing the Plane (Session Completion)
Work is NOT complete until git push succeeds.
- File beads for remaining work —
rsry bead create …(withdiscovered-fromlinks where relevant). - Run the gate (if code changed) —
task check(the canonical verification gate) where the repo has one. - Update bead status — close finished work; comment on in-progress items.
- PUSH —
git pull --rebase && git push && git status(must show "up to date"). - Hand off — context for the next session.
- NEVER stop before pushing — that strands work locally.
- If push fails, resolve and retry until it succeeds. <<< rsry beads <<< -->
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

