Back to Skills

create-skills-workflow

majiayu000
Updated Today
58
9
58
View on GitHub
Metaautomationdesign

About

This Claude Skill helps developers build complex, multi-step workflows with features like state management and interactive decision points. It's designed for structured, phased processes that require persistence across steps, not for simple single-action tasks.

Quick Install

Claude Code

Recommended
Plugin CommandRecommended
/plugin add https://github.com/majiayu000/claude-skill-registry
Git CloneAlternative
git clone https://github.com/majiayu000/claude-skill-registry.git ~/.claude/skills/create-skills-workflow

Copy and paste this command in Claude Code to install this skill

Documentation

<objective> Guide the creation of professional multi-step workflow skills. These skills use progressive step loading to minimize context, maintain state across steps, and provide interactive decision points. </objective>

<when_to_use> Use this skill when building:

  • Multi-phase workflows (3+ distinct steps)
  • Skills that need state persistence across steps
  • Interactive workflows with user decision points
  • Skills with optional/conditional steps
  • Workflows that save outputs for review

Don't use for:

  • Simple single-action skills
  • Skills that complete in one step
  • Pure research/exploration skills </when_to_use>

<workflow_creation_process>

Phase 1: Design the Workflow

<step_1_define_structure> 1.1 Identify Workflow Steps

Ask yourself:

  • What are the distinct phases of this workflow?
  • What must complete before the next step can start?
  • Which steps are optional or conditional?
  • Where do users need to make decisions?

1.2 Map Dependencies

Step 1 ──► Step 2 ──► Step 3 ──┬──► Step 4a (if condition)
                               └──► Step 4b (else)

1.3 Define State Variables

What data needs to persist across steps?

state_variables:
  - task_description: string # What to do
  - task_id: string # Unique identifier
  - auto_mode: boolean # Skip confirmations
  - results: object # Accumulated results

</step_1_define_structure>

<step_2_create_structure> 2.1 Create Folder Structure

skills/{skill-name}/
├── SKILL.md                    # Main entry point
├── steps/
│   ├── step-00-init.md         # Initialization (parse flags, setup)
│   ├── step-01-{name}.md       # First step
│   ├── step-02-{name}.md       # Second step
│   └── ...
└── references/                 # Optional: templates, patterns
    └── ...

2.2 Naming Conventions

  • Steps: step-NN-{descriptive-name}.md
  • NN = two-digit number (00, 01, 02...)
  • Use kebab-case for names
  • Keep names short but descriptive </step_2_create_structure>

</workflow_creation_process>

<templates> **Load templates from references:**

<execution_flow>

Phase 2: Build the Skill

Step 1: Create SKILL.md

Use this structure:

---
name: { skill-name }
description: { what it does }
argument-hint: { flags and args }
---

<objective>
{Clear goal statement}
</objective>

<parameters>
{Flags and arguments}
</parameters>

<state_variables>
{Data that persists across steps}
</state_variables>

<entry_point>
Load `steps/step-00-init.md`
</entry_point>

<step_files>
{Table of all steps}
</step_files>

Step 2: Create step-00-init.md

Always start with an init step that:

  • Parses flags and arguments
  • Sets up state variables
  • Creates output folders (if needed)
  • Loads the first "real" step

Step 3: Create Each Step File

Use the step template from references/step-template.md

Step 4: Test the Workflow

Run through the workflow to ensure:

  • State persists correctly
  • Transitions work
  • Conditional steps trigger properly
  • Error handling works

</execution_flow>

<critical_patterns>

Critical Patterns to Follow (BMAD-Inspired)

1. Micro-File Architecture

ALWAYS: Each step is a self-contained file with embedded rules
ALWAYS: Load one step at a time (progressive loading)
NEVER: Load all steps upfront
NEVER: Assume knowledge from future steps

Why: Saves context, disciplined execution, clear boundaries

2. Mandatory Execution Rules Section

Every step MUST start with this:

## MANDATORY EXECUTION RULES (READ FIRST):

