Skip to content

SOP 001: Create Your First Skill

Fresh
FieldValue
SOP ID001
Version1.0
StatusActive
Last Updated2026-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

LocationPathScope
EnterpriseSee managed settingsAll org users
Personal~/.claude/skills/<name>/SKILL.mdAll your projects
Project.claude/skills/<name>/SKILL.mdThis project only
Plugin<plugin>/skills/<name>/SKILL.mdWhere 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-skill

Step 3: Write SKILL.md

Create SKILL.md with two parts:

  1. YAML frontmatter (between --- markers) - metadata
  2. 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-skill

Verification Checklist

  • [ ] Directory exists at correct location
  • [ ] SKILL.md has valid YAML frontmatter
  • [ ] name is lowercase, numbers, hyphens only (max 64 chars)
  • [ ] description contains natural language keywords
  • [ ] Skill appears in "What skills are available?"
  • [ ] Automatic invocation triggers correctly
  • [ ] /name invocation works

Troubleshooting

IssueCauseFix
Skill not foundWrong directory pathVerify path matches table above
Name conflictSame name at multiple levelsHigher priority wins (enterprise > personal > project)
Skill and command conflictBoth exist with same nameSkill takes precedence over command

See Also

Built with VitePress + Claude Code Skills RAG Chat