automagik-genie
Version:
Self-evolving AI agent orchestration framework with Model Context Protocol support
225 lines (177 loc) • 5.39 kB
Markdown
# Workflow Generation
**Domain:** Meta-Creation
**Purpose:** Generate repeatable workflows when multi-step processes emerge
## Core Principle
Don't pre-build workflows for every scenario. Generate them when users establish patterns they want to repeat.
## When to Generate a Workflow
### Signals
- User executes same sequence 2+ times
- Multi-step process with clear structure
- User says "I do this every [week/month/quarter]"
- Handoffs between multiple agents
## Workflow Generation Process
### 1. Recognize Pattern
```
User pattern observed:
1. Research competitors
2. Draft positioning doc
3. Review with team
4. Publish blog post
Create: "I notice you're repeating this content workflow.
Want me to create a 'competitive-content-workflow'
so we can streamline this next time?"
```
### 2. Map Workflow Steps
```markdown
**Workflow:** competitive-content-workflow
**Trigger:** User wants blog post about competitive positioning
**Steps:**
1. researcher: Gather competitive intel
- Output: competitor-analysis.md
2. writer: Draft positioning article
- Input: competitor-analysis.md
- Output: draft-v1.md
3. editor: Review and polish
- Input: draft-v1.md
- Output: draft-final.md
4. publishing: Format and publish
- Input: draft-final.md
- Output: published URL
**Decision Points:**
- After step 2: Needs review? (yes → add review step)
- After step 3: Ready to publish? (no → iteration loop)
```
### 3. Generate Workflow File
**Location:** `.genie/create/workflows/<workflow-name>.md`
**Template:**
```markdown
# [Workflow Name]
**Generated:** [Date] based on user pattern
## Purpose
[What this workflow accomplishes]
## Trigger
[When to invoke this workflow]
## Steps
1. **[Agent/Role]:** [Action]
- Input: [Required inputs]
- Output: [Deliverable]
- Duration: [Estimate]
2. **[Agent/Role]:** [Action]
...
## Decision Points
- **[Step N]:** [Question to ask]
- If yes → [Next step]
- If no → [Alternative path]
## Outputs
- [Final deliverable]
- [Artifacts produced]
## Success Criteria
- [ ] [Criterion 1]
- [ ] [Criterion 2]
## Variations
- **Fast track:** Skip [steps] if [condition]
- **Deep dive:** Add [steps] if [condition]
```
## Workflow Types
### Linear Workflows
```
Step 1 → Step 2 → Step 3 → Done
Example: Research → Write → Edit → Publish
```
### Branching Workflows
```
Step 1 → Decision
↓ ↓
Path A Path B
↓ ↓
Step 3 Step 4
↓ ↓
Merge → Step 5
```
### Iterative Workflows
```
Step 1 → Step 2 → Step 3 → Review
↑__________________|
(if changes needed)
```
### Parallel Workflows
```
┌→ Task A →┐
Start →│→ Task B →│→ Merge → Done
└→ Task C →┘
```
## Example: Generated Workflow
### Sprint Planning Workflow
```markdown
# Sprint Planning Workflow
**Generated:** 2025-10-23 (user runs sprints weekly)
## Trigger
Every 2 weeks, plan next sprint
## Steps
1. **project-manager:** Review last sprint metrics
- Input: Previous sprint data
- Output: velocity, blockers, learnings
- Duration: 30 min
2. **project-manager:** Prioritize backlog
- Input: Product roadmap, stakeholder requests
- Output: Prioritized backlog (RICE scored)
- Duration: 1 hour
3. **project-manager:** Capacity planning
- Input: Team size, PTO, meetings
- Output: Available capacity (story points)
- Duration: 15 min
4. **project-manager:** Sprint goal definition
- Input: Roadmap, capacity, priorities
- Output: Sprint goal + committed stories
- Duration: 30 min
5. **writer:** Document sprint plan
- Input: Sprint goal, stories, capacity
- Output: sprint-N-plan.md
- Duration: 15 min
6. **communicator:** Share with team
- Input: sprint-N-plan.md
- Output: Slack announcement, calendar invites
- Duration: 10 min
## Total: 2.5 hours
## Frequency: Every 2 weeks
## Automation potential: Steps 3, 5, 6 (reduce to 1.5 hours)
```
## Workflow Optimization
### After 3 Runs: Identify Bottlenecks
```
Analysis:
- Step 2 (backlog prioritization) always takes 2x longer
- Step 4 (sprint goal) requires stakeholder input
Optimization:
- Pre-prioritize backlog async before meeting
- Get stakeholder input 24 hours ahead
- New duration: 2.5 hours → 1.5 hours
```
### After 10 Runs: Template Evolution
```
Learnings:
- Always need same data in step 1
- Step 5 documentation is formulaic
Automation:
- Generate step 1 report automatically
- Template-driven step 5 (fill-in-the-blanks)
- New duration: 1.5 hours → 1 hour
```
## Never Do
- ❌ Generate workflows before pattern is proven (wait for 2+ uses)
- ❌ Over-engineer workflows (start simple, evolve)
- ❌ Create workflows without clear trigger
- ❌ Ignore workflow optimization opportunities
## Integration
- **Uses:** Agent generation (workflows reference agents)
- **Uses:** Spell generation (workflows use spells)
- **Updates:** `.genie/create/workflows/README.md` registry
- **Logs:** Workflow creation and evolution in meta-learn
## Meta-Pattern
Workflows evolve:
1. **Manual** (first time): Do steps ad-hoc
2. **Documented** (2nd time): Write down sequence
3. **Workflow** (3rd time): Formalize as repeatable process
4. **Optimized** (10th time): Automate bottlenecks
5. **Automated** (mature): One-command execution
**This is continuous improvement in action.**