From skill-creator-pro
Create, test, and distribute professional-grade skills with 5 design patterns, security scanning, sanitization, and 3-stage QA. Use when creating a new SKILL.md, updating an existing skill, packaging skills for marketplace distribution, or improving skill trigger accuracy and quality. Covers the full lifecycle from design pattern selection through implementation, security review, testing, and distribution.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skill-creator-pro:skill-creator-proThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Professional-grade guide for creating, testing, and distributing skills. Extends the official skill-creator with 5 design patterns, description optimization, 3-stage QA, and security scanning.
Professional-grade guide for creating, testing, and distributing skills. Extends the official skill-creator with 5 design patterns, description optimization, 3-stage QA, and security scanning.
Skills are modular, self-contained packages that extend Claude's capabilities by providing specialized knowledge, workflows, and tools. They transform Claude from a general-purpose agent into a specialized agent equipped with procedural knowledge.
Concise is Key. The context window is a public good. Only add context Claude doesn't already have. Challenge each piece of information: "Does this paragraph justify its token cost?" Prefer concise examples over verbose explanations.
Set Appropriate Degrees of Freedom. Match specificity to task fragility:
Composability. Assume the skill will be used alongside others. It must be a good citizen in a larger ecosystem.
Portability. A well-designed skill works across environments without modification.
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter (name, description)
│ └── Markdown instructions
└── Bundled Resources (optional)
├── scripts/ - Executable code (Python/Bash/etc.)
├── references/ - Documentation loaded into context as needed
└── assets/ - Files used in output (templates, icons, fonts)
name and description fields. These determine when Claude uses the skill. The description is the primary trigger mechanism.scripts/)references/)assets/)Do NOT create extraneous files: README.md, CHANGELOG.md, INSTALLATION_GUIDE.md, etc. The skill should only contain information needed for an AI agent to do the job.
/home/username/, /Users/username/), personal usernames, company namesscripts/example.py, references/guide.md)Skills should NOT contain version history in SKILL.md. Versions are tracked in marketplace.json.
Skills use a three-level loading system:
Key principle: When a skill supports multiple variations, keep only core workflow and selection guidance in SKILL.md. Move variant-specific details into reference files.
Pattern 1: High-level guide with references - Link to detailed guides from SKILL.md. Claude loads them only when needed.
Pattern 2: Domain-specific organization - Organize references by domain. When a user asks about sales metrics, Claude only reads sales.md.
Pattern 3: Conditional details - Show basic content, link to advanced content. Claude reads advanced files only when needed.
Important: Avoid deeply nested references. Keep references one level deep from SKILL.md.
NEVER edit skills in ~/.claude/plugins/cache/ - that is a read-only cache directory. All changes there are lost when cache refreshes. ALWAYS verify the file path does NOT contain /cache/ or /plugins/cache/.
Follow these 11 steps in order, skipping only when clearly not applicable.
Skip only when the skill's usage patterns are already clearly understood.
Clearly understand concrete examples of how the skill will be used. This understanding can come from direct user examples or generated examples validated with user feedback.
Relevant questions include:
Avoid asking too many questions in a single message. Conclude when there is a clear sense of the functionality the skill should support.
To turn concrete examples into an effective skill, analyze each example by:
Select the pattern that best fits the use case. This is the most important design decision.
| Pattern | Use Case | Reference |
|---|---|---|
| Sequential Workflow | Strict ordered steps, dependency chains | references/pattern-1-sequential-workflow.md |
| Multi-MCP Coordination | Workflows spanning multiple services | references/pattern-2-multi-mcp-coordination.md |
| Iterative Refinement | High-quality output via generate-validate-refine loops | references/pattern-3-iterative-refinement.md |
| Context-Aware Tool Selection | Best tool depends on context of request | references/pattern-4-context-aware-tools.md |
| Domain-Specific Intelligence | Embedding non-obvious expert knowledge | references/pattern-5-domain-intelligence.md |
Read the reference guide for the chosen pattern before proceeding.
For additional workflow patterns (sequential and conditional), see references/workflows.md.
The description in frontmatter is the primary trigger mechanism. If the skill doesn't trigger correctly, the description is the problem.
[Capability Statement]. Use when [Trigger Conditions].references/advanced-description-writing.mdhttps://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices.mdSkip if the skill already exists and only needs iteration or packaging.
Run the init_skill.py script to generate a new template skill directory:
scripts/init_skill.py <skill-name> --path <output-directory>
The script creates the skill directory with a SKILL.md template, TODO placeholders, and example resource directories (scripts/, references/, assets/).
After initialization, customize or remove the generated example files as needed.
The skill is being created for another instance of Claude. Include information that would be beneficial and non-obvious. Consider what procedural knowledge, domain-specific details, or reusable assets would help.
Begin with the reusable resources identified in Step 2. This step may require user input (e.g., brand assets, API documentation).
Added scripts must be tested by actually running them. Delete any example files not needed.
When updating an existing skill: Scan all existing reference files to check if they need corresponding updates.
Filenames must be self-explanatory without reading contents.
<content-type>_<specificity>.mdcommands.md, reference.mdscript_parameters.md, api_endpoints.md, database_schema.mdWriting Style: Use imperative/infinitive form (verb-first instructions), not second person.
To complete SKILL.md:
For output format design, see references/output-patterns.md.
Ask the user before executing: "This skill appears to be extracted from a business project. Would you like me to perform a sanitization review?"
Skip if: the skill was created from scratch for public use, the user declines, or it is for internal use only.
Read references/sanitization_checklist.md for the complete process (automated scans, manual review, and verification).
Run the security scanner to detect hardcoded secrets and personal information:
python scripts/security_scan.py <path/to/skill-folder>
python scripts/security_scan.py <path/to/skill-folder> --verbose
Exit codes: 0 = Clean, 1 = High severity, 2 = Critical (MUST fix), 3 = gitleaks not installed, 4 = Scan error.
First-time setup: Install gitleaks (brew install gitleaks on macOS).
Rigorous testing is not optional. Use the three-stage testing process:
For detailed testing procedures, criteria, and metrics, see references/testing-and-qa-guide.md.
Optionally run the structure validator for early feedback (the packaging script in Step 8 runs this automatically):
python scripts/quick_validate.py <path/to/skill-folder>
Package the skill into a distributable file. The script validates automatically before packaging:
python scripts/package_skill.py <path/to/skill-folder>
python scripts/package_skill.py <path/to/skill-folder> ./dist
The script validates frontmatter, naming conventions, description quality, and path reference integrity. If validation fails, fix errors and run again.
To share the skill, host its directory in a public Git repository.
Recommended repository structure:
my-skill-repo/
├── .github/ # (Optional) GitHub Actions
├── my-skill/ # The skill directory
│ ├── SKILL.md
│ ├── scripts/
│ └── references/
├── .gitignore
├── LICENSE
└── README.md # Human-readable documentation (NOT inside the skill directory)
SKILL.md is for the AI agent. README.md is for human developers, placed in the repository root (not inside the skill directory).
For the complete distribution guide, see references/distribution-guide.md.
Add an entry to .claude-plugin/marketplace.json:
{
"name": "skill-name",
"description": "Copy from SKILL.md frontmatter description",
"source": "./",
"strict": false,
"version": "1.0.0",
"category": "developer-tools",
"keywords": ["relevant", "keywords"],
"skills": ["./skill-name"]
}
For updates, bump the version following semver: patch (bug fixes), minor (new features), major (breaking changes).
After testing the skill on real tasks:
Refinement filter: Only add what solves observed problems. If best practices already cover it, don't duplicate.
| Reference | When to Read |
|---|---|
references/pattern-1-sequential-workflow.md | Designing ordered, multi-step workflows |
references/pattern-2-multi-mcp-coordination.md | Orchestrating across multiple MCPs/services |
references/pattern-3-iterative-refinement.md | Building generate-validate-refine loops |
references/pattern-4-context-aware-tools.md | Selecting tools based on context |
references/pattern-5-domain-intelligence.md | Embedding expert knowledge |
references/advanced-description-writing.md | Optimizing trigger accuracy |
references/workflows.md | Sequential and conditional workflow patterns |
references/output-patterns.md | Template and example output patterns |
references/testing-and-qa-guide.md | 3-stage testing process |
references/distribution-guide.md | Packaging and sharing skills |
references/sanitization_checklist.md | Removing business-specific content |
npx claudepluginhub haboshi/claude-code-skills --plugin skill-creator-proCreates new Claude Code skills from scratch following best practices for structure, naming, frontmatter, progressive disclosure, reference organization, and tool scoping. Use for building skills or converting slash commands.
Creates, modifies, improves, tests, and benchmarks Claude Code skills using category-aware design, gotchas-driven development, eval prompts, and performance analysis.
Guides creating effective, portable skills with YAML frontmatter, markdown instructions, and bundled resources. Useful when authoring or updating skills.