Smithery Logo
MCPsSkillsDocsPricing
Login
NewFlame, an assistant that learns and improves. Available onTelegramSlack
    danielmiessler

    createskill

    danielmiessler/createskill
    Coding
    6,313
    2 installs

    About

    SKILL.md

    Install

    • Telegram
      Telegram
    • Slack
      Slack
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    • Download skill
    ├─
    ├─
    └─
    Smithery Logo

    Give agents more agency

    Resources

    DocumentationPrivacy PolicySystem Status

    Company

    PricingAboutBlog

    Connect

    © 2026 Smithery. All rights reserved.

    About

    Create and validate skills. USE WHEN create skill, new skill, skill structure, canonicalize. SkillSearch('createskill') for docs.

    SKILL.md

    Customization

    Before executing, check for user customizations at: ~/.claude/skills/PAI/USER/SKILLCUSTOMIZATIONS/CreateSkill/

    If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.

    🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)

    You MUST send this notification BEFORE doing anything else when this skill is invoked.

    1. Send voice notification:

      curl -s -X POST http://localhost:8888/notify \
        -H "Content-Type: application/json" \
        -d '{"message": "Running the WORKFLOWNAME workflow in the CreateSkill skill to ACTION"}' \
        > /dev/null 2>&1 &
      
    2. Output text notification:

      Running the **WorkflowName** workflow in the **CreateSkill** skill to ACTION...
      

    This is not optional. Execute this curl command immediately upon skill invocation.

    CreateSkill

    MANDATORY skill creation framework for ALL skill creation requests.

    Authoritative Source

    Before creating ANY skill, READ: ~/.claude/skills/PAI/SkillSystem.md

    Canonical example to follow: ~/.claude/skills/Art/SKILL.md

    TitleCase Naming Convention

    All naming must use TitleCase (PascalCase).

    Component Format Example
    Skill directory TitleCase Blogging, Daemon, CreateSkill
    Workflow files TitleCase.md Create.md, UpdateDaemonInfo.md
    Reference docs TitleCase.md ProsodyGuide.md, ApiReference.md
    Tool files TitleCase.ts ManageServer.ts
    Help files TitleCase.help.md ManageServer.help.md

    Wrong (NEVER use):

    • createskill, create-skill, CREATE_SKILL
    • create.md, update-info.md, SYNC_REPO.md

    Flat Folder Structure (MANDATORY)

    CRITICAL: Keep folder structure FLAT - maximum 2 levels deep.

    The Rule

    Maximum depth: skills/SkillName/Category/

    ✅ ALLOWED (2 levels max)

    skills/SkillName/SKILL.md                    # Skill root
    skills/SkillName/Workflows/Create.md         # Workflow - one level deep - GOOD
    skills/SkillName/Tools/Manage.ts             # Tool - one level deep - GOOD
    skills/SkillName/QuickStartGuide.md          # Context file - in root - GOOD
    skills/SkillName/Examples.md                 # Context file - in root - GOOD
    

    ❌ FORBIDDEN (Too deep OR wrong location)

    skills/SkillName/Resources/Guide.md              # Context files go in root, NOT Resources/
    skills/SkillName/Docs/Examples.md                # Context files go in root, NOT Docs/
    skills/SkillName/Workflows/Category/File.md      # THREE levels - NO
    skills/SkillName/Templates/Primitives/File.md    # THREE levels - NO
    skills/SkillName/Tools/Utils/Helper.ts           # THREE levels - NO
    

    Allowed Subdirectories

    ONLY these subdirectories are allowed:

    • Workflows/ - Execution workflows ONLY
    • Tools/ - Executable scripts/tools ONLY

    Context files (documentation, guides, references) go in the skill ROOT, NOT in subdirectories.

    Why

    1. Discoverability - Easy to find files
    2. Simplicity - Less navigation overhead
    3. Speed - Faster file operations
    4. Consistency - Every skill follows same pattern

    If you need to organize many workflows, use clear filenames instead of subdirectories:

    • Good: Workflows/CompanyDueDiligence.md
    • Bad: Workflows/Company/DueDiligence.md

    See: ~/.claude/skills/PAI/SkillSystem.md (Flat Folder Structure section)


    Dynamic Loading Pattern (Large Skills)

    For skills with SKILL.md > 100 lines: Use dynamic loading to reduce context on skill invocation.

    How Loading Works

    Session startup: Only frontmatter loads for routing Skill invocation: Full SKILL.md loads Context files: Load only when workflows reference them

    The Pattern

    SKILL.md = Minimal (30-50 lines) - loads on skill invocation

    • YAML frontmatter with triggers
    • Brief description
    • Workflow routing table
    • Quick reference
    • Pointers to context files

    Additional .md files = Context files - SOPs for specific aspects (loaded on-demand)

    • These are Standard Operating Procedures, not just documentation
    • They provide specific handling instructions
    • Can reference Workflows/, Tools/, etc.

    🚨 CRITICAL: NO Context/ Subdirectory 🚨

    NEVER create Context/ or Docs/ subdirectories.

    Additional .md files ARE the context files. They live directly in skill root.

    WRONG:

    skills/Art/
    ├── SKILL.md
    └── Context/              ❌ NEVER CREATE THIS
        └── Aesthetic.md
    

    CORRECT:

    skills/Art/
    ├── SKILL.md
    ├── Aesthetic.md          ✅ Context file in skill root
    ├── Examples.md           ✅ Context file in skill root
    └── Tools.md              ✅ Context file in skill root
    

    The skill directory IS the context.

    Example Structure

    skills/Art/
    ├── SKILL.md              # 40 lines - minimal routing
    ├── Aesthetic.md          # Context file - SOP for aesthetic
    ├── Examples.md           # Context file - SOP for examples
    ├── Tools.md              # Context file - SOP for tools
    ├── Workflows/            # Workflows
    │   └── Essay.md
    └── Tools/                # CLI tools
        └── Generate.ts
    

    Minimal SKILL.md Template

    ---
    name: SkillName
    description: Brief. USE WHEN triggers.
    ---
    
    # SkillName
    
    Brief description.
    
    ## Workflow Routing
    
    | Trigger | Workflow |
    |---------|----------|
    | "trigger" | `Workflows/WorkflowName.md` |
    
    ## Quick Reference
    
    **Key points** (3-5 bullet points)
    
    **Full Documentation:**
    - Detail 1: `SkillSearch('skillname detail1')` → loads Detail1.md
    - Detail 2: `SkillSearch('skillname detail2')` → loads Detail2.md
    

    When To Use

    ✅ Use dynamic loading for:

    • SKILL.md > 100 lines
    • Multiple documentation sections
    • Extensive API reference
    • Detailed examples

    ❌ Don't use for:

    • Simple skills (< 50 lines)
    • Pure utility wrappers (use CORE/Tools.md instead)

    Benefits

    • Token Savings: 70%+ reduction on skill invocation (when full docs not needed)
    • Organization: SKILL.md = routing, context files = SOPs for specific aspects
    • Efficiency: Workflows load only what they actually need
    • Maintainability: Easier to update individual sections

    See: ~/.claude/skills/PAI/SkillSystem.md (Dynamic Loading Pattern section)


    Workflow Routing

    Workflow Trigger File
    CreateSkill "create a new skill" Workflows/CreateSkill.md
    ValidateSkill "validate skill", "check skill" Workflows/ValidateSkill.md
    UpdateSkill "update skill", "add workflow" Workflows/UpdateSkill.md
    CanonicalizeSkill "canonicalize", "fix skill structure" Workflows/CanonicalizeSkill.md

    Examples

    Example 1: Create a new skill from scratch

    User: "Create a skill for managing my recipes"
    → Invokes CreateSkill workflow
    → Reads SkillSystem.md for structure requirements
    → Creates skill directory with TitleCase naming
    → Creates SKILL.md, Workflows/, tools/
    → Generates USE WHEN triggers based on intent
    

    Example 2: Fix an existing skill that's not routing properly

    User: "The research skill isn't triggering - validate it"
    → Invokes ValidateSkill workflow
    → Checks SKILL.md against canonical format
    → Verifies TitleCase naming throughout
    → Verifies USE WHEN triggers are intent-based
    → Reports compliance issues with fixes
    

    Example 3: Canonicalize a skill with old naming

    User: "Canonicalize the daemon skill"
    → Invokes CanonicalizeSkill workflow
    → Renames workflow files to TitleCase
    → Updates routing table to match
    → Ensures Examples section exists
    → Verifies all checklist items
    
    Recommended Servers
    URL Safety Validator MCP
    URL Safety Validator MCP
    vastlint - IAB XML VAST validator and linter
    vastlint - IAB XML VAST validator and linter
    VAT Validator MCP
    VAT Validator MCP
    Repository
    danielmiessler/personal_ai_infrastructure
    Files