wf-composer

$npx mdskill add catlog22/Claude-Code-Workflow/wf-composer

Parse user's semantic workflow description → decompose into nodes → map to executors → auto-inject checkpoints → confirm pipeline → save as reusable `workflow-template.json`.

SKILL.md

.github/skills/wf-composerView on GitHub ↗
---
name: wf-composer
description: Semantic workflow composer — parse natural language workflow description into a DAG of skill/CLI/agent nodes, auto-inject checkpoint save nodes, confirm with user, persist as reusable JSON template. Triggers on "wf-composer " or "/wf-composer".
argument-hint: "[workflow description]"
allowed-tools: Agent(*), AskUserQuestion(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*)
---

# Workflow Design

Parse user's semantic workflow description → decompose into nodes → map to executors → auto-inject checkpoints → confirm pipeline → save as reusable `workflow-template.json`.

## Architecture

```
User describes workflow in natural language
  -> Phase 1: Parse — extract intent steps + variables
  -> Phase 2: Resolve — map each step to executor (skill/cli/agent/command)
  -> Phase 3: Enrich — inject checkpoint nodes, set DAG edges
  -> Phase 4: Confirm — visualize pipeline, user approval/edit
  -> Phase 5: Persist — save .workflow/templates/<name>.json
```

## Shared Constants

| Constant | Value |
|----------|-------|
| Session prefix | `WFD` |
| Template dir | `.workflow/templates/` |
| Template ID format | `wft-<slug>-<date>` |
| Node ID format | `N-<seq>` (e.g. N-001), `CP-<seq>` for checkpoints |
| Max nodes | 20 |

## Entry Router

Parse `$ARGUMENTS`.

| Detection | Condition | Handler |
|-----------|-----------|---------|
| Resume design | `--resume` flag or existing WFD session | -> Phase 0: Resume |
| Edit template | `--edit <template-id>` flag | -> Phase 0: Load + Edit |
| New design | Default | -> Phase 1: Parse |

## Phase 0: Resume / Edit (optional)

**Resume design session**:
1. Scan `.workflow/templates/design-drafts/WFD-*.json` for in-progress designs
2. Multiple found → AskUserQuestion for selection
3. Load draft → skip to last incomplete phase

**Edit existing template**:
1. Load template from `--edit` path
2. Show current pipeline visualization
3. AskUserQuestion: which nodes to modify/add/remove
4. Re-enter at Phase 3 (Enrich) with edits applied

---

## Phase 1: Parse

Read `phases/01-parse.md` and execute.

**Objective**: Extract structured semantic steps + context variables from natural language.

**Success**: `design-session/intent.json` written with: steps[], variables[], task_type, complexity.

---

## Phase 2: Resolve

Read `phases/02-resolve.md` and execute.

**Objective**: Map each intent step to a concrete executor node.

**Executor types**:
- `skill` — invoke via `Skill(skill=..., args=...)`
- `cli` — invoke via `ccw cli -p "..." --tool ... --mode ...`
- `command` — invoke via `Skill(skill="<namespace:command>", args=...)`
- `agent` — invoke via `Agent(subagent_type=..., prompt=...)`
- `checkpoint` — state save + optional user pause

**Success**: `design-session/nodes.json` written with resolved executor for each step.

---

## Phase 3: Enrich

Read `phases/03-enrich.md` and execute.

**Objective**: Build DAG edges, auto-inject checkpoints at phase boundaries, validate port compatibility.

**Checkpoint injection rules**:
- After every `skill` → `skill` transition that crosses a semantic phase boundary
- Before any long-running `agent` spawn
- After any node that produces a persistent artifact (plan, spec, analysis)
- At user-defined breakpoints (if any)

**Success**: `design-session/dag.json` with nodes[], edges[], checkpoints[], context_schema{}.

---

## Phase 4: Confirm

Read `phases/04-confirm.md` and execute.

**Objective**: Visualize the pipeline, present to user, incorporate edits.

**Display format**:
```
Pipeline: <template-name>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
N-001 [skill]      workflow-lite-plan       "{goal}"
  |
CP-01 [checkpoint] After Plan               auto-continue
  |
N-002 [skill]      workflow-test-fix        "--session N-001"
  |
CP-02 [checkpoint] After Tests              pause-for-user
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Variables: goal (required)
Checkpoints: 2 (1 auto, 1 pause)
```

AskUserQuestion:
- Confirm & Save
- Edit node (select node ID)
- Add node after (select position)
- Remove node (select node ID)
- Rename template

**Success**: User confirmed pipeline. Final dag.json ready.

---

## Phase 5: Persist

Read `phases/05-persist.md` and execute.

**Objective**: Assemble final template JSON, write to template library, output summary.

**Output**:
- `.workflow/templates/<slug>.json` — the reusable template
- Console summary with template path + usage command

**Success**: Template saved. User shown: `Skill(skill="wf-player", args="<template-path>")`

---

## Specs Reference

| Spec | Purpose |
|------|---------|
| [specs/node-catalog.md](specs/node-catalog.md) | Available executors, port definitions, arg templates |
| [specs/template-schema.md](specs/template-schema.md) | Full JSON template schema |

More from catlog22/Claude-Code-Workflow

SkillDescription
analyze-with-fileInteractive collaborative analysis with documented discussions, inline exploration, and evolving understanding.
brainstormUnified brainstorming skill with dual-mode operation — auto mode (framework generation, parallel multi-role analysis, cross-role synthesis) and single role analysis. Triggers on "brainstorm", "头脑风暴".
brainstorm-with-fileInteractive brainstorming with documented thought evolution, multi-perspective analysis, and iterative refinement. Serial execution with no agent delegation.
ccwIntelligent coordinator — classify intent via structured extraction (action × object × style), map to skill chain, execute wave-by-wave via spawn_agents_on_csv. Barrier skills trigger coordinator-side artifact analysis between waves to dynamically assemble subsequent skill_call args. Each wave can be 1 or N parallel tasks.
ccw-chainChain-based CCW workflow orchestrator. Intent analysis, workflow routing, and Skill pipeline execution via progressive chain loading. Triggers on "ccw chain", "chain ccw", "workflow chain".
ccw-cli-toolsCLI tools execution specification (gemini/claude/codex/qwen/opencode) with unified prompt template, mode options, and auto-invoke triggers for code analysis and implementation tasks. Supports configurable CLI endpoints for analysis, write, and review modes.
ccw-helpCCW command help system. Search, browse, recommend commands, skills, teams. Triggers "ccw-help", "ccw-issue".
cleanIntelligent code cleanup with mainline detection, stale artifact discovery, and safe execution. Supports targeted cleanup and confirmation.
compactCompact current session memory into structured text for session recovery. Supports custom descriptions and tagging.
csv-wave-pipelineRequirement planning to wave-based CSV execution pipeline. Decomposes requirement into dependency-sorted CSV tasks, computes execution waves, runs wave-by-wave via spawn_agents_on_csv with cross-wave context propagation.