Agent skill

create-skill

Guide for creating new skills in Kai's personal AI infrastructure. Use when user wants to create, update, or structure a new skill that extends capabilities with specialized knowledge, workflows, or tool integrations. Follows both Anthropic skill standards and PAI-specific patterns.

Stars 42
Forks 8

Install this agent skill to your Project

npx add-skill https://github.com/danielmiessler/PAIPlugin/tree/main/skills/create-skill

SKILL.md

Create Skill - Skill Creation Framework

When to Activate This Skill

  • "Create a new skill for X"
  • "Build a skill that does Y"
  • "Add a skill for Z"
  • "Update/improve existing skill"
  • "Structure a skill properly"
  • User wants to extend Kai's capabilities

Core Skill Creation Workflow

Step 1: Understand the Purpose

Ask these questions:

  • What does this skill do? (Clear, specific purpose)
  • When should it activate? (Trigger conditions)
  • What tools/commands does it use? (Dependencies)
  • Is it simple or complex? (Determines structure)

Step 2: Choose Skill Type

Simple Skill (SKILL.md only):

  • Single focused capability
  • Minimal dependencies
  • Quick reference suffices
  • Examples: fabric-patterns, youtube-extraction

Complex Skill (SKILL.md + CLAUDE.md + supporting files):

  • Multi-step workflows
  • Extensive context needed
  • Multiple sub-components
  • Examples: development, website, consulting

Step 3: Create Directory Structure

bash
# Simple skill
${PAI_DIR}/skills/[skill-name]/
└── SKILL.md

# Complex skill
${PAI_DIR}/skills/[skill-name]/
├── SKILL.md           # Quick reference
├── CLAUDE.md          # Full context
└── [subdirectories]/  # Supporting resources

Step 4: Write SKILL.md (Required)

Use this structure:

markdown
---
name: skill-name
description: Clear description of what skill does and when to use it. Should match activation triggers.
---

# Skill Name

## When to Activate This Skill
- Trigger condition 1
- Trigger condition 2
- User phrase examples

## [Main Content Sections]
- Core workflow
- Key commands
- Examples
- Best practices

## Supplementary Resources
For detailed context: `read ${PAI_DIR}/skills/[skill-name]/CLAUDE.md`

Step 5: Write CLAUDE.md (If Complex)

Include:

  • Comprehensive methodology
  • Detailed workflows
  • Component documentation
  • Advanced usage patterns
  • Integration instructions
  • Troubleshooting guides

Step 6: Add to Global Context

Update ${PAI_DIR}/global/KAI.md available_skills section to include the new skill so it shows up in the system prompt.

Step 7: Test the Skill

  1. Trigger it with natural language
  2. Verify it loads correctly
  3. Check all references work
  4. Validate against examples

Skill Naming Conventions

  • Lowercase with hyphens: create-skill, web-scraping
  • Descriptive, not generic: fabric-patterns not text-processing
  • Action or domain focused: ai-image-generation, chrome-devtools

Description Best Practices

Your description should:

  • Clearly state what the skill does
  • Include trigger phrases (e.g., "USE WHEN user says...")
  • Mention key tools/methods used
  • Be concise but complete (1-3 sentences)

Good examples:

  • "Multi-source comprehensive research using perplexity-researcher, claude-researcher, and gemini-researcher agents. Launches up to 10 parallel research agents for fast results. USE WHEN user says 'do research', 'research X', 'find information about'..."
  • "Chrome DevTools MCP for web application debugging, visual testing, and browser automation. The ONLY acceptable way to debug web apps - NEVER use curl, fetch, or wget."

Templates Available

  • simple-skill-template.md - For straightforward capabilities
  • complex-skill-template.md - For multi-component skills
  • skill-with-agents-template.md - For skills using sub-agents

Supplementary Resources

For complete guide with examples: read ${PAI_DIR}/skills/create-skill/CLAUDE.md For templates: ls ${PAI_DIR}/skills/create-skill/templates/

Key Principles

  1. Progressive disclosure: SKILL.md = quick reference, CLAUDE.md = deep dive
  2. Clear activation triggers: User should know when skill applies
  3. Executable instructions: Imperative/infinitive form (verb-first)
  4. Context inheritance: Skills inherit global context automatically
  5. No duplication: Reference global context, don't duplicate it
  6. Self-contained: Skill should work independently
  7. Discoverable: Description enables Kai to match user intent

Expand your agent's capabilities with these related and highly-rated skills.

danielmiessler/PAIPlugin

ffuf-web-fuzzing

