feat(prompts): enhance plan output with TL;DR, agent profiles, and parallelization
- prometheus-prompt: Add TL;DR section with quick summary, deliverables, effort estimate - prometheus-prompt: Add recommended agent profile (category + skills) per task - prometheus-prompt: Enhance parallelization with execution waves and dependency matrix - ultrawork: Change plan agent to prometheus agent invocation - ultrawork: Add session_id resume workflow for Prometheus iteration
This commit is contained in:
parent
6fa5cac616
commit
3e8e3db961
@ -863,6 +863,20 @@ Generate plan to: \`.sisyphus/plans/{name}.md\`
|
|||||||
\`\`\`markdown
|
\`\`\`markdown
|
||||||
# {Plan Title}
|
# {Plan Title}
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
> **Quick Summary**: [1-2 sentences capturing the core objective and approach]
|
||||||
|
>
|
||||||
|
> **Deliverables**: [Bullet list of concrete outputs]
|
||||||
|
> - [Output 1]
|
||||||
|
> - [Output 2]
|
||||||
|
>
|
||||||
|
> **Estimated Effort**: [Quick | Short | Medium | Large | XL]
|
||||||
|
> **Parallel Execution**: [YES - N waves | NO - sequential]
|
||||||
|
> **Critical Path**: [Task X → Task Y → Task Z]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Context
|
## Context
|
||||||
|
|
||||||
### Original Request
|
### Original Request
|
||||||
@ -963,29 +977,55 @@ Each TODO includes detailed verification procedures:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Task Flow
|
## Execution Strategy
|
||||||
|
|
||||||
|
### Parallel Execution Waves
|
||||||
|
|
||||||
|
> Maximize throughput by grouping independent tasks into parallel waves.
|
||||||
|
> Each wave completes before the next begins.
|
||||||
|
|
||||||
\`\`\`
|
\`\`\`
|
||||||
Task 1 → Task 2 → Task 3
|
Wave 1 (Start Immediately):
|
||||||
↘ Task 4 (parallel)
|
├── Task 1: [no dependencies]
|
||||||
|
└── Task 5: [no dependencies]
|
||||||
|
|
||||||
|
Wave 2 (After Wave 1):
|
||||||
|
├── Task 2: [depends: 1]
|
||||||
|
├── Task 3: [depends: 1]
|
||||||
|
└── Task 6: [depends: 5]
|
||||||
|
|
||||||
|
Wave 3 (After Wave 2):
|
||||||
|
└── Task 4: [depends: 2, 3]
|
||||||
|
|
||||||
|
Critical Path: Task 1 → Task 2 → Task 4
|
||||||
|
Parallel Speedup: ~40% faster than sequential
|
||||||
\`\`\`
|
\`\`\`
|
||||||
|
|
||||||
## Parallelization
|
### Dependency Matrix
|
||||||
|
|
||||||
| Group | Tasks | Reason |
|
| Task | Depends On | Blocks | Can Parallelize With |
|
||||||
|-------|-------|--------|
|
|------|------------|--------|---------------------|
|
||||||
| A | 2, 3 | Independent files |
|
| 1 | None | 2, 3 | 5 |
|
||||||
|
| 2 | 1 | 4 | 3, 6 |
|
||||||
|
| 3 | 1 | 4 | 2, 6 |
|
||||||
|
| 4 | 2, 3 | None | None (final) |
|
||||||
|
| 5 | None | 6 | 1 |
|
||||||
|
| 6 | 5 | None | 2, 3 |
|
||||||
|
|
||||||
| Task | Depends On | Reason |
|
### Agent Dispatch Summary
|
||||||
|------|------------|--------|
|
|
||||||
| 4 | 1 | Requires output from 1 |
|
| Wave | Tasks | Recommended Agents |
|
||||||
|
|------|-------|-------------------|
|
||||||
|
| 1 | 1, 5 | delegate_task(category="...", load_skills=[...], run_in_background=true) |
|
||||||
|
| 2 | 2, 3, 6 | dispatch parallel after Wave 1 completes |
|
||||||
|
| 3 | 4 | final integration task |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## TODOs
|
## TODOs
|
||||||
|
|
||||||
> Implementation + Test = ONE Task. Never separate.
|
> Implementation + Test = ONE Task. Never separate.
|
||||||
> Specify parallelizability for EVERY task.
|
> EVERY task MUST have: Recommended Agent Profile + Parallelization info.
|
||||||
|
|
||||||
- [ ] 1. [Task Title]
|
- [ ] 1. [Task Title]
|
||||||
|
|
||||||
@ -996,7 +1036,21 @@ Task 1 → Task 2 → Task 3
|
|||||||
**Must NOT do**:
|
**Must NOT do**:
|
||||||
- [Specific exclusions from guardrails]
|
- [Specific exclusions from guardrails]
|
||||||
|
|
||||||
**Parallelizable**: YES (with 3, 4) | NO (depends on 0)
|
**Recommended Agent Profile**:
|
||||||
|
> Select category + skills based on task domain. Justify each choice.
|
||||||
|
- **Category**: \`[visual-engineering | ultrabrain | artistry | quick | unspecified-low | unspecified-high | writing]\`
|
||||||
|
- Reason: [Why this category fits the task domain]
|
||||||
|
- **Skills**: [\`skill-1\`, \`skill-2\`]
|
||||||
|
- \`skill-1\`: [Why needed - domain overlap explanation]
|
||||||
|
- \`skill-2\`: [Why needed - domain overlap explanation]
|
||||||
|
- **Skills Evaluated but Omitted**:
|
||||||
|
- \`omitted-skill\`: [Why domain doesn't overlap]
|
||||||
|
|
||||||
|
**Parallelization**:
|
||||||
|
- **Can Run In Parallel**: YES | NO
|
||||||
|
- **Parallel Group**: Wave N (with Tasks X, Y) | Sequential
|
||||||
|
- **Blocks**: [Tasks that depend on this task completing]
|
||||||
|
- **Blocked By**: [Tasks this depends on] | None (can start immediately)
|
||||||
|
|
||||||
**References** (CRITICAL - Be Exhaustive):
|
**References** (CRITICAL - Be Exhaustive):
|
||||||
|
|
||||||
|
|||||||
@ -166,28 +166,52 @@ delegate_task(agent="oracle", prompt="Review my approach: [describe plan]")
|
|||||||
YOU MUST LEVERAGE ALL AVAILABLE AGENTS / **CATEGORY + SKILLS** TO THEIR FULLEST POTENTIAL.
|
YOU MUST LEVERAGE ALL AVAILABLE AGENTS / **CATEGORY + SKILLS** TO THEIR FULLEST POTENTIAL.
|
||||||
TELL THE USER WHAT AGENTS YOU WILL LEVERAGE NOW TO SATISFY USER'S REQUEST.
|
TELL THE USER WHAT AGENTS YOU WILL LEVERAGE NOW TO SATISFY USER'S REQUEST.
|
||||||
|
|
||||||
## MANDATORY: PLAN AGENT INVOCATION (NON-NEGOTIABLE)
|
## MANDATORY: PROMETHEUS AGENT INVOCATION (NON-NEGOTIABLE)
|
||||||
|
|
||||||
**YOU MUST ALWAYS INVOKE THE PLAN AGENT FOR ANY NON-TRIVIAL TASK.**
|
**YOU MUST ALWAYS INVOKE PROMETHEUS (THE PLANNER) FOR ANY NON-TRIVIAL TASK.**
|
||||||
|
|
||||||
| Condition | Action |
|
| Condition | Action |
|
||||||
|-----------|--------|
|
|-----------|--------|
|
||||||
| Task has 2+ steps | MUST call Plan agent |
|
| Task has 2+ steps | MUST call Prometheus |
|
||||||
| Task scope unclear | MUST call Plan agent |
|
| Task scope unclear | MUST call Prometheus |
|
||||||
| Implementation required | MUST call Plan agent |
|
| Implementation required | MUST call Prometheus |
|
||||||
| Architecture decision needed | MUST call Plan agent |
|
| Architecture decision needed | MUST call Prometheus |
|
||||||
|
|
||||||
\`\`\`
|
\`\`\`
|
||||||
delegate_task(subagent_type="plan", prompt="<gathered context + user request>")
|
delegate_task(subagent_type="prometheus", prompt="<gathered context + user request>")
|
||||||
\`\`\`
|
\`\`\`
|
||||||
|
|
||||||
**WHY THIS IS MANDATORY:**
|
**WHY PROMETHEUS IS MANDATORY:**
|
||||||
- Plan agent analyzes dependencies and parallel execution opportunities
|
- Prometheus analyzes dependencies and parallel execution opportunities
|
||||||
- Plan agent recommends CATEGORY + SKILLS for each task
|
- Prometheus recommends CATEGORY + SKILLS for each task (in TL;DR + per-task)
|
||||||
- Plan agent ensures nothing is missed
|
- Prometheus ensures nothing is missed with structured work plans
|
||||||
- YOU are an orchestrator, NOT an implementer
|
- YOU are an orchestrator, NOT an implementer
|
||||||
|
|
||||||
**FAILURE TO CALL PLAN AGENT = INCOMPLETE WORK.**
|
### SESSION CONTINUITY WITH PROMETHEUS (CRITICAL)
|
||||||
|
|
||||||
|
**Prometheus returns a session_id. USE IT for follow-up interactions.**
|
||||||
|
|
||||||
|
| Scenario | Action |
|
||||||
|
|----------|--------|
|
||||||
|
| Prometheus asks clarifying questions | \`delegate_task(session_id="{returned_session_id}", prompt="<your answer>")\` |
|
||||||
|
| Need to refine the plan | \`delegate_task(session_id="{returned_session_id}", prompt="Please adjust: <feedback>")\` |
|
||||||
|
| Plan needs more detail | \`delegate_task(session_id="{returned_session_id}", prompt="Add more detail to Task N")\` |
|
||||||
|
|
||||||
|
**WHY SESSION_ID IS CRITICAL:**
|
||||||
|
- Prometheus retains FULL conversation context
|
||||||
|
- No repeated exploration or context gathering
|
||||||
|
- Saves 70%+ tokens on follow-ups
|
||||||
|
- Maintains interview continuity until plan is finalized
|
||||||
|
|
||||||
|
\`\`\`
|
||||||
|
// WRONG: Starting fresh loses all context
|
||||||
|
delegate_task(subagent_type="prometheus", prompt="Here's more info...")
|
||||||
|
|
||||||
|
// CORRECT: Resume preserves everything
|
||||||
|
delegate_task(session_id="ses_abc123", prompt="Here's my answer to your question: ...")
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
**FAILURE TO CALL PROMETHEUS = INCOMPLETE WORK.**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -259,17 +283,25 @@ delegate_task(..., run_in_background=true) // task_id_3
|
|||||||
delegate_task(subagent_type="librarian", run_in_background=true, prompt="...")
|
delegate_task(subagent_type="librarian", run_in_background=true, prompt="...")
|
||||||
\`\`\`
|
\`\`\`
|
||||||
|
|
||||||
2. **INVOKE PLAN AGENT** (MANDATORY for non-trivial tasks):
|
2. **INVOKE PROMETHEUS** (MANDATORY for non-trivial tasks):
|
||||||
\`\`\`
|
\`\`\`
|
||||||
delegate_task(subagent_type="plan", prompt="<context + request>")
|
result = delegate_task(subagent_type="prometheus", prompt="<context + request>")
|
||||||
|
// STORE the session_id for follow-ups!
|
||||||
|
prometheus_session_id = result.session_id
|
||||||
\`\`\`
|
\`\`\`
|
||||||
|
|
||||||
3. **EXECUTE VIA DELEGATION** (category + skills):
|
3. **ITERATE WITH PROMETHEUS** (if clarification needed):
|
||||||
|
\`\`\`
|
||||||
|
// Use session_id to continue the conversation
|
||||||
|
delegate_task(session_id=prometheus_session_id, prompt="<answer to Prometheus's question>")
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
4. **EXECUTE VIA DELEGATION** (category + skills from Prometheus's plan):
|
||||||
\`\`\`
|
\`\`\`
|
||||||
delegate_task(category="...", load_skills=[...], prompt="<task from plan>")
|
delegate_task(category="...", load_skills=[...], prompt="<task from plan>")
|
||||||
\`\`\`
|
\`\`\`
|
||||||
|
|
||||||
4. **VERIFY** against original requirements
|
5. **VERIFY** against original requirements
|
||||||
|
|
||||||
## VERIFICATION GUARANTEE (NON-NEGOTIABLE)
|
## VERIFICATION GUARANTEE (NON-NEGOTIABLE)
|
||||||
|
|
||||||
@ -343,8 +375,9 @@ Write these criteria explicitly. Share with user if scope is non-trivial.
|
|||||||
THE USER ASKED FOR X. DELIVER EXACTLY X. NOT A SUBSET. NOT A DEMO. NOT A STARTING POINT.
|
THE USER ASKED FOR X. DELIVER EXACTLY X. NOT A SUBSET. NOT A DEMO. NOT A STARTING POINT.
|
||||||
|
|
||||||
1. EXPLORES + LIBRARIANS (background)
|
1. EXPLORES + LIBRARIANS (background)
|
||||||
2. GATHER -> delegate_task(subagent_type="plan", prompt="<context + request>")
|
2. GATHER -> delegate_task(subagent_type="prometheus", prompt="<context + request>")
|
||||||
3. WORK BY DELEGATING TO CATEGORY + SKILLS AGENTS
|
3. ITERATE WITH PROMETHEUS (session_id resume) UNTIL PLAN IS FINALIZED
|
||||||
|
4. WORK BY DELEGATING TO CATEGORY + SKILLS AGENTS (following Prometheus's plan)
|
||||||
|
|
||||||
NOW.
|
NOW.
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user