skills
CLAUDE.md7 starsChanged 3 months agoMITView on GitHub
Sync with AGENTS.md. This file's body is kept in sync with AGENTS.md so other agents (Codex, Cursor, etc.) get the same context. Only the title and this self-reference line differ between the two; when you edit one, mirror the change to the other in the same commit. Work for this repo is tracked on the GitHub Project board at https://github.com/users/zcaceres/projects/4. The project skill is backend-neutral (backends: github and linear via the official Linear MCP); this repo uses the github backend…
- Commits and pushes
In this repository51 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/optimize-permissions/references/agents.mdAGENTS.md
- acid-tripSkill
- audit-aws-costsSkill
- audit-memoriesSkill
- broSkill
- clean-ai-slopSkill
- cleanup-computerSkill
- code-tourSkill
- copywritingSkill
- decomposeSkill
- eli5Skill
- find-docsSkill
- gemini-deep-researchSkill
- investigate-repoSkill
- laconicSkill
- loose-endsSkill
- memory-insightsSkill
- nano-banana-generatorSkill
- optimize-permissionsSkill
- optimize-skill-activationSkill
- projectSkill
- prSkill
- quality-chaos-monkeySkill
- quality-cli-agent-friendly-auditSkill
- quality-dead-code-analyzerSkill
- quality-docs-updateSkill
- quality-perf-reviewSkill
- quality-project-healthSkill
- quality-worktree-setupSkill
- record-gifSkill
- reflect-on-conversationSkill
- review-codeSkill
- safety-dotenv-guardSkill
- safety-git-reset-guardSkill
- safety-op-credsSkill
- safety-rm-rf-guardSkill
- security-bumblebeeSkill
- security-gitleaksSkill
- security-openssfSkill
- security-scfwSkill
- security-snykSkill
- security-socketSkill
- ste100Skill
- storage-cleanupSkill
- testSkill
- transcribe-youtubeSkill
- travel-photo-stampSkill
- trip-plannerSkill
- zoomSkill
- __SKILL_NAME__Skill
The file
We split this CLAUDE.md into the rules it gives an agent
6 rules. About 0 are common, 0 are distinctive, and 6 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.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 32
Create: /project new-task (creates a linked GitHub issue by default)
- Very specific: line 42
When an item is finished, move it to the Done column — do not delete it.
- Very specific: line 60
Every skill is its own versioned package (skills/<name>/package.json) and ships through Changesets.
- Very specific: line 65
Every change to a skill needs a changeset: After editing anything under skills/<name>/, run bun run changeset, then pick the skill(s) and …
- Very specific: line 79
Run bun run version. main is branch-protected, so land the generated "Version Packages" diff via a PR built from a throwaway git worktree …
- Very specific: line 84
After merge, publish a skill by pushing its <skill>@<version> tag.
≈ “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
Sync with
AGENTS.md. This file's body is kept in sync withAGENTS.mdso other agents (Codex, Cursor, etc.) get the same context. Only the title and this self-reference line differ between the two; when you edit one, mirror the change to the other in the same commit.
Project tracker
Work for this repo is tracked on the GitHub Project board at https://github.com/users/zcaceres/projects/4.
The project skill is backend-neutral (backends: github and linear via
the official Linear MCP); this repo uses the github backend
("backend": "github" in the config). Its configuration — number, owner, project
node ID, status field ID, status option IDs, and the canonical statusMap — is
stored in .project/config.json. Agents managing this board should read that
file rather than hard-coding IDs (IDs change if the project is recreated).
Board access goes through .project/scripts/board.sh:
list [--query <q>] [--include-body]— compact JSONL of all itemsfind <PVTI_… | issue# | title-substring>— resolve a selectorfind-many <selector> [<selector> …]— resolve many selectors against one board fetch (for batch)get <item-id>— full row with bodyset-status <item-id> <status-name>— move card between columns
The helper asserts completeness against totalCount and exits non-zero on
truncation, so an agent that "doesn't see" a card will fail loudly instead
of silently missing it.
Card workflow (all via the /project skill):
- Create:
/project new-task(creates a linked GitHub issue by default) - Pick:
/project next(shows top Todo cards, moves pick to In Progress, dumps context) - Edit:
/project update [id|number|title] - Decompose:
/project decompose [id|number|title](split a big card into linked subtasks) - Audit:
/project audit(board vs codebase) - Delete:
/project delete [id|number|title] - Milestone:
/project milestone create|add|next|list(group work toward a milestone — a github milestone / a linear project milestone) - Batch:
/project batch create|update|delete ...(apply one operation across many cards — single preview, one confirmation, continue-on-error apply loop, per-item tally) - Walk:
/project walk [scope](groom every card in a milestone, status/column, label, or default not-Done scope; each card shows an evidence-backed status-or-keep suggestion;aapplies it, with status/update/keep/details/delete/quit also available)
When an item is finished, move it to the Done column — do not delete it.
Deleted draft items lose their history.
Plugin marketplace (generated)
plugins/ and .claude-plugin/marketplace.json package prefix-grouped skills
(currently security-* and quality-*) as a Claude Code plugin marketplace, so
a group installs at once and its skills are namespaced (/security:openssf, …).
These are generated from skills/ by bun run build:plugins — never
hand-edit the copies under plugins/. Edit the originals in
skills/<group>-<name>/, re-run the build, and commit; CI fails if the
generated tree drifts. See scripts/build-plugins.ts for the transforms
(prefix-stripping, ${CLAUDE_PLUGIN_ROOT} path rewrites, hooks: lifting, and
<!-- plugin:omit --> regions). safety-* is deferred — its guards run a
compiled binary a file-copy marketplace can't ship.
Versioning & releases
Every skill is its own versioned package (skills/<name>/package.json) and ships
through Changesets. The README
"Workflow" section is the command reference; the rules below are what's easy to
get wrong.
Every change to a skill needs a changeset. After editing anything under
skills/<name>/, run bun run changeset, then pick the skill(s) and bump level
(patch/minor/major). CI enforces this: the changeset job fails any PR that
touches skills/** without one (changeset status --since=origin/main). Label a
PR skip-changeset for a deliberate exception. Never hand-edit a skill's
version or CHANGELOG.md — bun run version generates both. Root/infra
changes (this file, scripts/, .github/) are not packages and need no
changeset.
Cutting a release (maintainer, occasional):
bunx @changesets/cli statusfirst.bun run versionconsumes all pending changesets at once (all-or-nothing) and bumps every affected skill — it's a coordinated event, not per-skill. Review the blast radius before running it.- Run
bun run version.mainis branch-protected, so land the generated "Version Packages" diff via a PR built from a throwawaygit worktree add <dir> origin/main(keeps the active branch untouched), and label itskip-changeset(it changes skills but intentionally carries no changeset). Re-runbun run build:pluginsand commit ifplugins/drifts. - After merge, publish a skill by pushing its
<skill>@<version>tag.release.ymlbuilds it, attests provenance, and creates the GitHub Release (tarball + per-platform binaries for binary-bundling skills). Pushing a tag is the irreversible publish step. Push at most 3 tags pergit push— GitHub creates no events (so no releases fire) when more than three tags arrive in a single push, so batch a multi-skill release.
Binary-bundling skills (pr, safety-*) compile a
~60 MB scripts/bin/<name>-<os>-<arch> binary that is gitignored and never
committed. Releases publish those as individual assets; installs provision them
via scripts/fetch-binary.sh (download from the GH release, else build with bun)
— /pr setup and the skills' install.sh run it.
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.

