Skip to content
Back to skills

Create Skill

ASecurity

Create a new Claude Code skill. Use when the user wants to build a new slash-command skill, extend Claude with a specialized workflow, or asks to create/add a skill. Handles scaffolding, SKILL.md authoring, and validation.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 25, 2026
ai-agentspythongobash

Works with

  • claude code

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 25, 2026

npx -y skills add sohaibdevv/Claude-Starter-Kit --skill create-skill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Create Skill?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Create Skill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sohaibdevv-create-skill/badge)](https://www.skillsdirectory.com/skills/sohaibdevv-create-skill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: create-skill
description: >
  Create a new Claude Code skill. Use when the user wants to build a new slash-command
  skill, extend Claude with a specialized workflow, or asks to create/add a skill.
  Handles scaffolding, SKILL.md authoring, and validation.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
argument-hint: "[skill-name] [--description 'what it does']"
---

# /create-skill — Skill Builder

**First:** Read `LEARNINGS.md` in this skill's directory.

**Arguments:** `$ARGUMENTS`

## Process

### Step 1: Understand

If `$ARGUMENTS` provides a skill name and description, proceed. Otherwise ask:

1. What should this skill do? (one sentence)
2. When should it trigger? (what would the user say/do?)
3. What resources does it need? (scripts, reference docs, templates?)

Keep questions to one message. Don't over-interview.

### Step 2: Scaffold

Run the init script:

```bash
python3 .claude/skills/create-skill/scripts/init_skill.py <skill-name> --path .claude/skills
```

This creates the directory with template files. If `--path` is omitted, defaults to `.claude/skills` in the current workspace.

### Step 3: Write SKILL.md

Replace the template content. Follow these rules:

**Frontmatter (required):**
- `name`: kebab-case, max 64 chars. Becomes the `/slash-command`.
- `description`: Comprehensive. This is how Claude decides when to activate. Include trigger phrases, contexts, use cases.

**Frontmatter (optional, add only when needed):**
- `allowed-tools`: Restrict tool access (e.g., `Read, Grep, Glob, Bash`)
- `argument-hint`: Autocomplete hint (e.g., `[filename]`, `[--dry-run]`)
- `fork: true`: Run as sub-agent (use for data-heavy skills that would bloat main context)
- `disable-model-invocation: true`: Manual `/name` only, no auto-trigger

**Body rules:**
- Start with "Read LEARNINGS.md" instruction
- Use `$ARGUMENTS` placeholder for user input
- Imperative form ("Run the script", not "You should run the script")
- Keep under 500 lines. Split longer content into `references/` files.
- Reference bundled resources with relative paths + describe when to read them
- Match freedom to fragility: exact scripts for brittle ops, text guidance for flexible tasks

**Body structure (adapt as needed):**
```markdown
# /name -- One-Line Summary

**First:** Read `LEARNINGS.md` in this skill's directory.
**Arguments:** `$ARGUMENTS`

## Step 1: [Name]
[What to do, expected outcome]

## Step 2: [Name]
[What to do, expected outcome]

## Rules
[Constraints, gotchas, things to never do]
```

### Step 4: Write LEARNINGS.md

Start with an empty learnings file. It will accumulate as the skill runs.

```markdown
# <Skill Name> - Learnings

<!-- Lessons learned from running this skill. Read at start of every invocation. -->
```

### Step 5: Write Supporting Files (if needed)

- **`scripts/`** — For operations that need deterministic reliability or get rewritten repeatedly. Python preferred.
- **`references/`** — On-demand docs SKILL.md tells Claude when to read. For detailed workflows, schemas, examples that would bloat SKILL.md.
- **`assets/`** — Templates, images, boilerplate used in output (not loaded into context).

Delete any empty dirs the init script created that aren't needed.

### Step 6: Validate

Check the result:

```bash
python3 .claude/skills/create-skill/scripts/validate_skill.py .claude/skills/<skill-name>
```

Fix any issues reported.

### Step 7: Update Index

Add the new skill to the `CLAUDE.md` Available Skills section.

## Rules

- One skill = one concern. Don't bundle unrelated workflows.
- Description is the trigger — if it's vague, the skill won't activate when needed.
- SKILL.md is for another Claude instance. Include what's non-obvious, skip what any model already knows.
- No hardcoded absolute paths except `~/claude-assistant/` and `~/`. Use relative paths within the skill dir.
- Test the skill by running it once before reporting done.

Files in this skill

  • LEARNINGS.md113 B
  • SKILL.md3.9 KB
  • scripts/init_skill.py2.6 KB
  • scripts/validate_skill.py2.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.