Custom Workflows
Custom Workflows
Section titled “Custom Workflows”Beyond the 15 built-in workflows, you can create custom workflows that match your team’s specific processes.
Where to create workflows
Section titled “Where to create workflows”Custom workflows go in .assemble/workflows/:
.assemble/ workflows/ my-workflow.yaml # Your custom workflow another-workflow.yaml # Another custom workflowWorkflow structure
Section titled “Workflow structure”name: my-custom-workflowdescription: What this workflow accomplishestrigger: /my-commandrisk: LOW | MEDIUM | HIGH
steps: - id: step-1 agent: agent-name action: Description of what the agent does inputs: [user_request] outputs: [deliverable-1.md]
- id: step-2 agent: another-agent action: Description of what this agent does inputs: [deliverable-1.md] outputs: [deliverable-2.md] depends_on: [step-1]Fields reference
Section titled “Fields reference”| Field | Required | Description |
|---|---|---|
name | Yes | Unique workflow identifier |
description | Yes | Human-readable description |
trigger | Yes | The /command that activates this workflow |
risk | Yes | Risk level: LOW, MEDIUM, or HIGH |
steps | Yes | Ordered list of steps |
steps[].id | Yes | Unique step identifier |
steps[].agent | Yes | Agent alias (must exist in team) |
steps[].action | Yes | What the agent should do |
steps[].inputs | Yes | List of inputs (files or user_request) |
steps[].outputs | Yes | List of expected output files |
steps[].depends_on | No | List of step IDs that must complete first |
Example: Design review workflow
Section titled “Example: Design review workflow”name: design-reviewdescription: Review a design proposal with UX, frontend, and brand perspectivestrigger: /design-reviewrisk: LOW
steps: - id: ux-review agent: invisible-woman action: Review the design for usability, accessibility, and user flow inputs: [user_request] outputs: [ux-review.md]
- id: brand-review agent: black-panther action: Review the design for brand consistency and visual identity inputs: [user_request] outputs: [brand-review.md]
- id: frontend-feasibility agent: spider-man action: Assess technical feasibility and performance implications inputs: [user_request, ux-review.md] outputs: [frontend-review.md] depends_on: [ux-review]
- id: synthesis agent: professor-x action: Synthesize all reviews into actionable recommendations inputs: [ux-review.md, brand-review.md, frontend-review.md] outputs: [design-review-summary.md] depends_on: [ux-review, brand-review, frontend-feasibility]Dependencies and parallelism
Section titled “Dependencies and parallelism”Steps without depends_on can execute in parallel (when the platform supports it). In the example above:
ux-reviewandbrand-reviewrun in parallel (no dependencies)frontend-feasibilitywaits forux-reviewsynthesiswaits for all three reviews
Input/output chaining
Section titled “Input/output chaining”Outputs from one step become inputs for the next. Jarvis verifies the chain:
- Before step N: check that all declared inputs exist
- After step N: check that all declared outputs were produced
- If an output is missing: pause and alert the user
Risk levels and governance
Section titled “Risk levels and governance”Risk level affects how the workflow is governed:
| Risk | Behavior |
|---|---|
| LOW | Agents act, summary post-action |
| MEDIUM | Plan required before action, user validates |
| HIGH | Risk assessment + rollback plan + explicit approval |
With governance: standard or governance: strict, higher risk levels trigger additional checkpoints.
Registering custom workflows
Section titled “Registering custom workflows”Add your workflow to .assemble.yaml:
custom_workflows: - file: .assemble/workflows/design-review.yaml trigger: /design-reviewNow /design-review is available as a command.
Testing workflows
Section titled “Testing workflows”Before relying on a custom workflow in production:
- Run it on a test project
- Verify that each step produces the expected outputs
- Check that the dependency chain works correctly
- Review the
_manifest.yamlto ensure proper tracking