📖 Documentation

How to Create a Skill for Claude

A skill is a .md markdown file that teaches Claude how to handle a specific task or workflow. Once uploaded and approved, it appears in the SkillGalaxy library for everyone to download and use in their Claude Projects.

1
Write the .md fileYAML frontmatter + instructions
2
Submit it hereForm or file upload
3
Gets reviewedUsually within 24 hrs
4
Goes liveVisible to everyone

What is a Claude Skill?

When you add a skill file to a Claude Project, Claude reads it and permanently knows how to do that task — every conversation in that project automatically benefits from the skill. You don't need to re-explain your preferences or process every time.

💡
Think of skills like job training for Claude. Instead of telling Claude "here's how I want code reviewed" in every chat, you write it once as a skill — and Claude applies it automatically in every conversation in that project.

Skills work across Claude.ai Projects, Claude Code, and the Claude API. A skill you write once works everywhere.

Skill File Format

Every skill is a single .md (Markdown) file with two parts:

  1. YAML Frontmatter — metadata between --- delimiters at the very top
  2. Skill Body — the actual instructions in Markdown below the frontmatter
---
name: your-skill-name
description: What it does. Use when [specific trigger phrase].
tags: tag1, tag2, tag3
difficulty: intermediate
time_to_master: 3-6 months
---

# Your Skill Name

Your instructions go here in plain Markdown...

## When to Use
Describe exactly when Claude should apply this skill.

## Instructions
1. Step one
2. Step two
3. Step three
⚠️
The file must start with --- on the very first line. No blank lines, no spaces before it. If the frontmatter is missing or malformed, the submission will be rejected.

Frontmatter Fields

Field Required? Rules Example
name Required kebab-case only, no spaces, no capitals, no special chars prompt-engineer
description Required Under 300 chars. Must include WHAT it does AND WHEN to use it. No < > characters. Optimizes LLM prompts. Use when building AI features or debugging model outputs.
tags Optional Comma-separated, max 10 tags, lowercase ai, prompting, llm
difficulty Optional Must be one of: beginner intermediate advanced expert intermediate
time_to_master Optional Free text estimate 2-4 weeks

The name field — Critical Rules

  • Must be kebab-case: lowercase letters and hyphens only
  • No spaces: prompt engineer ❌ → prompt-engineer
  • No underscores: prompt_engineer
  • No capitals: PromptEngineer
  • Cannot start with claude or anthropic (reserved)
  • Must match the folder name if distributing as a folder

The description field — Most Important

This is how Claude decides whether to load your skill. It must answer two questions:

  1. What does it do? — the core capability
  2. When should it activate? — specific trigger phrases users would say
✅ Good
description: Optimizes prompts for LLMs using
chain-of-thought and few-shot techniques. Use
when building AI features, debugging model
outputs, or asking "how do I prompt Claude?"
❌ Bad — too vague
description: Helps with AI stuff and makes
prompts better for language models.

Writing the Skill Body

After the closing ---, write your instructions in plain Markdown. There's no strict template — use whatever structure makes the skill clearest. But these sections work well:

SectionPurposeRequired?
# TitleSkill name as a headingOptional
## When to UseSpecific trigger conditionsRecommended
## InstructionsStep-by-step numbered stepsRecommended
## RulesHard constraints Claude must followOptional
## ExamplesSample inputs and outputsOptional
## Tone & StyleHow Claude should communicateOptional
## Always OutputNon-negotiable output requirementsOptional
💡
Best practice: Use analogies to explain complex concepts. "Think of this skill like a sous chef prep list — everything prepared before service starts." Analogies help Claude apply the skill more naturally.

Writing effective instructions

✅ Specific & actionable
## Instructions
1. Always write a failing test FIRST
   before any production code
2. Run the test — confirm it fails (RED)
3. Write minimal code to pass — no
   elegance yet (GREEN)
4. Refactor while tests stay green
❌ Vague & generic
## Instructions
- Write good code
- Make sure tests pass
- Follow best practices
- Be clean and readable

Available Categories

Choose the category that best matches your skill. Use the exact value shown in the Code column in your submission form.

ai — AI & ML
security — Cybersecurity
data — Data Eng.
cloud — Cloud & Infra
quantum — Quantum
bio — Comp. Bio
spatial — Spatial
blockchain — Web3
robotics — Robotics
climate — Climate
product — Product
creative — Creative Tech
dev — Development
writing — Writing
business — Business
education — Education

Validation Rules

Your skill is automatically checked when submitted. It will be rejected if any of these fail:

  • File must start with --- on line 1 (YAML frontmatter)
  • Frontmatter must contain a name: field
  • Frontmatter must contain a description: field
  • name must be kebab-case (lowercase + hyphens only)
  • Description must be 30–500 characters
  • Total file content must be at least 100 characters
  • No <script> tags or JavaScript event handlers allowed
  • No javascript: URLs
  • File size must be under 100KB
  • File must be .md or .txt
🚫
Never include: personal data, API keys, passwords, proprietary code, content that promotes harm, or plagiarised content from other sources. Violations result in permanent account suspension.

Good vs Bad Examples

Skill names

✅ Correct
name: code-reviewer
name: rag-engineering
name: daily-planning
name: ab-test-design
❌ Will be rejected
name: Code Reviewer       (spaces)
name: RAG_Engineering     (underscore + caps)
name: claude-helper       (reserved prefix)
name: My Cool Skill !!!   (spaces + symbols)

Description quality

