Capture the current session's repeatable process into a reusable SKILL.md skill file. Use when the user wants to create a skill, save a workflow as a skill, turn a process into a reusable skill, or mentions "skillify", "create skill", "make a skill", "save as skill", "capture workflow", "turn this into a skill", "new skill", or wants to automate a repeatable process they just performed.
90
90%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Capture this session's repeatable process into a reusable SKILL.md skill file. Call at the end of the process you want to capture, optionally with a description.
$description: (Optional) Description of the process you want to capture as a skill.Create a well-structured, reusable SKILL.md file that captures a repeatable process from the current session so it can be invoked again later.
Before asking any questions, analyze the conversation to identify the repeatable process: its inputs/parameters, ordered steps, success artifacts/criteria per step, places where the user corrected or steered you, and the tools, agents, and permissions involved.
Success criteria: You have a clear mental model of the process, its steps, inputs, outputs, and success criteria.
Use AskUserQuestion for ALL questions. Never ask questions via plain text. For each round, iterate as much as needed until the user is happy. The user always has a freeform "Other" option to type edits or feedback -- do NOT add your own "Needs tweaking" option. Just offer the substantive choices.
.claude/skills/<name>/SKILL.md) -- for workflows specific to this project~/.claude/skills/<name>/SKILL.md) -- follows you across all reposFor each major step, if it's not glaringly obvious, ask:
You may do multiple rounds of AskUserQuestion here, one round per step, especially if there are more than 3 steps or many clarification questions.
IMPORTANT: Pay special attention to places where the user corrected you during the session, to help inform your design.
Stop interviewing once you have enough information. Don't over-ask for simple processes!
Success criteria: You have all the information needed to write the SKILL.md file and the user has confirmed the design.
Create the skill directory and file at the location the user chose in Round 2. Use this format:
---
name: {{skill-name}}
description: {{one-line description}}
allowed-tools: {{space-delimited list of tool permission patterns observed during session}}
when_to_use: {{detailed description of when Claude should automatically invoke this skill, including trigger phrases and example user messages}}
argument-hint: "{{hint showing argument placeholders}}"
arguments:
{{list of argument names}}
context: {{inline or fork -- omit for inline}}
---
# {{Skill Title}}
Description of skill
## Inputs
- `$arg_name`: Description of this input
## Goal
Clearly stated goal for this workflow. Best if you have clearly defined artifacts or criteria for completion.
## Steps
### 1. Step Name
What to do in this step. Be specific and actionable. Include commands when appropriate.
**Success criteria**: ALWAYS include this! This shows that the step is done and we can move on. Can be a list.Per-step annotations (include where relevant):
Direct (default), Task agent, Teammate (true parallelism + inter-agent comms), or [human]. Specify only if not Direct.Step structure tips:
[human] in the titleFrontmatter rules:
allowed-tools: Minimum permissions needed; use patterns like Bash(gh:*) not Bash; space-delimited stringcontext: fork only for self-contained skills with no mid-process user inputwhen_to_use: Start with "Use when..." and include trigger phrases — tells the model when to auto-invokearguments / argument-hint: Omit if the skill takes no parametersSuccess criteria: The complete SKILL.md content has been drafted.
Before writing the file, output the complete SKILL.md content as a yaml code block in your response so the user can review it with proper syntax highlighting. Then ask for confirmation using AskUserQuestion with a simple question like "Does this SKILL.md look good to save?"
After writing, tell the user:
/{{skill-name}} [arguments]Success criteria: The file is written to disk and the user has been informed how to use it.