From trousse
Orchestrates all skill development — required before writing or editing any SKILL.md file. Unified 6-step workflow with automated validation, CSO scoring, register checks, and subagent testing. Triggers on 'create skill', 'new skill', 'validate skill', 'check skill quality', 'improve skill discovery', 'check this skill', 'write SKILL.md', 'edit SKILL.md', 'update skill description', 'can I share this', 'scan for sharing'. (user)
npx claudepluginhub spm1001/batterie-de-savoir --plugin trousseThis skill is limited to using the following tools:
Unified skill development toolkit. Supersedes `skill-creator` — combines its creation process with quality validation, description optimization, and testing.
references/anthropic-skills-guide.mdreferences/cowork-environment.mdreferences/cso-guide.mdreferences/dot-graphs.mdreferences/rationalization-table.mdreferences/register-principles.mdreferences/sharing-scan.mdreferences/skill-cli-pattern.mdreferences/skill-patterns.mdscripts/lint_skill.pyscripts/render_graphs.pyscripts/scan.pyscripts/score_description.pyscripts/test_skill.pyCreate, improve, and test SKILL.md files to extend Claude Code with project-specific knowledge and reusable workflows.
Creates, modifies, improves, tests, and benchmarks Claude Code skills using category-aware design, gotchas-driven development, eval prompts, and performance analysis.
Guides creation of new Claude Code skills from scratch, listing existing user/project skills, samples, current directory, and providing metadata templates for descriptions/tags.
Share bugs, ideas, or general feedback.
Unified skill development toolkit. Supersedes skill-creator — combines its creation process with quality validation, description optimization, and testing.
Iron Law: Skills must be discovered to be useful. The description is everything.
Even when the task seems simple, forge adds value you can't get from training alone:
# 1. Initialize new skill
scripts/init_skill.py my-skill --path ~/.claude/skills
# 2. Edit SKILL.md (see Workflow below)
# 3. Lint for structure issues
${CLAUDE_SKILL_DIR}/scripts/lint_skill.py /path/to/skill
# 4. Score description quality (CSO)
${CLAUDE_SKILL_DIR}/scripts/score_description.py /path/to/skill
# 5. Test with subagent (optional but recommended)
${CLAUDE_SKILL_DIR}/scripts/test_skill.py /path/to/skill
# 6. Package for distribution (optional)
${CLAUDE_SKILL_DIR}/scripts/package_skill.py /path/to/skill
Goal: Know exactly how the skill will be used before building.
Questions to answer:
Exit criterion: Clear list of trigger phrases and expected behaviors.
Analyze each example to identify:
| Content Type | When to Include | Example |
|---|---|---|
scripts/ | Same code rewritten repeatedly | rotate_pdf.py |
references/ | Documentation Claude should reference | schema.md |
assets/ | Files used in output (not loaded) | template.pptx |
Exit criterion: List of scripts/references/assets to create.
scripts/init_skill.py <skill-name> --path <directory>
Creates SKILL.md template, example scripts/references/assets. Delete unneeded files.
Order matters:
---
name: kebab-case-name
description: [See CSO Patterns below]
---
Body sections:
| Good | Bad | Why |
|---|---|---|
systematic-debugging | debug | Verb, not capability |
workspace-fluency | utils | Generic, no information |
test-driven-development | pdf-helper | "helper" is meaningless |
desired-outcomes | my-skill | Doesn't describe purpose |
The description determines discovery. Pattern: [ACTION VERB] + [LIFECYCLE CONTEXT] + [METHOD/VALUE PREVIEW]
Best: Clear lifecycle positioning with specific context
description: Orchestrates skill development — required before writing or editing any SKILL.md file. Unified 6-step workflow with automated validation, CSO scoring, and subagent testing.
Why: third-person verb, "required before" positioning, specific context ("any SKILL.md file"), method preview.
Good: Specific trigger with method preview
description: Guides systematic debugging before proposing fixes. 4-phase framework (root cause, pattern analysis, hypothesis testing, implementation) ensures understanding before solutions. Triggers on 'test failing', 'unexpected behavior', 'debug this'.
Why: specific trigger + lifecycle positioning + method preview + value statement.
Good: Natural phrase triggers
description: Coaches on outcome quality. Triggers on 'check my outcomes', 'is this a good outcome', 'review my Todoist' when discussing strategic work.
Why: explicit phrases in quotes, context qualifier.
Good: Scope boundaries to prevent over-triggering
description: Advanced data analysis for CSV files — statistical modelling, regression, clustering. For simple data exploration, use data-viz skill instead.
Why: clear scope boundary in description steers Claude before body loads.
When to add scope boundaries:
Patterns to improve:
| Pattern | Problem | Better |
|---|---|---|
| "Helps with..." | Vague, no trigger | Specific phrases in quotes |
| "Use when creating..." | Too generic | "Required before..." or "Orchestrates..." |
| No timing condition | Claude treats invocation as optional | Add lifecycle positioning: "before", "first" |
| Generic actions | Claude "knows" without loading | Domain-specific phrases |
| Command doesn't name skill | Skill not discoverable | "Invoke the name skill" |
| Over-triggers on related topics | Loads when it shouldn't | Add scope boundary in description |
Run scripts/score_description.py to validate. See references/cso-guide.md for full guidance.
# Automated lint (structure, naming, frontmatter)
scripts/lint_skill.py <skill-path>
# CSO score (description quality)
scripts/score_description.py <skill-path>
# Subagent test (discovery + workflow)
scripts/test_skill.py <skill-path>
All checks should pass before Step 6.
scripts/package_skill.py <skill-path> [output-dir]
Creates .skill file (zip format) for distribution.
(user) tag for user-defined skillsSee references/skill-patterns.md for full taxonomy. Summary:
| Type | Key Feature | Description Pattern |
|---|---|---|
| Process | Phases with gates | Lifecycle positioning (before/first) |
| Fluency | Tool best practices | Specific trigger phrases |
| Coaching | Quality criteria | Natural language triggers |
| Gate | Checklist validation | Required before... |
| Skill+CLI | Orchestrates CLI tool | Required before any cli command |
When skill orchestrates a CLI tool. See references/skill-cli-pattern.md for full template.
# {skill-name}
Orchestrates {domain} using `{cli}` command.
## CLI Reference
## Workflows
## When Skill Extends CLI (coaching, quality criteria)
## Error Recovery
| Mistake | Symptom | Better |
|---|---|---|
| "Use when creating..." | Claude bypasses skill | "Required before..." |
| "Helps with..." | Skill never invoked | Specific trigger phrases |
| No lifecycle positioning | Claude treats invocation as optional | Add "before", "first", "required" |
| Generic actions | Claude "knows" without loading | Domain-specific phrases |
| Mistake | Symptom | Better |
|---|---|---|
| SKILL.md > 500 lines | Token bloat | Split into references/ |
| Name doesn't match dir | Skill not found | Keep synchronized |
| Deeply nested refs | Discovery fails | One level deep max |
| Mistake | Symptom | Better |
|---|---|---|
| Explaining known things | Wastes tokens | Domain-specific only |
| Magic constants | Unclear reasoning | Justify all values |
| Many options, no default | Analysis paralysis | Recommend one path |
| Heavy threat/urgency language | Corner-cutting, concealment | Frame constraints as craft standards |
---
name: kebab-case-name
description: [ACTION VERB] + [LIFECYCLE CONTEXT] + [METHOD/VALUE]. Triggers on 'phrase1', 'phrase2'. (user)
---
# Skill Title
[What good work looks like — the core principle]
## When to Use
[Specific triggers with examples]
## Boundaries
[What this skill is not for]
## Workflow
[Steps with success criteria]
## Common Mistakes
[Pitfalls and better alternatives]
| File | Purpose | When Required |
|---|---|---|
| SKILL.md | Core instructions | Always |
| references/*.md | Detailed guides | When SKILL.md > 500 lines |
| scripts/*.py | Utility scripts | When deterministic code needed |
| assets/* | Output templates | When Claude uses files in output |
Run the sharing scanner:
scripts/scan.py <skill-path>
scripts/scan.py --risk high <skill-path> # High-risk only
Detects: emails, paths with usernames, secrets, company terms.
See references/sharing-scan.md for triage guidelines.
Anthropic scripts (symlinked from skill-creator):
init_skill.py — generate templatepackage_skill.py — create .skill fileForge scripts:
lint_skill.py — automated structure validationscore_description.py — CSO quality scoringtest_skill.py — subagent pressure testingscan.py — PII/secrets scanner for sharingrender_graphs.py — DOT workflow diagrams to SVGreferences/cso-guide.md — Claude Search Optimization principlesreferences/skill-cli-pattern.md — Skill+CLI templatereferences/skill-patterns.md — Pattern taxonomy with examplesreferences/rationalization-table.md — Why this skill exists even when the task seems simplereferences/register-principles.md — Emotional register guidelines for instructional textreferences/sharing-scan.md — Sharing triage guidelinesreferences/dot-graphs.md — DOT graph syntax for workflow diagrams