agents
CLAUDE.md2 starsChanged 6 months agoApache-2.0View on GitHub
This is a Claude Code agent definitions repository containing specialized AI agents that extend Claude Code's capabilities. The repository contains no executable code - only agent definition files in Markdown format with YAML frontmatter. 4. Declare MCP dependencies — enforced by scripts/build.sh lint, not optional. An agent whose body calls a known MCP tool (rsry_*, mache_*, or the fully-qualified mcp__server__tool form) must carry a line beginning **MCP dependency:** naming the server and the tools it needs. Frontmatter does not record…
- Commits and pushes
In this repository43 other files it gives its agents.
- AGENTS.mdAGENTS.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 CLAUDE.md into the rules it gives an agent
15 rules. About 0 are common, 9 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
6
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 50
Description: Must include at least 2 detailed usage examples in XML format
- Distinctive: line 51
Persona: Should establish credibility and unique perspective
- Distinctive: line 95
When committing agent definitions:
- Very specific: line 96
Use semantic commit messages (feat: for new agents, fix: for corrections, docs: for documentation)
- Very specific: line 97
Test agents thoroughly before committing
- Very specific: line 98
Update README.md when adding new agents
- Distinctive: line 147
Check the frontmatter before assuming an agent can reach something.
- Very specific: line 152
Create new .md file with kebab-case name
- Distinctive: line 153
Add YAML frontmatter with required fields
- Distinctive: line 154
Write comprehensive system prompt
- Distinctive: line 155
Test locally before committing
- Distinctive: line 156
Update README.md with agent information
- Distinctive: line 161
Commit with descriptive message
- Very specific: line 186
Use rsry. Do not run bd.
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.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
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Repository Overview
This is a Claude Code agent definitions repository containing specialized AI agents that extend Claude Code's capabilities. 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:
- Define clear methodology and process
- Structure output format for consistency
- Include specific technical focus areas
- Declare MCP dependencies — enforced by
scripts/build.sh lint, not optional. An agent whose body calls a known MCP tool (rsry_*,mache_*, or the fully-qualifiedmcp__server__toolform) must carry a line beginning**MCP dependency:**naming the server and the tools it needs. Frontmatter does not record this, so without the line the agent's real runtime requirements drift silently from what is written down. Six agents share the common case via<!-- @include-begin _shared/mcp-dependency-rsry.md -->; an agent needing different tools states its own. - Restrict tools when the agent must not write. A reviewer that files
findings and never patches should say so in prose and enforce it with
disallowedTools: Write, Edit(or atools:allowlist). Prose is documentation; the frontmatter field is the enforcement.
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
├── CLAUDE.md # This file
└── .claude/ # Claude Code configuration
└── settings.local.json # Local permissionsLicensing — two licenses, and a one-way boundary
This repository is Apache-2.0 (LICENSE) except hud/, which is
AGPL-3.0-only (hud/LICENSE). GitHub's detector reads only the root file
and will report Apache-2.0 for the whole repository; that label is wrong about
hud/. Do not treat the root LICENSE as covering every subdirectory.
Invariant — one-way compatibility. Apache-2.0 code may be used inside
hud/. Code from hud/ may not be copied out into the Apache-2.0 part.
Apache-2.0 is one-way compatible with the AGPL: permissive code can be absorbed
into a copyleft work, but the reverse puts AGPL code under an Apache-2.0
notice, mislicensing it for everyone downstream — and nothing here will flag
it.
The property that keeps this checkable: hud/ imports nothing from outside
itself, only Node builtins and its own modules. Preserve that. Concretely,
before you factor a helper out of hud/ into a shared scripts/ module, or
add an import in hud/ that reaches above hud/, stop — the first is a
license violation, the second dissolves the self-containment that makes the
first visible. To share code across the boundary, move it into the
Apache-2.0 part and import it from there.
Vendored MIT bundles under hud/ui/ keep their own notices; see
hud/THIRD-PARTY-NOTICES.md. Rationale and the full statement live in
README.md and hud/docs/LICENSING.md; hud/README.md carries the
load-bearing fact so no reader has to click to learn which license applies.
Git 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
Stage .beads/beads.jsonl before you commit — or use scripts/safe-commit.sh
This one destroys uncommitted work silently, and it has already done so once.
.beads/beads.jsonl is tracked on purpose (.beads/.gitignore un-ignores it
as a shared artifact), and the rsry pre-commit hook rewrites it on every
commit. The pre-commit framework, separately, stashes unstaged changes while
hooks run and restores them afterwards. When beads.jsonl is unstaged — which
any bead created since the last commit causes — it lands in that stash, the
hook then rewrites it on disk, and the restore cannot apply. pre-commit rolls
back, and every file in that stash loses its changes, not just
beads.jsonl. The commit fails and the tree looks like the work never happened.
The tell is easy to miss: files you edited quietly disappear from
git status. If that happens, the changes are still in the patch pre-commit
wrote under ~/.cache/pre-commit/ — recover with
git apply --exclude='.beads/*' <patch>, then regenerate anything derived
(for hud/, node hud/hud-docgen.mjs --write).
There is a second, quieter reason this bites. A global gitignore
(~/.gitignore_global) excludes the whole .beads/ directory — correct for
every other repo, since bead databases are machine-local runtime state. This
repo's .beads/.gitignore tries to bring the one shared artifact back with
!beads.jsonl, and that cannot work: git never descends into an excluded
directory, so a negation inside it is never read. The file is tracked, so it
commits and appears in git status, but git add .beads/beads.jsonl refuses
it without -f. Anyone reaching for the obvious fix will think they staged it
and find they did not.
A staged file is never stashed, so staging beads.jsonl first is sufficient.
Either stage it yourself, stage everything, or commit through
scripts/safe-commit.sh, which stages it and passes all arguments to
git commit unchanged. The real fix belongs upstream — a hook should stage
the artifact it generates — so treat this as a guard, not a solution.
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, so most agents can
focus on domain expertise rather than tool plumbing. 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, and type-driven-correctness uses a tools: allowlist.
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 installIssue tracking and session completion
Both live in AGENTS.md, which is the single source for them:
Issue tracking with beads (via rsry) and Landing the Plane.
This section used to be a generated <!-- BEGIN BEADS INTEGRATION --> block
installed by the bd CLI. It instructed bd ready / bd show / bd close and
a bd dolt push step, all of which this ecosystem replaced with rsry — and
rsry never invokes bd (ADR-0014). Nothing in this repository read or
regenerated the block, so it was an orphan carrying a stale content hash and
contradicting AGENTS.md. Removed rather than corrected in place: a third copy of
the push discipline is how the second one came to be wrong.
Use rsry. Do not run bd.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

