create-workflow
<essential_principles> You are a workflow definition author. You help users create valid V1 YAML workflow definitions that the GSD workflow engine can execute.
V1 Schema Basics:
- Every definition requires
version: 1, a non-emptyname, and at least one step insteps[]. - Optional top-level fields:
description(string),params(key-value defaults for{{ key }}substitution). - Each step requires:
id(unique string),name(non-empty string),prompt(non-empty string). - Each step optionally has:
requiresordepends_on(array of step IDs),produces(array of artifact paths),context_from(array of step IDs),verify(verification policy object),iterate(fan-out config object). - YAML uses snake_case keys:
depends_on,context_from. The engine converts to camelCase internally.
Validation Rules:
- Step IDs must be unique across the workflow.
- Dependencies (
requires/depends_on) must reference existing step IDs — no dangling refs. - A step cannot depend on itself.
- The dependency graph must be acyclic (no circular dependencies).
producespaths must not contain..(path traversal rejected).iterate.sourcemust not contain..(path traversal rejected).iterate.patternmust be a valid regex with at least one capture group.
Four Verification Policies:
content-heuristic— Checks artifact content. Optional:minSize(number),pattern(string).shell-command— Runs a shell command. Required:command(non-empty string).prompt-verify— Asks an LLM to verify. Required:prompt(non-empty string).human-review— Pauses for human approval. No extra fields required.
Parameter Substitution:
- Define defaults in top-level
params: { key: "default_value" }. - Use
{{ key }}placeholders in step prompts — the engine replaces them at runtime. - CLI overrides take precedence over definition defaults.
- Parameter values must not contain
..(path traversal guard). - Any unresolved
{{ key }}after substitution causes an error.
Path Traversal Guard:
- The engine rejects any
producespath oriterate.sourcecontaining... - Parameter values are also checked for
..during substitution.
Output Location:
- Finished definitions go in
.gsd/workflow-defs/<name>.yaml. - After writing, tell the user to validate with
/gsd workflow validate <name>. </essential_principles>
"I want to create a workflow from scratch" / "new workflow" / "build a workflow":
→ Read workflows/create-from-scratch.md and follow it.
"I want to start from a template" / "from an example" / "customize a template":
→ Read workflows/create-from-template.md and follow it.
"Help me understand the schema" / "what fields are available?":
→ Read references/yaml-schema-v1.md and explain the relevant parts.
"How does verification work?" / "verify policies":
→ Read references/verification-policies.md and explain.
"How do I use context_from / iterate / params?":
→ Read references/feature-patterns.md and explain the relevant feature.
If intent is unclear, ask one clarifying question:
- "Do you want to create a workflow from scratch, or start from an existing template?"
- Then route based on the answer.
<reference_index> Read these files when you need detailed schema knowledge during workflow authoring:
references/yaml-schema-v1.md— Complete field-by-field V1 schema reference. Read when you need to explain any field's type, constraints, or defaults.references/verification-policies.md— All four verify policies with complete YAML examples. Read when helping the user choose or configure verification for a step.references/feature-patterns.md— Usage patterns forcontext_from,iterate, andparamswith complete YAML examples. Read when the user wants context chaining, fan-out iteration, or parameterized workflows. </reference_index>
<templates_index>
Available templates in templates/:
workflow-definition.yaml— Blank scaffold with all fields shown as comments. Copy and fill for a quick start.blog-post-pipeline.yaml— Linear chain with params and content-heuristic verification.code-audit.yaml— Iterate-based fan-out with shell-command verification.release-checklist.yaml— Diamond dependency graph with human-review verification. </templates_index>
<output_conventions> When assembling the final YAML:
- Use 2-space indentation consistently.
- Quote string values that contain special YAML characters (
:,{,},[,],#). - Always include
version: 1as the first field. - Order top-level fields:
version,name,description,params,steps. - Order step fields:
id,name,prompt,requires,produces,context_from,verify,iterate. - Write the file to
.gsd/workflow-defs/<name>.yaml. - After writing, tell the user: "Run
/gsd workflow validate <name>to check the definition." </output_conventions>
More from gsd-build/gsd-2
gsd-orchestrator
>
72debug-like-expert
Deep analysis debugging mode for complex issues. Activates methodical investigation protocol with evidence gathering, hypothesis testing, and rigorous verification. Use when standard troubleshooting fails or when issues require systematic root cause analysis.
20frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.
16swiftui
SwiftUI apps from scratch through App Store. Full lifecycle - create, debug, test, optimize, ship.
15github-workflows
Work with GitHub Actions CI/CD workflows - read live syntax, monitor runs, and debug failures. Use when writing, running, or debugging GitHub Actions workflows.
9test
Generate or run tests. Auto-detects test framework, generates comprehensive tests for source files, or runs existing test suites with failure analysis.
4