| name | titan-project-workflow-builder |
| description | Design and create Titan workflows for a specific project under .titan/. Use when the user wants a workflow in .titan/workflows, project steps under .titan/steps, or project-scoped operations, clients, and services. |
| disable-model-invocation | false |
Titan Project Workflow Builder
Build Titan workflows for the current project under .titan/ while teaching briefly as you go.
Goal
Turn user requirements into a complete project workflow that:
- Reuses existing Titan and project capabilities first.
- Chooses the smallest correct architecture.
- Produces working files under
.titan/.
- Respects Titan semantics for hooks, params, result types, and cleanup.
Scope
This skill is only for project workflows and project-local reusable code.
Target outputs:
.titan/workflows/*.yaml
.titan/steps/**
.titan/operations/**, .titan/clients/**, .titan/services/** when justified
Do not use this skill for plugin package workflows. Use the plugin workflow builders instead.
Workflow
1. Clarify the task
Capture:
- What the workflow should automate.
- Whether this should extend an existing workflow or create a new one.
- Whether the workflow is simple or introduces a reusable project domain integration.
Keep questions minimal. If the repo already makes the answer clear, do not ask.
2. Discover before creating
Use titan-capability-discovery behavior before writing code.
Check:
- Existing
.titan/workflows/*.yaml files.
- Existing
.titan/steps/**/*.py files.
- Existing reusable code under
.titan/operations/, .titan/clients/, .titan/services/.
- Relevant public Titan docs if local project context is insufficient.
Prefer:
- Extending an existing workflow.
- Calling an existing workflow.
- Reusing an existing step.
- Using a command step.
- Creating new code only when necessary.
3. Decide the implementation shape
Follow references/workflow-decision-flow.md.
Choose between:
- Pure YAML orchestration.
- YAML + project step.
- YAML + project step + operation.
- Plugin-like project layout for reusable domains.
Use titan-workflow-architecture rules when that choice is not obvious.
4. Generate the workflow
Create files under .titan/ using these rules:
- Workflows always live in
.titan/workflows/.
- Project step entrypoints must remain discoverable under
.titan/steps/**.
- Extra code may be organized by domain under
.titan/operations/, .titan/clients/, .titan/services/.
Useful templates:
assets/new-workflow-template.yaml
assets/extends-workflow-template.yaml
references/step-authoring-basics.md
5. Validate the result
Review the generated design against references/workflow-final-review.md and references/workflow-antipatterns.md.
Always verify:
Skip vs Exit
on_error usage
- cleanup guarantees
- parameter flow via
ctx.get() and metadata
- whether new code is justified
Output expectations
When the user wants implementation, finish with:
- A workflow file.
- Any required step, operation, client, or service files.
- A short explanation of key decisions.
When the user wants guidance only, provide:
- The recommended architecture.
- The file layout.
- The workflow shape.
References
references/workflow-decision-flow.md
references/workflow-final-review.md
references/workflow-antipatterns.md
references/step-authoring-basics.md
Assets
assets/new-workflow-template.yaml
assets/extends-workflow-template.yaml
assets/workflow-design-checklist.md