Skill Creation Framework
This skill should be used when the user asks to create a new skill, build a skill, make a custom skill, develop a CLI skill, or wants to extend the CLI with new capabilities.
Content
Purpose
To create new CLI skills following Anthropic's official best practices with zero manual configuration. This skill automates brainstorming, template application, validation, and installation processes while maintaining progressive disclosure patterns and writing style standards.
When to Use This Skill
This skill should be used when:
- -User wants to extend CLI functionality with custom capabilities
- -User needs to create a skill following official standards
- -User wants to automate repetitive CLI tasks with a reusable skill
- -User needs to package domain knowledge into a skill format
- -User wants both local and global skill installation options
Core Capabilities
1. Interactive Brainstorming - Collaborative session to define skill purpose and scope
2. Prompt Enhancement - Optional integration with prompt-engineer skill for refinement
3. Template Application - Automatic file generation from standardized templates
4. Validation - YAML, content, and style checks against Anthropic standards
5. Installation - Local repository or global installation with symlinks
6. Progress Tracking - Visual gauge showing completion status at each step
Step 0: Discovery
Before starting skill creation, gather runtime information:
Key Information Needed:
- -Which platforms to target (Copilot, Claude, Codex, or all three)
- -Installation preference (local, global, or both)
- -Skill name and purpose
- -Skill type (general, code, documentation, analysis)
Main Workflow
Progress Tracking Guidelines
Throughout the workflow, display a visual progress bar before starting each phase to keep the user informed. The progress bar format is:
Format specifications:
- -20 characters wide (use █ for filled, ░ for empty)
- -Percentage based on current step (Step 1=20%, Step 2=40%, Step 3=60%, Step 4=80%, Step 5=100%)
- -Step counter showing current/total (e.g., "Step 3/5")
- -Brief description of current phase
Display the progress bar using:
Phase 1: Brainstorming & Planning
Progress: Display before starting this phase:
Display progress:
Ask the user:
1. What should this skill do? (Free-form description)
- -Example: "Help users debug Python code by analyzing stack traces"
2. When should it trigger? (Provide 3-5 trigger phrases)
- -Example: "debug Python error", "analyze stack trace", "fix Python exception"
3. What type of skill is this?
- -[ ] General purpose (default template)
- -[ ] Code generation/modification
- -[ ] Documentation creation/maintenance
- -[ ] Analysis/investigation
4. Which platforms should support this skill?
- -[ ] GitHub Copilot CLI
- -[ ] Claude Code
- -[ ] Codex
- -[ ] All three (recommended)
5. Provide a one-sentence description (will appear in metadata)
- -Example: "Analyzes Python stack traces and suggests fixes"
Capture responses and prepare for next phase.
Phase 2: Prompt Enhancement (Optional)
Progress: Display before starting this phase:
Update progress:
Ask the user:
"Would you like to refine the skill description using the prompt-engineer skill?"
- -[ ] Yes - Use prompt-engineer to enhance clarity and structure
- -[ ] No - Proceed with current description
If Yes:
1. Check if prompt-engineer skill is available
2. Invoke with current description as input
3. Review enhanced output with user
4. Ask: "Accept enhanced version or keep original?"
If No or prompt-engineer unavailable:
- -Proceed with original user input
Phase 3: File Generation
Progress: Display before starting this phase:
Update progress:
Generate skill structure:
Apply templates:
1. SKILL.md - Use appropriate template:
- -
skill-template-copilot.md,skill-template-claude.md, orskill-template-codex.md - -Substitute placeholders:
- -
{{SKILL_NAME}}→ kebab-case name - -
{{DESCRIPTION}}→ one-line description - -
{{TRIGGERS}}→ comma-separated trigger phrases - -
{{PURPOSE}}→ detailed purpose from brainstorming - -
{{AUTHOR}}→ from git config - -
{{DATE}}→ current date (YYYY-MM-DD) - -
{{VERSION}}→ "1.0.0"
2. README.md - Use readme-template.md:
- -User-facing documentation (300-500 words)
- -Include installation instructions
- -Add usage examples
3. References/ (optional but recommended):
- -Create
detailed-guide.mdfor extended documentation (2k-5k words) - -Move lengthy content here to keep SKILL.md under 2k words
File creation commands:
Display created structure:
Phase 4: Validation
Progress: Display before starting this phase:
Update progress:
Run validation scripts:
Expected output:
If validation fails:
- -Display specific errors
- -Offer to fix automatically (common issues)
- -Ask user to manually correct complex issues
Common auto-fixes:
- -Convert second-person to imperative form
- -Reformat description to third-person
- -Add missing required fields
Phase 5: Installation
Progress: Display before starting this phase:
Update progress:
Ask the user:
"How would you like to install this skill?"
- -[ ] Repository only - Files created in
.github/skills/(works when in repo) - -[ ] Global installation - Create symlinks in
~/.copilot/skills/(works everywhere) - -[ ] Both - Repository + global symlinks (recommended, auto-updates with git pull)
- -[ ] Skip installation - Just create files
If global installation selected:
Installation process:
Verify installation:
Phase 6: Completion
Progress: Display completion message:
Update progress:
Display summary:
Error Handling
Platform Detection Issues
If platforms cannot be detected:
Template Not Found
If templates are missing:
Validation Failures
If content doesn't meet standards:
Installation Conflicts
If symlink already exists:
Bundled Resources
This skill includes additional resources in subdirectories:
references/
Detailed documentation loaded when needed:
- -
anthropic-best-practices.md- Official Anthropic skill development guidelines - -
writing-style-guide.md- Writing standards and examples - -
progressive-disclosure.md- Content organization patterns - -
validation-checklist.md- Pre-commit quality checks
examples/
Working examples demonstrating skill usage:
- -
basic-skill-creation.md- Simple skill creation walkthrough - -
advanced-skill-bundled-resources.md- Complex skill with references/ - -
global-installation.md- Installing skills system-wide
scripts/
Executable utilities for skill maintenance:
- -
validate-all-skills.sh- Batch validation of all skills in repository - -
update-skill-version.sh- Bump version and update changelog - -
generate-skill-index.sh- Auto-generate skills catalog
Technical Implementation Notes
Template Substitution:
- -Use
sedfor simple replacements - -Preserve YAML formatting exactly
- -Handle multi-line descriptions with proper escaping
Symlink Strategy:
- -Always use absolute paths:
ln -sf /full/path/to/source ~/.copilot/skills/name - -Verify symlink before considering installation complete
- -Benefits: Auto-updates when repository is pulled
Validation Integration:
- -Run validation before installation
- -Block installation if critical errors found
- -Warnings are informational only
Git Integration:
- -Extract author from
git config user.name - -Use repository root detection:
git rev-parse --show-toplevel - -Respect
.gitignorepatterns
Quality Standards
SKILL.md Requirements:
- -1,500-2,000 words (ideal)
- -Under 5,000 words (maximum)
- -Third-person description format
- -Imperative/infinitive writing style
- -Progressive disclosure pattern
README.md Requirements:
- -300-500 words
- -User-facing language
- -Clear installation instructions
- -Practical usage examples
Validation Checks:
- -YAML frontmatter completeness
- -Description format (third-person)
- -Word count limits
- -Writing style (no second-person)
- -Required fields present
References
- -Anthropic Official Skill Development Guide: https://github.com/anthropics/claude-plugins-official/blob/main/plugins/plugin-dev/skills/skill-development/SKILL.md
- -Repository: https://github.com/yourusername/cli-ai-skills
- -Writing Style Guide:
resources/templates/writing-style-guide.md - -Progress Tracker Template:
resources/templates/progress-tracker.md
FAQ
Discussion
Loading comments...