Skip to content
Development
Skill

/create-skill

Create a new skill or update an existing skill that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations. Use when the user asks to \"create a skill\", \"make a new skill\", \"build a skill\", \"scaffold a skill\", \"write a skill for...\",

From plugin
turbo
40279 skills
Install
$ npx -y skills add tobihagemann/turbo --skill create-skill --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/create-skill

Context preview

The summary Claude sees to decide when to auto-load this skill.

Create a new skill or update an existing skill that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations. Use when the user asks to \"create a skill\", \"make a new skill\", \"build a skill\", \"scaffold a skill\", \"write a skill for...\",

SKILL.md

create-skill.SKILL.md
name: create-skill
description: "Create a new skill or update an existing skill that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations. Use when the user asks to \"create a skill\", \"make a new skill\", \"build a skill\", \"scaffold a skill\", \"write a skill for...\", or \"new skill that does...\"."

Create Skill

This skill guides the creation of effective skills. Authoring guidance is split across the reference files below. Read the ones the current step needs rather than all of them.

| Reference | Covers | |---|---| | [references/principles.md](references/principles.md) | Conciseness, instructions-not-documentation, degrees of freedom | | [references/structure.md](references/structure.md) | Frontmatter, naming, descriptions, progressive disclosure, file layout | | [references/writing.md](references/writing.md) | Prose rules: terminology, phrasing, conditions, thresholds | | [references/workflows.md](references/workflows.md) | Step/phase structure, feedback loops, exit signals, output patterns | | [references/composition.md](references/composition.md) | Depending on, invoking, and fanning out to other skills | | [references/tools.md](references/tools.md) | Agent, Bash, AskUserQuestion, and MCP tool invocation | | [references/evaluation.md](references/evaluation.md) | Evaluations and iterating on a skill from observed behavior | | [references/scripts.md](references/scripts.md) | Skills that bundle executable code | | [references/harness.md](references/harness.md) | Harness tool names, permission modes, and discovery paths |

For conceptual background on how Skills work, see the Skills overview on platform.claude.com.

Step 1: Understanding the Skill with Concrete Examples

Skip this step only when the skill's usage patterns are already clearly understood. It remains valuable even when working with an existing skill.

To create an effective skill, clearly understand concrete examples of how the skill will be used. This understanding can come from either direct user examples or generated examples that are validated with user feedback.

For example, when building an image-editor skill, relevant questions include:

  • "What functionality should the image-editor skill support? Editing, rotating, anything else?"
  • "Can you give some examples of how this skill would be used?"
  • "I can imagine users asking for things like 'Remove the red-eye from this image' or 'Rotate this image'. Are there other ways you imagine this skill being used?"
  • "What would a user say that should trigger this skill?"

To avoid overwhelming users, avoid asking too many questions in a single message. Start with the most important questions and follow up as needed for better effectiveness.

Conclude this step when there is a clear sense of the functionality the skill should support.

Step 2: Planning the Reusable Skill Contents

To turn concrete examples into an effective skill, analyze each example by:

1. Considering how to execute on the example from scratch 2. Identifying what scripts, references, and assets would be helpful when executing these workflows repeatedly

Example: When building a `pdf-editor` skill to handle queries like "Help me rotate this PDF," the analysis shows:

1. Rotating a PDF requires re-writing the same code each time 2. A `scripts/rotate_pdf.py` script would be helpful to store in the skill

Example: When designing a `frontend-webapp-builder` skill for queries like "Build me a todo app" or "Build me a dashboard to track my steps," the analysis shows:

1. Writing a frontend webapp requires the same boilerplate HTML/React each time 2. An `assets/hello-world/` template containing the boilerplate HTML/React project files would be helpful to store in the skill

Example: When building a `big-query` skill to handle queries like "How many users have logged in today?" the analysis shows:

1. Querying BigQuery requires re-discovering the table schemas and relationships each time 2. A `references/schema.md` file documenting the table schemas would be helpful to store in the skill

To establish the skill's contents, analyze each concrete example to create a list of the reusable resources to include: scripts, references, and assets.

When creating a new skill, establish with that list in hand whether the skill earns its existence. The contents fail that test when they compensate for a problem fixable at its source, when they serve a one-time job rather than a recurring one, or when the instruction files the harness already loads cover them. Where any of those holds, state which one and name the alternative — the upstream fix, a runbook, or a doc pointer — then use `AskUserQuestion` to let the user choose between that alternative and building the skill anyway, and continue from their answer. When updating an existing skill, apply the test to the change in hand and record any doubt about the whole skill's reason to exist beside the finished edit.

Step 3: Initializing the Skill

Skip this step if the skill being developed already exists and iteration is needed. In this case, continue to the next step.

When creating a new skill from scratch, create the skill directory with:

  • A `SKILL.md` file with proper YAML frontmatter (`name` and `description`) and TODO placeholders for the body
  • Resource directories as needed: `scripts/`, `references/`, and/or `assets/`

After initialization, customize or remove the generated files as needed.

Step 4: Edit the Skill

When editing the (newly-generated or existing) skill, remember that the skill is being created for another instance of Claude to use. Focus on including information that would be beneficial and non-obvious to Claude. Consider what procedural knowledge, domain-specific details, or reusable assets would help another Claude instance execute these tasks more effectively.

To begin implementation, start with the reusable resources identified above: `scripts/`, `references/`, and `assets/` files.

Read more
Ships withturbo

A composable dev process for agentic coding harnesses, packaged as modular skills. Turbo has sibling editions for Claude Code and Codex. The Claude Code edition is production-tested.

Get the whole plugin
Stats
402
Stars
30
Forks
Active
Maintenance
Shell
Language
MIT
License
2d ago
Last commit
6mo ago
Created

Repo: tobihagemann/turbo

Other skills on turbo.

audit
Skill

audit

Project-wide health audit pipeline that fans out to all analysis skills in parallel, evaluates findings, and produces a unified report at .turbo/audit.md. Use…