Repertoire
CLAUDE.md0 starsChanged 4 months agoApache-2.0View on GitHub
A single Claude Code plugin of self-authored skills, shipped through its own one-entry marketplace. The repo root is the marketplace root, the plugin root and the source tree: .claude-plugin/marketplace.json lists one plugin with source: "./", and .claude-plugin/plugin.json is its manifest. No build step: skills are Markdown and installing ships the repo as-is. No test, lint or build toolchain.
The file
We split this CLAUDE.md into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
No test, lint or build toolchain.
- Very specific: line 43
Create skills/<name>/ as above.
- Very specific: line 44
Add a row to the Skills table in README.md and in README.ja.md, README.zh-CN.md, README.zh-TW.md.
- Very specific: line 50
Commit subjects have no scope: type: description, type one of feat, fix, refactor, docs, chore.
≈ “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
Repertoire
A single Claude Code plugin of self-authored skills, shipped through its own one-entry marketplace. The repo root is the marketplace root, the plugin root and the source tree: .claude-plugin/marketplace.json lists one plugin with source: "./", and .claude-plugin/plugin.json is its manifest. No build step: skills are Markdown and installing ships the repo as-is.
Plugin topology
- Adding a skill never touches the marketplace:
skills/<name>/SKILL.mdis discovered automatically.marketplace.jsonholds only the catalog entry the/pluginUI reads (description, version, author, homepage, category, tags), mirrored fromplugin.json. versionlives in bothplugin.json(drives resolution and caching, wins silently) and themarketplace.jsonentry (what the UI shows). Bump both to the same value; the same goes for the user-facingdescription. Users get it after/plugin marketplace update.- Installed skills are namespaced:
/repertoire:maestro.
Commands
No test, lint or build toolchain.
claude plugin validate . # marketplace manifest only; does not parse skill frontmatter
ruby -ryaml -e 'Dir.glob("skills/*/SKILL.md").each { |f| YAML.safe_load(File.read(f).split("---")[1]) }' && echo OK # frontmatter YAML (strict parsers reject bare ': ' in scalars)
claude --plugin-dir . # run with this repo as a local plugin
/reload-plugins # in-session, after editing a skillSkill anatomy
skills/<name>/SKILL.mdwith frontmattername,description,when_to_use; bundled prompt and reference files beside it; trigger evals committed atskills/<name>/evals/evals.json.description+when_to_useis the routing surface: every skill auto-invokes.descriptionsays what the skill does to what object;when_to_usecarries positive triggers plus one adjacency clause per confusable neighbor, never negative trigger lists. Keep the pair under ~1,200 characters (the listing truncates at 1,536 silently). Doctrine and eval loop:docs/authoring/skill-descriptions.md.- Behavior and routing surface are one contract: when a skill's behavior changes, update its routing surface in the same edit and re-run its trigger evals.
- Skills that dispatch subagents before any user gate (Maestro, Coda, Tuner, Presto, Jam, Legato) carry a cost gate: confirm scope via AskUserQuestion when not invoked by name.
- Bundled
*-prompt.mdfiles are pasted into freshly dispatched subagents at runtime, not loaded into the controller's context. A phase described inSKILL.mdis realized by its prompt file; keep the two consistent. - Judgment, adaptation or follow-up questions belong in a skill; deterministic checks or lookups belong in a bundled script or reference file.
Design doctrine
- The conductor never plays (Maestro is the template). The controller dispatches subagents and never reads source or diffs itself; only compact reports return. Reading the plan and read-only git metadata is bookkeeping and allowed.
- Presto is the scoped exception (ADR 0005): its controller implements directly inside a size gate (<=~3 files, <=~150 lines, one module, no new subsystem, dependency, schema or public interface). Two guards must survive any edit: the reviewer is always a fresh subagent, and outgrowing the gate mid-build is a stop-and-hand-off.
- Jam runs unattended (ADR 0006): scouts and an Opus selector stand in for the user; the docket is announced, not approved.
- Model-policy variances (which seats pin Opus, which skills have no Codex seat) and the required shape of every bare
codex execfallback live inshared/invariants.md; each SKILL.md carries a marked copy that must not drift from it. - Maestro plan sets may declare a
stacked chainexecution shape that lands as GitHub stacked PRs (ADR 0008). skills/legato/references/holds MIT-licensed copies from Emil Kowalski's skills repo (ADR 0007). Keepreferences/LICENSE; never edit the copies except to re-sync upstream.- Jam and Legato write standing records into the target project (
docs/repertoire/jam-backlog.md,docs/repertoire/animation.md), superseded in place, never a changelog.
Adding a skill
- Create
skills/<name>/as above. Keep the name consistent acrossplugin.jsonkeywords,SKILL.mdfrontmatter, the README tables and the invocation path. - Add a row to the Skills table in
README.mdand inREADME.ja.md,README.zh-CN.md,README.zh-TW.md. claude plugin validate ., re-run trigger evals if the routing surface changed, commit.- To release, bump
versionin both manifests and record the release inCHANGELOG.mdwith a short paragraph on why.
Conventions
- Commit subjects have no scope:
type: description, type one offeat,fix,refactor,docs,chore. A new skill, docs and a version bump are separate commits. *-workspace/directories beside skills are gitignored skill-creator scratch; never commit them. Trigger evals underskills/<name>/evals/are source.
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.