- 🛑 NEVER {critical forbidden action}
- ✅ ALWAYS {critical required action}
- 📋 YOU ARE A {role}, not a {anti-role}
- 💬 FOCUS on {this step's scope} only
- 🚫 FORBIDDEN to {boundary violation}

3. Execution Protocols Section

## EXECUTION PROTOCOLS:

- 🎯 Show your analysis before taking any action
- 💾 Update document/frontmatter after each phase
- 📖 Complete this step fully before loading next
- 🚫 FORBIDDEN to load next step until {criteria}

4. Context Boundaries Section

## CONTEXT BOUNDARIES:

- Variables from previous steps are available in memory
- Previous context = what's in output document + frontmatter
- Don't assume knowledge from future steps
- {Resource} loaded on-demand when needed

5. Your Task Statement

One clear sentence describing the step's purpose:

## YOUR TASK:

Initialize the workflow by parsing flags and setting up state.

6. User Decisions with AskUserQuestion

CRITICAL: NEVER use plain text "[C] Continue" prompts. ALWAYS use AskUserQuestion.

**If `{auto_mode}` = true:**
→ Use recommended option automatically

**If `{auto_mode}` = false:**
Use AskUserQuestion:

```yaml
questions:
  - header: "Continue"
    question: "Ready to proceed to the next step?"
    options:
      - label: "Continue (Recommended)"
        description: "Proceed to next phase"
      - label: "Review first"
        description: "I want to review before continuing"
      - label: "Go back"
        description: "Return to previous step"
    multiSelect: false
```

### 7. Success Metrics & Failure Modes
```markdown
## SUCCESS METRICS:

✅ {Criterion 1}
✅ {Criterion 2}
✅ Frontmatter properly updated

## FAILURE MODES:

❌ {Failure 1}
❌ {Failure 2}
❌ **CRITICAL**: Not using AskUserQuestion for user input

8. Frontmatter State Tracking

Track progress in document frontmatter:

---
stepsCompleted: [1, 2, 3]
task_description: "Add auth middleware"
selected_approach: "jwt"
---

9. Critical Tags

Use <critical> tags for essential reminders:

<critical>
Remember: This step is ONLY about analysis - don't plan or implement!
</critical>

10. Next Step Routing

## NEXT STEP:

After user confirms via AskUserQuestion, load `./step-02-plan.md`

<critical>
Remember: {Important boundary reminder}
</critical>

</critical_patterns>

<common_mistakes>

Common Mistakes to Avoid

Loading all steps at once → Use micro-file architecture, one step at a time

Plain text prompts like "[C] Continue" → ALWAYS use AskUserQuestion tool for ANY user input

Missing MANDATORY EXECUTION RULES section → Every step MUST start with rules using 🛑✅📋💬🚫 emojis

No CONTEXT BOUNDARIES section → Always define what's in scope and what's not

Vague YOUR TASK statement → Must be ONE clear sentence describing step's purpose

Forgetting state handoff → Each step must document available variables from previous steps

Missing SUCCESS METRICS / FAILURE MODES → Every step needs ✅ success criteria and ❌ failure modes

Not handling auto_mode → Check auto_mode before ANY AskUserQuestion call

No frontmatter state tracking → Track stepsCompleted array in document frontmatter

Missing <critical> reminders → End each step with critical boundary reminder

Hardcoding paths → Use relative paths and state variables

</common_mistakes>

<success_criteria> A well-designed workflow skill (BMAD-style):

Structure:

  • Micro-file architecture - each step self-contained
  • Clear step progression with dependencies
  • State variables documented and persisted in frontmatter

Each Step Has:

  • MANDATORY EXECUTION RULES section with emojis
  • EXECUTION PROTOCOLS section
  • CONTEXT BOUNDARIES section
  • YOUR TASK - one clear sentence
  • Numbered EXECUTION SEQUENCE
  • SUCCESS METRICS with ✅ checkmarks
  • FAILURE MODES with ❌ marks
  • NEXT STEP routing section
  • <critical> reminder at the end

User Interaction:

  • ALL user decisions use AskUserQuestion (never plain text)
  • Auto mode skips AskUserQuestion calls
  • Save mode outputs to files with frontmatter

State Management:

  • stepsCompleted array tracked in frontmatter
  • Resume detection checks existing documents
  • State variables passed between steps </success_criteria>

<quick_start>

Quick Start

To create a new workflow skill:

  1. Define your steps and their dependencies
  2. Create the folder structure
  3. Copy and customize SKILL.md template
  4. Create step-00-init.md for initialization
  5. Create each step using the step template
  6. Test the workflow end-to-end

Reference files to consult:

  • references/step-template.md - Step file structure
  • references/ask-patterns.md - User interaction patterns
  • references/state-management.md - State persistence
  • references/workflow-patterns.md - Common workflows
  • references/prompt-engineering.md - Prompt best practices </quick_start>

GitHub Repository

majiayu000/claude-skill-registry
Path: skills/create-skills-workflow

Related Skills

content-collections

Meta

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

View skill

creating-opencode-plugins

Meta

This skill provides the structure and API specifications for creating OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It offers implementation patterns for JavaScript/TypeScript modules that intercept and extend the AI assistant's lifecycle. Use it when you need to build event-driven plugins for monitoring, custom handling, or extending OpenCode's capabilities.

View skill

sglang

Meta

SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.

View skill

langchain

Meta

LangChain is a framework for building LLM applications using agents, chains, and RAG pipelines. It supports multiple LLM providers, offers 500+ integrations, and includes features like tool calling and memory management. Use it for rapid prototyping and deploying production systems like chatbots, autonomous agents, and question-answering services.

View skill