# Create Skill

Scaffolds new agent skills for the dotnet/skills repository.

- Repository: https://github.com/dotnet/skills (5787 stars)
- Category: Testing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add dotnet/skills --skill create-skill -g -a claude-code -y`
Codex: `npx skills add dotnet/skills --skill create-skill -g -a codex -y`
Cursor: `npx skills add dotnet/skills --skill create-skill -g -a cursor -y`
Gemini CLI: `npx skills add dotnet/skills --skill create-skill -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add dotnet/skills`

## Description

Scaffolds new agent skills for the dotnet/skills repository. Use when creating a new skill, generating SKILL.md files, writing a skill description that the runtime will actually route to, or setting up skill directory structures. Handles frontmatter generation, section templates, and validation guidance. Do not use for fixing a skill that already fails its evaluation (use improve-skill-quality) or for writing eval.yaml (use create-skill-test).

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Create Skill

This skill helps you scaffold new agent skills that conform to the Agent Skills specification and the dotnet/skills repository conventions.

## When to Use

- Creating a new skill from scratch
- Generating a SKILL.md file with proper frontmatter
- Setting up the skill directory structure with optional folders
- Ensuring compliance with agentskills.io specification

## When Not to Use

- Modifying existing skills (edit directly instead)
- Diagnosing or fixing a skill that fails its evaluation (use `improve-skill-quality`)
- Writing the skill's `eval.yaml` (use `create-skill-test`)
- Creating custom agents (use the agents/ directory pattern)

## Inputs

| Input | Required | Description |
|-------|----------|-------------|
| Skill name | Yes | Lowercase, alphanumeric, hyphens only (e.g., `code-review`, `ci-triage`) |
| Description | Yes | What the skill does and when agents should use it (1-1024 chars) |
| Purpose | Yes | One paragraph describing the outcome |
| Workflow steps | Recommended | Numbered steps the agent should follow |

## Workflow

### Step 1: Validate the skill name

Ensure the name:
- Contains only lowercase letters, numbers, and hyphens
- Does not start or end with a hyphen
- Does not contain consecutive hyphens
- Is between 1-64 characters

### Step 2: Write the description, it is the router

The `description` is the **only** text the runtime sees when deciding whether to load the skill.
A perfect body behind a weak description never runs.

```yaml
---
name: <skill-name>
description: <what it does>. USE FOR: <symptoms, error codes, artifact names, quoted user requests>. DO NOT USE FOR: <nearby-but-wrong intents, with the skill that owns them>.
---
```

The rest: https://github.com/dotnet/skills/blob/HEAD/.agents/skills/create-skill/SKILL.md
