SOP 001: Create Your First Skill
Fresh| Field | Value |
|---|---|
| SOP ID | 001 |
| Version | 1.0 |
| Status | Active |
| Last Updated | 2026-02-14 |
Purpose
Create a basic Claude Code skill from scratch, test it, and verify it works both automatically and via direct invocation.
Prerequisites
- Claude Code CLI installed and working
- Access to a terminal/shell
Procedure
Step 1: Choose Location
| Location | Path | Scope |
|---|---|---|
| Enterprise | See managed settings | All org users |
| Personal | ~/.claude/skills/<name>/SKILL.md | All your projects |
| Project | .claude/skills/<name>/SKILL.md | This project only |
| Plugin | <plugin>/skills/<name>/SKILL.md | Where plugin enabled |
Priority
When skills share the same name: enterprise > personal > project. Plugin skills use plugin-name:skill-name namespace and cannot conflict.
Step 2: Create the Directory
bash
# Personal skill (available everywhere)
mkdir -p ~/.claude/skills/my-skill
# Project skill (this repo only)
mkdir -p .claude/skills/my-skillStep 3: Write SKILL.md
Create SKILL.md with two parts:
- YAML frontmatter (between
---markers) - metadata - Markdown content - instructions Claude follows
yaml
---
name: my-skill
description: What this skill does and when to use it
---
Your instructions here. Claude follows these when the skill is invoked.Step 4: Test
Automatic invocation - ask something matching the description:
How does this code work?Direct invocation - use the slash command:
/my-skillVerification Checklist
- [ ] Directory exists at correct location
- [ ]
SKILL.mdhas valid YAML frontmatter - [ ]
nameis lowercase, numbers, hyphens only (max 64 chars) - [ ]
descriptioncontains natural language keywords - [ ] Skill appears in "What skills are available?"
- [ ] Automatic invocation triggers correctly
- [ ]
/nameinvocation works
Troubleshooting
| Issue | Cause | Fix |
|---|---|---|
| Skill not found | Wrong directory path | Verify path matches table above |
| Name conflict | Same name at multiple levels | Higher priority wins (enterprise > personal > project) |
| Skill and command conflict | Both exist with same name | Skill takes precedence over command |