From arthur0824hao-skills
Pure planning engine. Converts goals into DAGs with Mermaid visualization. Ticket lifecycle has moved to skill-system-tkt.
npx claudepluginhub arthur0824hao/skills --plugin document-skillsThis skill uses the workspace's default tool permissions.
`skill-system-workflow` is the planning layer for the skill system. It turns a goal
SKILL.behavior.yamlSKILL.spec.yamlprompts/dispatch-dag.mdprompts/plan-workflow.mdrecipes/debug-flow.yamlrecipes/end-session.yamlrecipes/feature-flow.yamlrecipes/multi-agent-dispatch.yamlrecipes/start-session.yamlschema/dispatch-order.yamlschema/recipe.yamlschema/ticket.yamlschema/workflow-dag.yamlscripts/chain.shscripts/dispatch.shscripts/dispatch_engine.pyscripts/ep-error-watcher.shscripts/plan-and-visualize.mdscripts/sentinel.shscripts/test_dispatch_engine.pyCreates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
skill-system-workflow is the planning layer for the skill system. It turns a goal
into a DAG with Mermaid output, prefers reusable recipes when possible, and stays
strictly read-only with respect to execution.
Ticket lifecycle operations are owned by skill-system-tkt. This skill now owns
only planning, visualization, and recipe discovery.
flowchart TDplanAnalyze a goal and produce a workflow DAG plus Mermaid visualization.
recipes/goal against trigger_patternsprompts/plan-workflow.md to generate a custom DAGProcedure: scripts/plan-and-visualize.md
visualizeConvert an existing DAG YAML into a Mermaid flowchart.
waves[*].tasks[*]subgraph per wavedepends_on edgespending, running, done, failed)list-recipesList available workflow recipes by reading recipes/ and returning each recipe's
name and description.
prompts/plan-workflow.md: one-pass dynamic DAG planning promptschema/workflow-dag.yaml: workflow DAG shape specificationschema/recipe.yaml: recipe shape specificationrecipes/*.yaml: reusable workflow templatesscripts/plan-and-visualize.md: human procedure for plan -> DAG -> Mermaidscripts/dispatch.sh: multi-agent dispatch engine (sends opencode run commands)scripts/chain.sh: step completion handler (auto-dispatches next step or notifies reviewer)schema/dispatch-order.yaml: dispatch order shape specificationrecipes/multi-agent-dispatch.yaml: recipe for cross-repo bundle dispatchRecipes are small YAML documents that describe reusable waves and tasks.
name: recipe identifier (must match the filename without extension)trigger_patterns: goal keywords/phrases that indicate the recipe is applicablewaves: ordered execution waveswaves[*].parallel: whether tasks in the wave can be performed simultaneouslywaves[*].tasks[*].depends_on: task ids from earlier waves that must complete firstSee: schema/recipe.yaml
flowchart TDsubgraph waveN [Wave N: <description>]task_id<agent_type>\n<task name>task_id(["<agent_type>\\n<name>"])start((Start)), end((End))Use Mermaid classes based on each task's status:
pending: not started
running: in progress
done: completed successfully
failed: needs intervention
Runtime settings are in config/workflow.yaml. Config is the single source of truth.
See: ../../config/workflow.yaml
skill-system-workflow now also orchestrates cross-repo dispatch via opencode run.
The TKT-000 integrator ticket pattern from skill-system-tkt serves as the
coordination point.
dispatchDispatch a bundle's downstream work to multiple project coders.
downstream_bundles fielddispatch-order.yaml with steps in dependency orderscripts/dispatch.sh to send opencode run commandsscripts/chain.shchain.sh auto-dispatches the next step or notifies the reviewerProcedure: see recipe multi-agent-dispatch.yaml
Scripts:
scripts/dispatch.sh <dispatch-order.yaml> — Send opencode run commandsscripts/chain.sh <dispatch-order.yaml> <step-id> — Handle step completion--dry-run for verificationSchema: schema/dispatch-order.yaml
Chain Protocol:
Reviewer → dispatch.sh → opencode run (coder A)
↓ (coder A completes)
chain.sh → opencode run (coder B)
↓ (coder B completes)
chain.sh → notify reviewer
The TKT-000 integrator ticket coordinates the bundle. When the dispatch chain completes:
chain.sh updates the dispatch-order step status.done file or notifies reviewer via claude CLITicket lifecycle operations are owned by skill-system-tkt. skill-system-workflow
handles planning (3 ops: plan, visualize, list-recipes) and now also
multi-agent dispatch (dispatch).
depends_on for cross-wave ordering.{
"schema_version": "2.0",
"id": "skill-system-workflow",
"version": "2.0.0",
"capabilities": ["workflow-plan", "workflow-visualize", "workflow-list-recipes", "workflow-dispatch"],
"effects": ["fs.read", "fs.write", "db.read", "proc.exec"],
"operations": {
"plan": {
"description": "Analyze a goal and produce an execution plan as a DAG with Mermaid visualization.",
"input": {
"goal": {"type": "string", "required": true, "description": "User's goal or task description"},
"context": {"type": "string", "required": false, "description": "Additional context (files, constraints)"}
},
"output": {
"description": "Workflow DAG YAML plus Mermaid diagram",
"fields": {"dag": "YAML", "mermaid": "string"}
},
"entrypoints": {
"agent": "Follow scripts/plan-and-visualize.md procedure"
}
},
"visualize": {
"description": "Convert an existing DAG YAML to a Mermaid flowchart.",
"input": {
"dag_yaml": {"type": "string", "required": true, "description": "DAG YAML content"}
},
"output": {
"description": "Mermaid flowchart string",
"fields": {"mermaid": "string"}
},
"entrypoints": {
"agent": "Apply Mermaid conventions from SKILL.md to the DAG"
}
},
"list-recipes": {
"description": "List available workflow recipes.",
"input": {},
"output": {
"description": "Array of recipe names and descriptions",
"fields": {"recipes": "array"}
},
"entrypoints": {
"agent": "List files in recipes/ directory"
}
},
"dispatch": {
"description": "Dispatch a bundle's downstream work to multiple project coders via opencode run with automatic chaining.",
"input": {
"upstream_bundle": {"type": "string", "required": true, "description": "Path to the upstream bundle directory containing downstream_bundles"},
"workspace_root": {"type": "string", "required": true, "description": "Absolute path to the workspace root"},
"dry_run": {"type": "boolean", "required": false, "description": "If true, show commands without executing"}
},
"output": {
"description": "Dispatch order YAML with step statuses",
"fields": {"dispatch_order": "YAML", "steps_dispatched": "number"}
},
"entrypoints": {
"agent": "Follow recipe multi-agent-dispatch.yaml: build dispatch-order.yaml from bundle, then run scripts/dispatch.sh",
"cli": "scripts/dispatch.sh <dispatch-order.yaml> [--dry-run]"
}
}
},
"stdout_contract": {
"last_line_json": false,
"note": "Agent-executed procedures; output is DAG YAML and Mermaid text."
}
}