Back to Skills

creating-skills

verified

Creates new Claude Code skills with best practices. Use when the user wants to create a skill, add a slash command, or automate a workflow.

View on GitHub

Marketplace

computomatic

computomatic/claude-plugin

Plugin

meta

Repository

computomatic/claude-plugin

plugins/meta/skills/creating-skills/SKILL.md

Last Verified

January 25, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/computomatic/claude-plugin/blob/main/plugins/meta/skills/creating-skills/SKILL.md -a claude-code --skill creating-skills

Installation paths:

Claude
.claude/skills/creating-skills/
Powered by add-skill CLI

Instructions

# Create Skill

Guide the user through creating a highly effective Claude Code skill.

**Important:** Use "ultrathink" extended thinking for skill design decisions.

## Workflow

### Phase 1: Discovery

Ask the user clarifying questions to understand the skill requirements:

1. **Purpose:** What task or workflow should this skill handle?
2. **Scope:** Should it be project-specific (`./skills/`) or personal (`~/.claude/skills/`)?
3. **Invocation:** Should Claude invoke it automatically, or only when the user explicitly calls it?
4. **Output:** What output format or artifacts are expected?
5. **Frequency:** How often will this skill be used?

If the available context makes any of this information obvious, there's no need to ask redundantly. However, clarify any ambiguity rather than making assumptions.
If the user provided arguments, use them to inform the skill name and purpose.

### Phase 2: Design

Determine the skill type and structure:

**Skill Types:**
- **Reference content:** Conventions, patterns, domain knowledge (Claude references as needed)
- **Task content:** Step-by-step workflow with clear phases (Claude follows the steps)
- **Hybrid:** Combines reference material with workflow guidance

**Naming:**
- Lowercase with hyphens
- Be specific: `formatting-sql` not `sql-stuff`
- Always include a `name` field in frontmatter -- without it, the skill name is derived from the directory and may be inconsistently prefixed by the plugin name

**Frontmatter Options:**
```yaml
---
name: skill-name
description: Does X when Y. Use for Z.
argument-hint: "[required-arg] [optional: arg]"
disable-model-invocation: true  # Set true if user should control invocation
---
```

**Description Guidelines:**
- Write in third person ("Creates..." not "Create...")
- Include WHAT the skill does AND WHEN to use it
- Use specific trigger words users might say
- Never use vague descriptions like "helps with documents"

Good: `Generates mermaid diagrams from technical descriptions. Use whe

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
7617 chars