✅ Triggers correctly
description: Conducts systematic code reviews
across 6 layers: logic, patterns, performance,
dead code, edge cases, and security. Use when
reviewing PRs, preparing code for commit, or
assessing legacy code quality.
❌ Claude won't know when to load this
description: A helpful skill that reviews
code and makes it better and more readable
and follows best practices for developers.

Instructions quality

✅ Clear, specific, actionable
## Instructions
1. **Logic check**: Can this be simplified?
   Does it violate single responsibility?
2. **Performance**: N+1 queries? Blocking ops?
3. **Dead code**: Unused imports, unreachable
   branches, commented-out legacy code?

Always fix issues — don't just flag them.
Output a severity-rated summary: Critical /
Warning / Suggestion.
❌ Too vague to be useful
## Instructions
- Review the code carefully
- Look for problems
- Make suggestions
- Be thorough and helpful

Complete Working Example

This is a real, production-quality skill you can use as a template. Download it below and test it in a Claude Project.

📄 daily-planner.md — Sample Skill
---
name: daily-planner
description: Structures daily work around 3 Most Important Tasks with
  time blocks, energy matching, and clear done criteria. Use when
  starting your workday, planning tasks, or saying "help me plan today".
tags: productivity, planning, tasks, daily-routine, focus, time-management
difficulty: beginner
time_to_master: 1-2 weeks
---

# Daily Planner

## When to Use
Activate this skill when the user:
- Says "help me plan my day" or "what should I work on today?"
- Asks to prioritise or organise their tasks
- Starts the conversation with what they need to do today
- Seems overwhelmed or unfocused about work

## Instructions

When helping someone plan their day, always follow this process:

1. **Review Context**: Ask what's on their plate today (or read from conversation)
2. **Identify 3 MITs**: Help them select maximum 3 Most Important Tasks
   - MITs = tasks that would make today a success if completed
   - Never more than 3 — protect focus
3. **Time Block**: Assign realistic time estimates to each MIT
   - Include 20% buffer for interruptions and overruns
4. **Energy Match**: Place hard cognitive work in morning, admin/meetings afternoon
5. **Define Done**: For each MIT, write a specific, testable completion criterion

## Output Format

Always produce this exact structure:

```
## Daily Plan — [Day, Date]

### 🎯 Top 3 Priorities
1. [Task] — [Time block] — Done when: [specific criterion]
2. [Task] — [Time block] — Done when: [specific criterion]
3. [Task] — [Time block] — Done when: [specific criterion]

### ⚡ Quick Wins (under 15 min each)
- [small task 1]
- [small task 2]

### 📋 Notes
[Blockers, context, dependencies]
```

## Rules
- Never put more than 3 items in Top 3 Priorities
- "Done when" criteria must be specific and testable — not "finish report"
  but "complete sections 1-3 of Q4 report, ready for manager review"
- If the user lists 10 things, help them ruthlessly cut to 3
- Energy matching is non-negotiable — creative/hard work always morning

## Analogy
Daily planning is like packing for a trip — you can't take everything,
so you pack what you actually need for today, not what might be nice to have.
This skill passes all validation checks. It starts with frontmatter, has a clear description with trigger phrases, specific numbered instructions, an output template, hard rules, and an analogy. Use this as your starting template.

How to Submit

There are two ways to submit a skill:

Option A — Fill in the Form

  1. Sign in to SkillGalaxy (create a free account if needed)
  2. Click "+ Submit Skill" in the top right or sidebar
  3. Fill in: Name, Category, Description, Trigger Phrase, Difficulty
  4. Optionally add: Atomic Skills, Tools, Tags, and Scores
  5. Click Submit Skill — the form auto-generates a valid .md file from your inputs

Option B — Upload a .md File (Recommended)

  1. Write your skill file locally (use the example above as a template)
  2. Sign in to SkillGalaxy
  3. Click "+ Submit Skill" → switch to the "Upload .md File" tab
  4. Drop your .md file — it auto-fills the form fields from your frontmatter
  5. Fill in any missing fields → click Submit Skill
ℹ️
After submitting, your skill appears in "My Submissions" (sidebar) with status Pending. It won't be visible to other users yet.

Review & Approval Process

Every submitted skill goes through a quick review before going live:

StatusMeaningWhat happens next
pending Submitted, awaiting review Visible only to you; admin reviews within 24hrs
approved Passes review Goes live instantly — visible to everyone on all devices
rejected Doesn't meet standards You'll see the rejection reason; you can edit and resubmit

What reviewers check for

  • Clear, specific description with real trigger phrases
  • Actionable, numbered instructions (not vague guidance)
  • Correct frontmatter format and valid name field
  • Skill is genuinely useful and not a duplicate of an existing skill
  • No harmful content, spam, or promotional material
  • At least 150 words of actual instruction content
💡
Tip to get approved fast: Look at the existing skills in the library before writing yours. Match that level of detail and specificity. Skills that include output templates, rules, and analogies are approved almost instantly.

Pre-Submission Checklist

Run through this before submitting. Every item should be ✅.

  • File starts with --- on line 1 (no blank lines before it)
  • name: is kebab-case — no spaces, no caps, no underscores
  • description: says WHAT it does AND WHEN to use it
  • Description includes at least 2 specific trigger phrases
  • Instructions are numbered and specific, not vague bullet points
  • Skill body is at least 150 words
  • No <script> tags or raw HTML
  • No API keys, passwords, or personal data in the file
  • Content is original (not copy-pasted from another skill)
  • Tested the skill in a real Claude Project before submitting
Ready to submit?
Download the sample skill first to test the submission flow
→ Go Submit a Skill