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.
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
# 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:
---
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
- Trigger it with natural language
- Verify it loads correctly
- Check all references work
- Validate against examples
Skill Naming Conventions
- Lowercase with hyphens:
create-skill,web-scraping - Descriptive, not generic:
fabric-patternsnottext-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 capabilitiescomplex-skill-template.md- For multi-component skillsskill-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
- Progressive disclosure: SKILL.md = quick reference, CLAUDE.md = deep dive
- Clear activation triggers: User should know when skill applies
- Executable instructions: Imperative/infinitive form (verb-first)
- Context inheritance: Skills inherit global context automatically
- No duplication: Reference global context, don't duplicate it
- Self-contained: Skill should work independently
- Discoverable: Description enables Kai to match user intent
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
ffuf-web-fuzzing
Expert guidance for ffuf web fuzzing during penetration testing, including authenticated fuzzing with raw requests, auto-calibration, and result analysis
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.
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.
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.
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)
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.
Didn't find tool you were looking for?