claude-skills
CLAUDE.md0 starsChanged 11 months agoMITView on GitHub
This file governs Claude's behavior when working on the claude-skills repository. Skills follow the Agent Skills specification. This section covers project-specific conventions that go beyond the base spec. Critical: Never put process steps or workflow sequences in descriptions. When descriptions contain step-by-step instructions, agents follow the brief description instead of reading the full skill content. This defeats the purpose of detailed skills. Brief capability statements (what it does) and trigger conditions (when to use it) are both appropriate. Process steps…
In this repository67 other files it gives its agents.
- angular-architectSkill
- api-designerSkill
- architecture-designerSkill
- atlassian-mcpSkill
- chaos-engineerSkill
- cli-developerSkill
- cloud-architectSkill
- code-documenterSkill
- code-reviewerSkill
- cpp-proSkill
- csharp-developerSkill
- database-optimizerSkill
- debugging-wizardSkill
- devops-engineerSkill
- django-expertSkill
- django-storages-s3Skill
- dotnet-core-expertSkill
- embedded-systemsSkill
- fastapi-expertSkill
- feature-forgeSkill
- fine-tuning-expertSkill
- flutter-expertSkill
- fullstack-guardianSkill
- game-developerSkill
- golang-proSkill
- graphql-architectSkill
- java-architectSkill
- javascript-proSkill
- kotlin-specialistSkill
- kubernetes-specialistSkill
- laravel-specialistSkill
- legacy-modernizerSkill
- mcp-developerSkill
- microservices-architectSkill
- ml-pipelineSkill
- monitoring-expertSkill
- nestjs-expertSkill
- nextjs-developerSkill
- pandas-proSkill
- php-proSkill
- playwright-expertSkill
- postgres-proSkill
- prompt-engineerSkill
- python-proSkill
- rag-architectSkill
- rails-expertSkill
- react-expertSkill
- react-native-expertSkill
- rust-engineerSkill
- salesforce-developerSkill
- secure-code-guardianSkill
- security-reviewerSkill
- shopify-expertSkill
- spark-engineerSkill
- spec-minerSkill
- spring-boot-engineerSkill
- sql-proSkill
- sre-engineerSkill
- swift-expertSkill
- terraform-engineerSkill
- The first 60 shown.
The file
Show its rules and text
We split this CLAUDE.md into the rules it gives an agent
33 rules. About 0 are common, 20 are distinctive, and 13 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈20
Distinctive · estimate
This author's own choices. Worth a look.
13
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Critical: Never put process steps or workflow sequences in descriptions.
- Distinctive: line 85
Keep files focused on a single topic
- Very specific: line 99
Every SKILL.md MUST end with a single canonical Documentation link pointing back to the docs site:
- Very specific: line 114
When adding or renaming a skill: update both the directory name (which becomes {skill-name}) and the metadata.domain consistently with this …
- Distinctive: line 155
Check existing skills for overlap
- Very specific: line 156
Write SKILL.md with capability + trigger description (no process steps)
- Distinctive: line 157
Create reference files for deep content (100+ lines)
- Distinctive: line 158
Add routing table linking topics to references
- Distinctive: line 160
Test skill triggers with realistic prompts
- Very specific: line 161
Update SKILLS_GUIDE.md if adding new domain
- Distinctive: line 165
Read the full current skill before editing
- Distinctive: line 169
Verify routing table accuracy
- Very specific: line 173
Every external contribution (issue or PR) gets the gratitude label, whatever its outcome.
- Very specific: line 181
If skill or reference counts changed, run python scripts/update-docs.py in the same push, otherwise update-docs.py --check fails CI on main
- Distinctive: line 195
When releasing a new version, follow these steps.
- Very specific: line 212
Update the version field in version.json
- Distinctive: line 213
Run the update script:
- Very specific: line 221
Update version.json with computed counts
- Very specific: line 222
Update all documentation files (README.md, plugin.json, etc.)
- Distinctive: line 232
Add new version entry at the top following Keep a Changelog format:
- Distinctive: line 247
Add version comparison link at bottom:
- Very specific: line 255
Add to SKILLS_GUIDE.md in appropriate category
- Distinctive: line 256
Add to decision trees if applicable
- Very specific: line 257
Run python scripts/update-docs.py to update counts
- Distinctive: line 261
Add to README.md Project Workflow Commands table
- Very specific: line 266
Update SKILLS_GUIDE.md if triggers changed
- Distinctive: line 272
When regeneration is needed:
- Distinctive: line 282
Critical: Run validation before release to prevent broken skills from being published.
- Distinctive: line 309
Critical: Run markdown validation to catch parsing errors.
- Distinctive: line 319
Column count consistency: - All table rows must have same column count
- Distinctive: line 332
After running validation, manually verify:
- Very specific: line 343
Never edit the plugin branch by hand.
- Distinctive: line 344
After the tag push, confirm the workflow succeeded and the branch's latest commit names the new 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 Skills Project Configuration
This file governs Claude's behavior when working on the claude-skills repository.
Skill Authorship Standards
Skills follow the Agent Skills specification. This section covers project-specific conventions that go beyond the base spec.
The Description Trap
Critical: Never put process steps or workflow sequences in descriptions. When descriptions contain step-by-step instructions, agents follow the brief description instead of reading the full skill content. This defeats the purpose of detailed skills.
Brief capability statements (what it does) and trigger conditions (when to use it) are both appropriate. Process steps (how it works) are not.
BAD - Process steps in description:
description: Use for debugging. First investigate root cause, then analyze
patterns, test hypotheses, and implement fixes with tests.GOOD - Capability + trigger:
description: Diagnoses bugs through root cause analysis and pattern matching.
Use when encountering errors or unexpected behavior requiring investigation.Format: [Brief capability statement]. Use when [triggering conditions].
Descriptions tell WHAT the skill does and WHEN to use it. The SKILL.md body tells HOW.
Frontmatter Requirements
Per the Agent Skills specification, only name and description are top-level required fields. Custom fields go under metadata.
---
name: skill-name-with-hyphens
description: [Brief capability statement]. Use when [triggering conditions] - max 1024 chars
license: MIT
metadata:
author: https://github.com/Jeffallan
company: https://synergetic.solutions
version: "1.0.0"
domain: frontend
triggers: keyword1, keyword2, keyword3
role: specialist
scope: implementation
output-format: code
related-skills: fullstack-guardian, test-master, devops-engineer
---Top-level fields (spec-defined):
name: Letters, numbers, and hyphens only (no parentheses or special characters)description: Maximum 1024 characters. Capability statement + trigger conditions. No process steps.license: AlwaysMITfor this projectallowed-tools: Space-delimited tool list (only on skills that restrict tools)
Metadata fields (project-specific):
author: GitHub profile URL of the skill authorcompany: Optional. URL of the author's company (https://synergetic.solutionson skills authored by @jeffallan); omit for contributed skills unless the contributor supplies oneversion: Semantic version string (quoted, e.g.,"1.0.0")domain: Category from the domain list belowtriggers: Comma-separated searchable keywordsrole:specialist|expert|architect|engineerscope:implementation|review|design|system-design|testing|analysis|infrastructure|optimization|architectureoutput-format:code|document|report|architecture|specification|schema|manifests|analysis|analysis-and-coderelated-skills: Comma-separated skill directory names (e.g.,fullstack-guardian, test-master). Must resolve to existing skill directories.
Domain values:
language · backend · frontend · infrastructure · api-architecture · quality · devops · security · data-ml · platform · specialized · workflow
Reference File Standards
Reference files follow the Agent Skills specification. No specific headers are required.
Guidelines:
- 100-600 lines per reference file
- Keep files focused on a single topic
- Complete, working code examples with TypeScript types
- Cross-reference related skills where relevant
- Include "when to use" and "when not to use" guidance
- Practical patterns over theoretical explanations
Framework Idiom Principle
Reference files for framework-specific skills must reflect the idiomatic best practices of that framework, not generic patterns applied uniformly across all skills. If a framework provides a built-in mechanism (e.g., global error handling, middleware, dependency injection), reference examples should use it rather than duplicating that behavior manually. Each framework's conventions for error handling, architecture, and code organization take precedence over cross-project consistency.
Documentation Backlink
Every SKILL.md MUST end with a single canonical Documentation link pointing back to the docs site:
[Documentation](https://jeffallan.github.io/claude-skills/skills/{domain}/{skill-name}/){domain}ismetadata.domainfrom the frontmatter (defaultspecializedif absent — matches the fallback insite/scripts/sync-content.mjs).{skill-name}is the skill's directory name.- Format is exactly markdown link syntax (
[text](url)), not a bare URL. Strict CommonMark renderers do not auto-link bare URLs, and the line's purpose is to render as a real<a href>on aggregators (skills.sh, etc.) for SEO backlinks.
Why two surfaces, two behaviors:
- Aggregators consume raw
SKILL.mdfrom GitHub and render the line as a hyperlink. This is the SEO point. - The docs site itself would render this line as a self-link, which is redundant.
syncSkillPagesinsite/scripts/sync-content.mjsstrips the line at build time so the docs site, public markdown mirrors,llms.txt, andllms-full.txtnever show it.
When adding or renaming a skill: update both the directory name (which becomes {skill-name}) and the metadata.domain consistently with this URL formula, otherwise the backlink will 404.
Maintainer Credit
Skills authored by @jeffallan (those with metadata.company: https://synergetic.solutions) carry one more line, directly above the Documentation backlink, separated by a blank line. It matches the docs site footer credit:
Maintained by [@jeffallan](https://github.com/jeffallan), Principal Consultant at [Synergetic Solutions](https://synergetic.solutions)
[Documentation](https://jeffallan.github.io/claude-skills/skills/{domain}/{skill-name}/)- The Documentation backlink stays the last line
- Contributed skills do not get this line unless their
metadata.companyis set to the same URL syncSkillPagesstrips it at build time alongside the Documentation backlink, so the docs site, markdown mirrors, andllmsfiles never show it (the site footer shows the same credit once per page)
Progressive Disclosure Architecture
Tier 1 - SKILL.md (~80-100 lines)
- Role definition and expertise level
- When-to-use guidance (triggers)
- Core workflow (5 steps)
- Constraints (MUST DO / MUST NOT DO)
- Routing table to references
Tier 2 - Reference Files (100-600 lines each)
- Deep technical content
- Complete code examples
- Edge cases and anti-patterns
- Loaded only when context requires
Goal: 50% token reduction through selective loading.
Project Workflow
When Creating New Skills
- Check existing skills for overlap
- Write SKILL.md with capability + trigger description (no process steps)
- Create reference files for deep content (100+ lines)
- Add routing table linking topics to references
- Append the canonical Documentation backlink as the last line (see Documentation Backlink above)
- Test skill triggers with realistic prompts
- Update SKILLS_GUIDE.md if adding new domain
When Modifying Skills
- Read the full current skill before editing
- Maintain capability + trigger description format (no process steps)
- Preserve progressive disclosure structure
- Update related cross-references
- Verify routing table accuracy
When Accepting Contributions
Every external contribution (issue or PR) gets the gratitude label, whatever its outcome.
For each PR:
- Discuss fit with project goals before any merge decision (scope, overlap with existing skills, promotional content), then verify the content
- Squash-merge with subject
type(scope): title (#N)- Conflicted fork PRs: squash locally (
git merge --squash), addCo-authored-by:with the contributor's commit email, then close the PR with a comment pointing at the commit
- Conflicted fork PRs: squash locally (
- Record it in a separate commit,
docs(changelog): record #N <summary> under Unreleased, adding an entry under[Unreleased]→ Added/Changed/Fixed that ends with(#N)(appendclosing #ISSUEwhen it resolves one) - If skill or reference counts changed, run
python scripts/update-docs.pyin the same push, otherwiseupdate-docs.py --checkfails CI on main - Post-merge corrections go in their own commit with their own
### Changedentry
At release time, credit contributors (including issue reporters) in a ### Contributors section of the version entry:
### Contributors
- @handle — What they contributed (#N)Release Checklist
When releasing a new version, follow these steps.
1. Update Version and Counts
Version and counts are managed through version.json:
{
"version": "0.4.2",
"skillCount": 65,
"workflowCount": 9,
"referenceFileCount": 355
}To release a new version:
- Update the
versionfield inversion.json - Run the update script:
python scripts/update-docs.pyThe script will:
- Compute counts from the filesystem (skills, references, workflows)
- Update
version.jsonwith computed counts - Update all documentation files (README.md, plugin.json, etc.)
Options:
python scripts/update-docs.py --check # Verify files are in sync (CI use)
python scripts/update-docs.py --dry-run # Preview changes without writing2. Update CHANGELOG.md
Add new version entry at the top following Keep a Changelog format:
## [X.Y.Z] - YYYY-MM-DD
### Added
- New features, skills, commands
### Changed
- Modified functionality, updated skills
### Fixed
- Bug fixesAdd version comparison link at bottom:
[X.Y.Z]: https://github.com/jeffallan/claude-skills/compare/vPREVIOUS...vX.Y.Z3. Update Documentation for New/Modified Content
For new skills:
- Add to
SKILLS_GUIDE.mdin appropriate category - Add to decision trees if applicable
- Run
python scripts/update-docs.pyto update counts
For new commands:
- Add to
docs/WORKFLOW_COMMANDS.md - Add to
README.mdProject Workflow Commands table - Run
python scripts/update-docs.pyto update counts
For modified skills/commands:
- Update any cross-references
- Update SKILLS_GUIDE.md if triggers changed
4. Generate Social Preview (conditional)
The social preview embeds skill, workflow, and reference counts but not the version. Only regenerate when at least one of skillCount, workflowCount, or referenceFileCount in version.json changed in this release — patch releases that only fix docs or a single skill normally do not need it.
When regeneration is needed:
npx -y -p puppeteer node ./assets/capture-screenshot.jsThis creates assets/social-preview.png from assets/social-preview.html.
5. Validate Skills Integrity
Critical: Run validation before release to prevent broken skills from being published.
python scripts/validate-skills.pyThe script validates:
- YAML frontmatter - Parsing, required fields (name, description, triggers), format
- Name format - Letters, numbers, hyphens only
- Description - Max 1024 chars, must contain "Use when" trigger clause
- References - Directory exists, has files, proper headers
- Reference paths - File paths cited in skill markdown resolve relative to the containing file or the skill root
- Count consistency - Skills/reference counts match across documentation
Options:
python scripts/validate-skills.py --check yaml # YAML checks only
python scripts/validate-skills.py --check references # Reference checks only
python scripts/validate-skills.py --skill react-expert # Single skill
python scripts/validate-skills.py --format json # JSON output for CI
python scripts/validate-skills.py --help # Full usageExit codes: 0 = success (warnings OK), 1 = errors found
6. Validate Markdown Syntax
Critical: Run markdown validation to catch parsing errors.
python scripts/validate-markdown.pyThe script validates:
- HTML comments in tables - Comments between table rows break parsing
- Unclosed code blocks - Ensures all code fences are properly closed
- Missing table separators - Tables require
|---|row after header - Column count consistency - All table rows must have same column count
Options:
python scripts/validate-markdown.py --check # CI mode (exit code only)
python scripts/validate-markdown.py --path FILE # Single file
python scripts/validate-markdown.py --format json # JSON output for CIExit codes: 0 = no issues, 1 = issues found
7. Final Verification
After running validation, manually verify:
# Check no old version references remain (except historical changelog)
grep -r "OLD_VERSION" --include="*.md" --include="*.json" --include="*.html"8. Plugin Branch
The plugin ships from the plugin branch, not from main. Pushing the vX.Y.Z tag runs .github/workflows/publish-plugin.yml, which rebuilds that branch from scripts/build-plugin-dist.sh (only .claude-plugin/plugin.json, skills/, commands/, references/, README.md, LICENSE). Both the marketplace entry and the Claude plugin directory read from it.
- Never edit the
pluginbranch by hand; the next publish overwrites it - After the tag push, confirm the workflow succeeded and the branch's latest commit names the new tag
- A file the plugin needs at runtime must live under one of the shipped paths, or it will be missing from installs
Attribution
Behavioral patterns and process discipline adapted from:
- obra/superpowers by Jesse Vincent (@obra)
- License: MIT
Research documented in: research/superpowers.md
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.

