dotclaude
CLAUDE.md871 starsChanged 5 months agoMITView on GitHub
A Claude Code plugin marketplace: agents, skills, rules, and safety hooks, published from the top-level directories. There is no application code, build, or package manager here — everything is bash + markdown + JSON.
In this repository14 other files it gives its agents.
- catchupSkill
- claude-mdSkill
- context-budgetSkill
- debug-fixSkill
- explainSkill
- fix-issueSkill
- onboardSkill
- pr-reviewSkill
- refactorSkill
- setupdotclaudeSkill
- shipSkill
- specSkill
- tddSkill
- test-writerSkill
The file
We split this CLAUDE.md into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 26
Every new or modified hook MUST ship with fixtures under hooks/tests/fixtures/<hook-name>/ (see CONTRIBUTING.md).
- Very specific: line 27
After changing any manifest, skill, or agent frontmatter, run claude plugin validate .
≈ “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
dotclaude (this repo)
A Claude Code plugin marketplace: agents, skills, rules, and safety hooks, published from the top-level directories. There is no application code, build, or package manager here — everything is bash + markdown + JSON.
Commands
bash hooks/tests/run-all.sh # run all hook fixture tests (requires jq)
claude plugin validate . --strict # validate marketplace + plugin manifestsArchitecture
- Top-level
agents/,skills/,rules/,hooks/are the single source of truth.plugins/<name>/dirs contain only aplugin.jsonplus relative symlinks into the top-level dirs (Claude Code dereferences marketplace-internal symlinks at install) — never put real component copies there. Plugin sources must NOT be"./": with the repo root as plugin root, default component discovery would load every skill/agent into every plugin. CLAUDE.template.mdis the template shipped to user projects by/setupdotclaude. This file (CLAUDE.md) is for working on the repo itself — don't confuse the two.settings.jsonat the repo root is the template users copy to.claude/settings.json; it wires the hooks.
Key decisions
- Versioning: each
plugins/<name>/.claude-plugin/plugin.jsoncarries semver — bump it when that plugin's components change. Marketplace entries carry NO version (plugin.json silently wins; never set both). - Hooks fail open (exit 0) when
jqis missing, except file-protection hooks which fail closed. Hooktimeoutvalues are in seconds. - Agents never set
model— users choose their own.
Workflow
- Every new or modified hook MUST ship with fixtures under
hooks/tests/fixtures/<hook-name>/(see CONTRIBUTING.md). - After changing any manifest, skill, or agent frontmatter, run
claude plugin validate . --strict. - Adding/renaming a skill or agent requires: marketplace entry,
plugins/<name>/(plugin.json + symlink), and the folder README.
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.

