Designs YAML-based automation workflows with DAG dependency resolution and validation. Activates when the user wants to create, design, or define a workflow, write YAML steps, or asks 'help me build an automation workflow.' Covers schema structure, step definition, dependency chaining, and validation rules.
From founder-osnpx claudepluginhub thecloudtips/founder-os --plugin founder-osThis skill uses the workspace's default tool permissions.
references/dag-resolution.mdreferences/validation-rules.mdreferences/yaml-schema.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Define, validate, and manage YAML-based workflow files that chain Founder OS plugin commands into automated pipelines. Each workflow file specifies metadata, optional scheduling, default settings, and an ordered set of steps forming a directed acyclic graph (DAG). The automator resolves step dependencies, substitutes context variables between steps, and executes the pipeline in topological order.
Every workflow file contains four top-level blocks.
workflow (required)Workflow identity and metadata.
.yaml).MAJOR.MINOR.PATCH). Increment on every structural change.schedule (optional)Automated execution timing. Omit the entire block for on-demand-only workflows.
true to activate scheduled runs.enabled: true.America/Los_Angeles). Defaults to UTC when omitted.defaultsPipeline-wide settings applied to every step unless overridden at the step level.
true. Halt the entire pipeline when any step fails.300. Maximum wall-clock seconds per step.chat, notion, or both. Controls where step results are written.steps (required, array)Ordered list of pipeline steps. Each step object contains:
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Unique kebab-case identifier within this workflow |
| name | string | yes | Human-readable step label |
| command | string | yes | Founder OS slash command to execute (must start with /) |
| args | map | no | Key-value pairs passed as command arguments. Values must be strings. |
| depends_on | array | no | List of step IDs that must complete before this step runs |
| continue_on_error | boolean | no | Override stop_on_error for this step. Default false. |
| output_as | string | no | Context key name to store this step's output for downstream steps |
| timeout_seconds | number | no | Per-step timeout override |
| condition | string | no | Expression evaluated at runtime; skip the step when it evaluates to false |
Refer to ${CLAUDE_PLUGIN_ROOT}/skills/workflow/workflow-design/references/yaml-schema.md for the complete field-by-field specification with types, defaults, constraints, and annotated examples.
Steps form a directed acyclic graph (DAG) via the depends_on field.
depends_on are root nodes and run first.depends_on array has completed successfully (or completed with error when continue_on_error: true).depends_on links forms a cycle. Report every step involved in the cycle.depends_on is always invalid.Resolve execution order using Kahn's algorithm:
Refer to ${CLAUDE_PLUGIN_ROOT}/skills/workflow/workflow-design/references/dag-resolution.md for the full algorithm implementation, cycle detection logic, parallel batch identification, and worked examples with diagrams.
Apply these checks before executing or saving any workflow. Reject the workflow and report all violations, not just the first.
depends_on references point to existing step IDs.command field starts with /.args values are strings only (no nested objects or arrays).cron expression has exactly 5 fields when schedule.enabled is true.condition expressions reference only valid context keys (reserved keys or output_as keys from upstream steps).output_as keys are unique across all steps.version follows semver format (N.N.N).workflow.name uses kebab-case with no uppercase or special characters.steps array is non-empty.id values use kebab-case with no uppercase or special characters.timeout_seconds is a positive integer when provided.Refer to ${CLAUDE_PLUGIN_ROOT}/skills/workflow/workflow-design/references/validation-rules.md for all 14 rules with error codes, messages, severity levels, and fix suggestions.
workflows/ directory at the plugin root.workflow.name with a .yaml extension (e.g., morning-pipeline.yaml for name: morning-pipeline).${CLAUDE_PLUGIN_ROOT}/skills/workflow/workflow-design/templates/workflow-template.yaml to ensure correct structure.version field.Steps pass data downstream through context variables.
Set output_as on a step to publish its output under that key. The value becomes available to all downstream steps (those that depend on the producing step, directly or transitively).
Reference a context value in any args field value using {{context.key}} syntax, where key matches the output_as value of an upstream step.
args field values. It does not apply to structural YAML fields like command, id, or depends_on.output_as from a completed upstream step) cause the step to fail with a clear error message."{{context.client_name}} - {{context.report_date}}".These keys are auto-populated for every run and available to all steps without output_as:
| Key | Value |
|---|---|
workflow_name | The workflow.name from the YAML |
workflow_version | The workflow.version from the YAML |
run_id | Unique identifier for this execution run |
run_timestamp | ISO 8601 timestamp when the run started |
Do not use reserved key names as output_as values. Validation rejects collisions.
defaults block. When defaults itself omits a field, use the hardcoded defaults (stop_on_error: true, timeout_seconds: 300, output_format: chat)..yaml file per workflow.name may exist in workflows/.${CLAUDE_PLUGIN_ROOT}/skills/workflow/workflow-design/references/yaml-schema.md — Complete field-by-field schema specification with types, defaults, constraints, and examples for every YAML field.${CLAUDE_PLUGIN_ROOT}/skills/workflow/workflow-design/references/dag-resolution.md — Kahn's topological sort algorithm implementation, cycle detection logic, parallel batch identification, and worked examples.${CLAUDE_PLUGIN_ROOT}/skills/workflow/workflow-design/references/validation-rules.md — All 14 validation rules with error codes, messages, severity levels, and fix suggestions.