XPrime17

CreateSkill

0
0
# Install this skill:
npx skills add XPrime17/Poseidon --skill "CreateSkill"

Install specific skill from multi-skill repository

# Description

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

# SKILL.md


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


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:
    bash 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

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.