agentleFS
ChrisAdkin8ChrisAdkin8/claude-skills/CLAUDE.md

claude-skills

CLAUDE.md2 starsChanged 45 days agoMITView on GitHub

The files here are what Claude Code runs when you start it from this checkout with claude --plugin-dir ., so an edit is live the moment it's saved. (An installed plugin runs a copy in Claude Code's plugin cache instead, which an edit here doesn't reach.) Keep every file valid at each step, and expect a skill you're editing to be the one you're running. - python3 -m unittest discover -s tests — deterministic tests for the guard, both checkers,…

The file

We split this CLAUDE.md into the rules it gives an agent

6 rules. About 0 are common, 2 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    After changing an agent or skill file, run tests/agent-evals/run.sh by hand.

    line 23
  2. Very specific:

    After changing a skill's steps, run tests/skill-evals/run.sh by hand too (about $0.40 a case for the skill's own session, capped at $3, …

    line 27
  3. Very specific:

    Run both eval sets once per model the skills run on: Sonnet and Opus, with EVAL_MODEL=sonnet and EVAL_MODEL=opus.

    line 31
  4. Very specific:

    Commit messages: spec:, research:, cold-review:, implement:, evals:, tests:, guard:, repo:, readme: — the area, then what changed.

    line 44
  5. Distinctive:

    Commit from this checkout, not GitHub's web editor: its commits carry no prefix, skip the README record, and may use another email address.

    line 46
  6. Distinctive:

    No secrets, credentials or account IDs anywhere, including in test fixtures and spec citations.

    line 64

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

Working in this repo

The files here are what Claude Code runs when you start it from this checkout with claude --plugin-dir ., so an edit is live the moment it's saved. (An installed plugin runs a copy in Claude Code's plugin cache instead, which an edit here doesn't reach.) Keep every file valid at each step, and expect a skill you're editing to be the one you're running.

Before committing

  • python3 -m unittest discover -s tests — deterministic tests for the guard, both checkers, build-index.py, review-state.py, git-read.py, prepare-spike.sh, run-spike.sh, run-agent.sh, run-name.py, launch-checks.sh, agent-def.py, agent-settings.py, mdcheck.py, mine-sessions.py, scan-diff.py, prepare-verify.sh, run-verify.sh, run-implementer.sh, ledger.py and the research scripts; that the eval runners exit 1 on a failure; that the guard's and all four sandbox settings' deny lists agree, and hooks/user-deny.json with them; that no skill's allowed-tools holds a path rule Claude Code ignores; that /implement's own git commands turn off the file watcher and hooks and match its allowed-tools; and the README's index-rebuild command. CI runs these, with ruff, shellcheck and claude plugin validate.
  • python3 tests/replay_guard.py — the guard against real recorded commands and file reads. It exits 0 when every difference is listed in tests/replay-accepted.txt, by fingerprint, never by the command (the transcripts are private). Add an entry, with its reason, only for a change the guard means.
  • After changing an agent or skill file, run tests/agent-evals/run.sh by hand. A full run cost $1.80 on Sonnet and $4.58 on Opus on 2026-10-04, and each case is capped at $5 (research-ideas at $10), so it isn't automatic. Add a dated section to tests/agent-evals/BASELINE.md with every case's result and cost, including the cases you didn't expect to change.
  • After changing a skill's steps, run tests/skill-evals/run.sh by hand too (about $0.40 a case for the skill's own session, capped at $3, plus the agents a case launches, capped at $2 each), and record its results in the same BASELINE.md section. A case fails on any call the skill's allowed-tools refused, so a call a skill needs must be pre-approved.
  • Run both eval sets once per model the skills run on: Sonnet and Opus, with EVAL_MODEL=sonnet and EVAL_MODEL=opus. Record each model's results in the same dated BASELINE.md section, with a column for the model. Run one set after the other, never at the same time: each checks that nothing else in ~/notes changed while it ran.
  • A change to skills/implement/ or hooks/agents/implementer.md needs the implement skill-eval cases, implement-basic, implement-trap and implement-hand-edit, on both models. The first two also run the implementer (capped at $5 under the runner) and up to two verifiers ($5 each), which the runner's printed cost leaves out: add theirs from the run.json files in the results.
  • A change to skills/spec/ or hooks/agents/spec-* usually needs check-spec.py run over docs/specs/ too: the specs in this repo cite these files by path:line.

Conventions

  • Commit messages: spec:, research:, cold-review:, implement:, evals:, tests:, guard:, repo:, readme: — the area, then what changed. Branch before committing; never push unless asked.
  • Commit from this checkout, not GitHub's web editor: its commits carry no prefix, skip the README record, and may use another email address. Merge pull requests here too, with git merge --no-ff and a push of main: GitHub's merge button authors the merge commit with another email address.
  • .claude-plugin/plugin.json has no version on purpose: each commit on main is a new version for installed users (README, Update), so merge only what's ready to ship.
  • In a skill's allowed-tools, pre-approve writes with Edit(path), which also covers the Write tool. Claude Code never consults a Write(path), Glob(path) or NotebookEdit(path) rule (tests/test_skill_frontmatter.py).
  • Skills and the files they load refer to the repo's files as ${CLAUDE_PLUGIN_ROOT}/..., which Claude Code expands to the plugin root: this checkout, or the plugin cache. Don't rewrite them as repo-relative or ~ paths; the guard finds its root from its own location to recognise its scripts. Dated documents (docs/specs/, every records/, CHANGELOG.md, tests/agent-evals/BASELINE.md) keep the paths they were written with, and tests/test_no_stale_paths.py fails on an old install-path reference anywhere else.
  • Specs live in docs/specs/, and /spec's step 7 writes spike results to docs/specs/spikes/.
  • skills/synced/ holds skills Claude Code syncs from the claude.ai account. It's git-ignored and machine-managed: don't edit or commit it.
  • No secrets, credentials or account IDs anywhere, including in test fixtures and spec citations.
  • Log every README change as a dated - Not reviewed: ... line at the end of records/README-record.md. The README has had its one full and one delta review, so /cold-review won't review these again; they record what changed since.

The workflow diagram

  • The README's diagram is docs/workflow*.png, drawn by docs/diagram/workflow.py. Edit the script, never the PNGs: cd docs/diagram && npm install once, then python3 docs/diagram/workflow.py redraws all four, and the social preview below.
  • It also draws docs/social-preview.png, the repo's 1280x640 social media preview. GitHub can't take that from the repo: after redrawing it, upload it by hand in Settings > General > Social preview.
  • Text is placed by estimated widths, so look at the PNGs after changing any wording.
  • The diagram's six stages (Capture, Research, Plan, Spike, Implement, Close out) match the numbered list under "From idea to merged change" in the README. Change one, change the other.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.