Expert guidance for ffuf web fuzzing during penetration testing, including authenticated fuzzing with raw requests, auto-calibration, and result analysis

42 8
Explore
danielmiessler/PAIPlugin

PAI

Personal AI Infrastructure (PAI) - PAI System Template MUST BE USED proactively for all user requests. USE PROACTIVELY to ensure complete context availability. === CORE IDENTITY (Always Active) === Your Name: [CUSTOMIZE - e.g., Kai, Nova, Atlas] Your Role: [CUSTOMIZE - e.g., User's AI assistant and future friend] Personality: [CUSTOMIZE - e.g., Friendly, professional, resilient to user frustration. Be snarky back when the mistake is user's, not yours.] Operating Environment: Personal AI infrastructure built around Claude Code with Skills-based context management Message to AI: [CUSTOMIZE - Add personal message about interaction style, handling frustration, etc.] === ESSENTIAL CONTACTS (Always Available) === - [Primary Contact Name] [Relationship]: email@example.com - [Secondary Contact] [Relationship]: email@example.com - [Third Contact] [Relationship]: email@example.com Full contact list in SKILL.md extended section below === CORE STACK PREFERENCES (Always Active) === - Primary Language: [e.g., TypeScript, Python, Rust] - Package managers: [e.g., bun for JS/TS, uv for Python] - Analysis vs Action: If asked to analyze, do analysis only - don't change things unless explicitly asked - Scratchpad: Use ~/.claude/scratchpad/ with timestamps for test/random tasks === CRITICAL SECURITY (Always Active) === - NEVER COMMIT FROM WRONG DIRECTORY - Run `git remote -v` BEFORE every commit - `~/.claude/` CONTAINS EXTREMELY SENSITIVE PRIVATE DATA - NEVER commit to public repos - CHECK THREE TIMES before git add/commit from any directory - [ADD YOUR SPECIFIC WARNINGS - e.g., iCloud directory, company repos, etc.] === RESPONSE FORMAT (Always Use) === Use this structured format for every response: 📋 SUMMARY: Brief overview of request and accomplishment 🔍 ANALYSIS: Key findings and context ⚡ ACTIONS: Steps taken with tools used ✅ RESULTS: Outcomes and changes made - SHOW ACTUAL OUTPUT CONTENT 📊 STATUS: Current state after completion ➡️ NEXT: Recommended follow-up actions 🎯 COMPLETED: [Task description in 12 words - NOT "Completed X"] 🗣️ CUSTOM COMPLETED: [Voice-optimized response under 8 words] === PAI/KAI SYSTEM ARCHITECTURE === This description provides: core identity + essential contacts + stack preferences + critical security + response format (always in system prompt). Full context loaded from SKILL.md for comprehensive tasks, including: - Complete contact list and social media accounts - Voice IDs for agent routing (if using ElevenLabs) - Extended security procedures and infrastructure caution - Detailed scratchpad instructions === CONTEXT LOADING STRATEGY === - Tier 1 (Always On): This description in system prompt (~1500-2000 tokens) - essentials immediately available - Tier 2 (On Demand): Read SKILL.md for full context - comprehensive details === WHEN TO LOAD FULL CONTEXT === Load SKILL.md for: Complex multi-faceted tasks, need complete contact list, voice routing for agents, extended security procedures, or explicit comprehensive PAI context requests. === DATE AWARENESS === Always use today's actual date from the date command (YEAR MONTH DAY HOURS MINUTES SECONDS PST), not training data cutoff date.

42 8
Explore
danielmiessler/PAIPlugin

fabric

Intelligent pattern selection for Fabric CLI. Automatically selects the right pattern from 242+ specialized prompts based on your intent - threat modeling, analysis, summarization, content creation, extraction, and more. USE WHEN processing content, analyzing data, creating summaries, threat modeling, or transforming text.

42 8
Explore
danielmiessler/PAIPlugin

prompting

Prompt engineering standards and context engineering principles for AI agents based on Anthropic best practices. Covers clarity, structure, progressive discovery, and optimization for signal-to-noise ratio.

42 8
Explore
danielmiessler/PAIPlugin

always-init

Universal task initializer that automatically loads PAI context for all user requests. Ensures complete context availability (contacts, preferences, protocols) before responding to any task. (project, gitignored)

42 8
Explore
danielmiessler/PAIPlugin

alex-hormozi-pitch

Create irresistible offers and pitches using Alex Hormozi's methodology from $100M Offers. Guides through value equation, guarantee frameworks, pricing psychology, and creating offers "too good not to take" for any product or service.

42 8
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results