Marketplace skill-creator
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
git clone https://github.com/aiskillstore/marketplace
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/barissozen/skill-creator" ~/.claude/skills/aiskillstore-marketplace-skill-creator-bb657d && rm -rf "$T"
skills/barissozen/skill-creator/SKILL.mdSkill Creator
This skill provides guidance for creating effective skills.
When to Use
- Creating a new skill from scratch
- Updating an existing skill
- Organizing skill structure (scripts, references, assets)
- Packaging skills for distribution
- Reviewing skill quality
Workflow
Step 1: Understand Requirements
Gather examples of how the skill will be used.
Step 2: Plan Contents
Identify scripts, references, and assets needed.
Step 3: Initialize Structure
Run init_skill.py to create directory structure.
Step 4: Edit SKILL.md
Define purpose, triggers, and workflow.
Step 5: Package
Run package_skill.py to validate and zip.
Step 6: Iterate
Test and improve based on real usage.
About Skills
Skills are modular, self-contained packages that extend Claude's capabilities by providing specialized knowledge, workflows, and tools. Think of them as "onboarding guides" for specific domains or tasks—they transform Claude from a general-purpose agent into a specialized agent equipped with procedural knowledge that no model can fully possess.
What Skills Provide
- Specialized workflows - Multi-step procedures for specific domains
- Tool integrations - Instructions for working with specific file formats or APIs
- Domain expertise - Company-specific knowledge, schemas, business logic
- Bundled resources - Scripts, references, and assets for complex and repetitive tasks
Anatomy of a Skill
Every skill consists of a required SKILL.md file and optional bundled resources:
skill-name/ ├── SKILL.md (required) │ ├── YAML frontmatter metadata (required) │ │ ├── name: (required) │ │ └── description: (required) │ └── Markdown instructions (required) └── Bundled Resources (optional) ├── scripts/ - Executable code (Python/Bash/etc.) ├── references/ - Documentation to load into context as needed └── assets/ - Files used in output (templates, icons, fonts, etc.)
Progressive Disclosure Design
Skills use a three-level loading system to manage context efficiently:
- Metadata (name + description) - Always in context (~100 words)
- SKILL.md body - When skill triggers (<5k words)
- Bundled resources - As needed by Claude (Unlimited*)
*Unlimited because scripts can be executed without reading into context window.
Skill Creation Process
Step 1: Understand the Skill with Examples
To create an effective skill, clearly understand concrete examples of how the skill will be used.
Questions to ask:
- "What functionality should this skill support?"
- "Can you give examples of how this skill would be used?"
- "What would a user say that should trigger this skill?"
Step 2: Plan the Reusable Skill Contents
Analyze each example by:
- Considering how to execute on the example from scratch
- Identifying what scripts, references, and assets would be helpful
When to use scripts/: When the same code is being rewritten repeatedly or deterministic reliability is needed.
When to use references/: For documentation that Claude should reference while working (schemas, API docs, policies).
When to use assets/: For files used in output (templates, images, boilerplate code).
Step 3: Initialize the Skill
Run the initialization script to create the skill structure:
python .claude/skills/skill-creator/scripts/init_skill.py <skill-name> --path <output-directory>
Step 4: Edit the Skill
Writing Style: Use imperative/infinitive form (verb-first instructions), not second person.
Answer these questions in SKILL.md:
- What is the purpose of the skill, in a few sentences?
- When should the skill be used?
- How should Claude use the skill? (Reference all bundled resources)
Step 5: Package the Skill
python .claude/skills/skill-creator/scripts/package_skill.py <path/to/skill-folder>
Step 6: Iterate
After testing, improve based on real usage:
- Use the skill on real tasks
- Notice struggles or inefficiencies
- Update SKILL.md or bundled resources
- Test again
Best Practices
- Keep SKILL.md under 5k words; move detailed content to references/
- Include grep patterns for large reference files (>10k words)
- Delete unused example directories created by init script
- Avoid information duplication between SKILL.md and references
- Use descriptive metadata - it determines when Claude uses the skill