Creating and Editing Claude Skills
Use before creating or editing any SKILL.md files, and immediately after making skill changes to verify quality. Invoked when user asks about skill structure, descriptions, or best practices. Provides expert guidance on naming, descriptions for discoverability, progressive context reveal, and validation workflows. Critical for ensuring skills are discoverable and effective - prevents poorly structured skills that Claude won't use properly.
What this skill does
# Writing Claude Skills
This skill provides comprehensive guidance for creating high-quality Claude Code skills that are modular, discoverable, and effective.
## What Are Claude Skills?
Skills are modular capabilities that extend Claude's functionality. They are:
- **Model-invoked**: Claude autonomously decides when to use them based on descriptions
- **Discoverable**: Found through descriptive `SKILL.md` files
- **Shareable**: Can be personal, project-specific, or plugin-bundled
Skills differ from slash commands (user-invoked) - they're capabilities Claude chooses to use.
## Core Structure
Every skill requires a directory containing `SKILL.md` with YAML frontmatter:
```markdown
---
name: Your Skill Name
description: Clear, specific one-line description
---
# Instructions and content
```
For detailed structure information including optional files, see `reference/skill-structure.md`.
## Key Principles
### 1. Be Concise
- Keep SKILL.md under 500 lines
- Only include what Claude doesn't already know
- Use progressive disclosure with reference files
### 2. Clear Naming
- Use gerund form (verb + -ing): "Processing PDFs", "Analyzing Data"
- Avoid vague names: "Helper", "Utils", "Manager"
- Make names descriptive and specific
### 3. Specific Descriptions
- Write in third person
- Include key terms for discoverability
- Clearly indicate when to use the skill
- Maximum 1024 characters
### 4. Progressive Context Reveal
- Start with essential information in SKILL.md
- Reference detailed docs when needed
- Organize supporting files logically
## Creating a Skill
### Quick Start
1. Create skill directory: `mkdir -p .claude/skills/my-skill`
2. Create `SKILL.md` with frontmatter
3. Write clear name and description
4. Add concise instructions
5. Test with Claude
For a complete template, see `templates/skill-template.md`.
### Writing Effective Instructions
**DO:**
- Provide concrete examples
- Create clear step-by-step workflows
- Include validation/feedback loops
- Use consistent terminology
- Reference additional files for details
**DON'T:**
- Include time-sensitive information
- Over-explain what Claude already knows
- Use vague or ambiguous language
- Cram all details into SKILL.md
### Setting Degrees of Freedom
Match specificity to task requirements:
- **High freedom**: Flexible, creative tasks
- **Low freedom**: Fragile, sequence-critical operations
Example:
```markdown
# Low freedom (specific)
When processing invoice PDFs:
1. Extract date field using format YYYY-MM-DD
2. Validate amount matches total
3. Output to invoices.json
# High freedom (flexible)
Analyze the document and extract relevant financial information.
```
## File Organization
Use progressive disclosure for complex skills within the skill directory:
```
my-skill/
├── SKILL.md # Concise entry point
├── reference/ # Detailed documentation
│ ├── api-docs.md
│ └── examples.md
├── scripts/ # Helper utilities
│ └── validator.py
└── templates/ # Starting templates
└── output.json
```
**IMPORTANT**: Skills must be self-contained within their directory:
- Only reference files within the skill directory
- Do NOT reference external files (e.g., `../../CLAUDE.md` or project files)
- Include all necessary content within the skill structure
- Skills may be used in different contexts and must work independently
See `reference/skill-structure.md` for detailed organization patterns.
## Best Practices
For comprehensive best practices, see `reference/best-practices.md`. Key highlights:
### Description Writing
```markdown
# Good
description: Guides creation of React components following project conventions, including TypeScript types, styled-components, and test patterns
# Vague
description: Helps with React stuff
```
### Documentation
- Write skills for the current Claude model's capabilities
- Avoid time-sensitive information
- Test iteratively with real scenarios
- Create evaluation cases before extensive docs
### Tool Restrictions
Limit tool access when needed:
```yaml
---
name: Read-Only Analysis
allowed-tools: [Read, Grep, Glob]
---
```
## Examples
See `reference/examples.md` for complete skill examples including:
- Simple focused skills
- Complex multi-file skills
- Skills with tool restrictions
- Skills with progressive disclosure
## Testing and Iteration
1. Start with core functionality
2. Test with Claude on real scenarios
3. Refine based on actual usage
4. Add supporting docs as needed
5. Keep SKILL.md concise, move details to reference files
## Critical Workflow: Review After Every Change
**IMPORTANT**: Whenever you make changes to a skill file (creating, editing, or updating SKILL.md or related files), you MUST immediately review the skill against best practices.
### Required Review Steps
After making any skill changes:
1. **Read the updated skill**: Use the Read tool to view the complete updated SKILL.md
2. **Apply review checklist**: Review against criteria in `reference/skill-review.md`:
- Name: Gerund form, specific, not vague
- Description: Under 1024 chars, includes key terms, third person
- Length: SKILL.md under 500 lines
- Examples: Concrete and helpful
- Validation: Steps included for verifying success
- Clarity: Instructions are unambiguous and actionable
- Organization: Logical structure with progressive disclosure
3. **Identify issues**: Note any deviations from best practices
4. **Fix immediately**: If issues are found, fix them before completing the task
### What to Check
- **Discoverability**: Will Claude find and use this skill appropriately?
- **Clarity**: Are instructions clear enough to follow?
- **Completeness**: Is all necessary information included?
- **Conciseness**: Only what Claude doesn't already know?
- **Effectiveness**: Does the skill actually help accomplish the task?
### Common Issues to Catch
- Vague descriptions that hurt discoverability
- Missing validation steps
- Ambiguous instructions
- Monolithic SKILL.md files (over 500 lines)
- Over-explanation of what Claude already knows
- Missing concrete examples
- Time-sensitive information
- External file references (skills must be self-contained)
For comprehensive review guidelines, see `reference/skill-review.md`.
**This review step is not optional** - it ensures every skill change maintains quality and follows best practices.
## Reviewing Skills
Whether reviewing your own skills or others', systematic review ensures quality and effectiveness.
### Review Checklist
Quick checklist for skill review:
- **Name**: Gerund form, specific, not vague
- **Description**: Under 1024 chars, includes key terms, third person
- **Length**: SKILL.md under 500 lines
- **Examples**: Concrete and helpful
- **Validation**: Steps included for verifying success
- **Clarity**: Instructions are unambiguous and actionable
- **Organization**: Logical structure with progressive disclosure
### Key Review Areas
1. **Discoverability**: Will Claude find and use this skill appropriately?
2. **Clarity**: Are instructions clear enough to follow?
3. **Completeness**: Is all necessary information included?
4. **Conciseness**: Only what Claude doesn't already know?
5. **Effectiveness**: Does the skill actually help accomplish the task?
### Common Issues to Check
- Vague descriptions that hurt discoverability
- Missing validation steps
- Ambiguous instructions
- Monolithic SKILL.md files (over 500 lines)
- Over-explanation of what Claude already knows
- Missing concrete examples
- Time-sensitive information
For comprehensive review guidelines, see `reference/skill-review.md`.
## Common Patterns
### Single-Purpose Skill
Focus on one specific capability with clear instructions.
### Multi-Step Workflow
Provide structured steps with validation between stages.
### Context-Heavy Skill
Use progressive disclosure: essentials in SKILL.md, details in reference files.
### Tool-Restricted Skill
Limit tools for safety-critical orRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.