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:
justsisyphus 2026-01-27 10:50:38 +09:00
parent 6fa5cac616
commit 3e8e3db961
2 changed files with 117 additions and 30 deletions

View File

@ -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):

View File

@ -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.