Claude Skills Project Configuration
> This file governs Claude's behavior when working on the claude-skills repository.
Overview
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
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 authorversion: 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-code|code+analysisrelated-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.
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
- 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
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.py
The 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 writing
2. 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 fixes
Add version comparison link at bottom:
[X.Y.Z]: https://github.com/jeffallan/claude-skills/compare/vPREVIOUS...vX.Y.Z
3. 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
After all updates, regenerate the social preview image:
npm install --no-save puppeteer && node ./assets/capture-screenshot.js
This 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.py
The 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
- 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 usage
Exit codes: 0 = success (warnings OK), 1 = errors found
6. Validate Markdown Syntax
Critical: Run markdown validation to catch parsing errors.
python scripts/validate-markdown.py
The 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 CI
Exit 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"
Attribution
Behavioral patterns and process discipline adapted from:
- obra/superpowers by Jesse Vincent (@obra)
- License: MIT
Research documented in: research/superpowers.md