Skip to content

Workflow Design

Workflows execute skills sequentially as a pipeline.

{
"name": "daily-check",
"pipeline_skill_names": ["check-status", "generate-report", "execution-report"],
"content": "Daily status check and report",
"cron_expression": "0 9 * * *",
"project_id": "<uuid>"
}
FieldTypeDescription
namestringSlug identifier (/^[a-z0-9-]+$/)
pipeline_skill_namesstring[]Ordered list of skill names to execute
contentstringWorkflow description (Markdown)
cron_expressionstring|nullCron schedule (null for manual-only)
project_idstringUUID of the parent project

Skills are executed one by one in the defined order. Results from each step are passed to the next.

flowchart LR
A["skill-1"] --> B["skill-2"] --> C["skill-3"] --> D["execution-report"]
B -. "requires_review: true" .-> E{{"Awaiting human approval"}}

Each step can be configured with a role and review requirement.

{
"name": "review-workflow",
"pipeline_skill_names": ["analyze", "propose-fix", "apply-fix"],
"pipeline_steps": [
{ "assigned_role": "engineer", "requires_review": false },
{ "assigned_role": "engineer", "requires_review": true },
{ "assigned_role": "pm", "requires_review": false }
]
}
FieldDescription
assigned_role"pm" or "engineer" — the role responsible for execution
requires_reviewIf true, human approval is required after completion

Standard cron expressions are supported.

ExpressionExecution timing
0 9 * * *Every day at 9:00
0 9 * * 1-5Weekdays at 9:00
*/30 * * * *Every 30 minutes
0 0 1 * *1st of every month at 0:00
Terminal window
# Fetch a workflow from HQ (missing skills are auto-fetched)
minion-cli workflow fetch <name>
# Push a local workflow to HQ (skills are auto-pushed)
minion-cli workflow push <name>