Create Skill from Workflow
Turn a workflow you just performed into a reusable SKILL.md file.
Usage
/create-skill-from-workflow <skill-name>
Procedure
Step 1: Identify the Workflow
Review the current conversation to identify:
- •What task was just completed?
- •What steps were taken (in order)?
- •What decisions were made along the way?
- •What tools/commands were used?
- •Were there any gotchas or mistakes that should be avoided?
Ask the user if anything is unclear about the workflow scope.
Step 2: Determine Skill Properties
Ask or infer:
| Property | Question |
|---|---|
| Name | Use $ARGUMENTS as the skill name (kebab-case) |
| Description | One sentence: what does this skill do and when should it be used? |
| Model-invocable? | Should Claude auto-invoke this, or only when user asks? Default: user-only (disable-model-invocation: true) |
| Forked? | Should this run in an isolated context? Default: no (runs inline) |
| Arguments? | Does the skill need input? If so, what? |
Step 3: Extract the Steps
Convert the observed workflow into a structured procedure:
- •Remove one-off decisions specific to this instance
- •Generalize file paths and names into patterns
- •Add decision points where the workflow could branch
- •Include verification steps ("confirm X before proceeding")
- •Add error handling ("if X fails, try Y")
Step 4: Write the SKILL.md
Create the file at .claude/skills/<skill-name>/SKILL.md:
markdown
--- name: [skill-name] description: [one-sentence description] disable-model-invocation: [true/false] argument-hint: [argument description, if needed] --- # [Skill Title] [Brief description of what this skill does and when to use it.] ## Usage `/[skill-name] [arguments if any]` ## Procedure ### Step 1: [Name] [Instructions...] ### Step 2: [Name] [Instructions...] [...continue for all steps]
Step 5: Verify the Skill
- •Check that the file exists at the correct path
- •Confirm the skill name doesn't conflict with existing skills
- •Tell the user: "The skill is now available as
/[skill-name]. Try invoking it to test."
Tips for Good Skills
- •Be specific: "Run
npm test" is better than "run tests" - •Include the WHY: Explain why each step matters
- •Add escape hatches: What should the user do if a step fails?
- •Keep it focused: One skill = one workflow. Don't combine unrelated tasks.
- •Use $ARGUMENTS: If the skill needs input, reference
$ARGUMENTSin the instructions