If you do something more than once a day, turn it into a skill. Skills are more powerful than slash commands because they auto-load based on context and can include scripts and resources.
Structure
.claude/skills/
deploy/
SKILL.md # Instructions + metadata
scripts/
deploy.sh # Supporting scripts
resources/
checklist.md # Reference docs
SKILL.md Format
---
name: deploy
description: "Handles production deployment with pre-flight checks"
---
## Deploy Workflow
1. Run `scripts/deploy.sh --dry-run` first
2. Check all pre-flight conditions pass
3. If dry run succeeds, run `scripts/deploy.sh --production`
4. Verify deployment health at /api/health
5. Post deployment status to #deployments Slack channel
Key Features
- Auto-loading: Skills activate automatically when Claude detects relevant context, no need to invoke manually
- Live reload: Edit skills during a session and changes take effect immediately
- Prevent auto-invocation: Add
disable-model-invocation: trueto frontmatter if you only want manual triggering
Skill vs. Command vs. CLAUDE.md
| Feature | CLAUDE.md | Skill | Command |
|---|---|---|---|
| Loaded | Always | On-demand | On invoke |
| Triggered by | - | Context match | User types /name |
| Includes scripts | No | Yes | No |
| Best for | Universal rules | Complex workflows | Simple templates |
Tip
Share skills across your team by committing .claude/skills/ to git. Everyone gets the same workflows, and they evolve with the codebase.