sisyphi 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/chunk-DBR33QHM.js +185 -0
- package/dist/chunk-DBR33QHM.js.map +1 -0
- package/dist/cli.js +159 -22
- package/dist/cli.js.map +1 -1
- package/dist/daemon.js +30 -2
- package/dist/daemon.js.map +1 -1
- package/dist/templates/CLAUDE.md +1 -0
- package/dist/templates/agent-plugin/agents/operator.md +1 -0
- package/dist/templates/agent-plugin/agents/plan.md +68 -4
- package/dist/templates/agent-plugin/agents/review-plan.md +1 -1
- package/dist/templates/agent-plugin/agents/review.md +1 -0
- package/dist/templates/agent-plugin/agents/spec-draft.md +32 -4
- package/dist/templates/agent-plugin/agents/test-spec.md +1 -0
- package/dist/templates/companion-plugin/.claude-plugin/plugin.json +1 -0
- package/dist/templates/companion-plugin/hooks/hooks.json +12 -0
- package/dist/templates/companion-plugin/hooks/user-prompt-context.sh +3 -0
- package/dist/templates/dashboard-claude.md +1 -1
- package/dist/templates/orchestrator-base.md +5 -9
- package/dist/templates/orchestrator-planning.md +5 -49
- package/dist/tui.js +341 -184
- package/dist/tui.js.map +1 -1
- package/package.json +1 -1
- package/templates/CLAUDE.md +1 -0
- package/templates/agent-plugin/agents/operator.md +1 -0
- package/templates/agent-plugin/agents/plan.md +68 -4
- package/templates/agent-plugin/agents/review-plan.md +1 -1
- package/templates/agent-plugin/agents/review.md +1 -0
- package/templates/agent-plugin/agents/spec-draft.md +32 -4
- package/templates/agent-plugin/agents/test-spec.md +1 -0
- package/templates/companion-plugin/.claude-plugin/plugin.json +1 -0
- package/templates/companion-plugin/hooks/hooks.json +12 -0
- package/templates/companion-plugin/hooks/user-prompt-context.sh +3 -0
- package/templates/dashboard-claude.md +1 -1
- package/templates/orchestrator-base.md +5 -9
- package/templates/orchestrator-planning.md +5 -49
- package/dist/chunk-ZE2SKB4B.js +0 -35
- package/dist/chunk-ZE2SKB4B.js.map +0 -1
- package/dist/templates/agent-plugin/.claude/agents/debug.md +0 -39
- package/dist/templates/agent-plugin/.claude/agents/plan.md +0 -101
- package/dist/templates/agent-plugin/.claude/agents/review-plan.md +0 -81
- package/dist/templates/agent-plugin/.claude/agents/review.md +0 -56
- package/dist/templates/agent-plugin/.claude/agents/spec-draft.md +0 -73
- package/dist/templates/agent-plugin/.claude/agents/test-spec.md +0 -56
- package/dist/templates/orchestrator-plugin/.claude/commands/begin.md +0 -62
- package/dist/templates/orchestrator-plugin/.claude/skills/orchestration/SKILL.md +0 -40
- package/dist/templates/orchestrator-plugin/.claude/skills/orchestration/task-patterns.md +0 -222
- package/dist/templates/orchestrator-plugin/.claude/skills/orchestration/workflow-examples.md +0 -208
- package/dist/templates/resources/.claude/agents/debug.md +0 -39
- package/dist/templates/resources/.claude/agents/plan.md +0 -101
- package/dist/templates/resources/.claude/agents/review-plan.md +0 -81
- package/dist/templates/resources/.claude/agents/review.md +0 -56
- package/dist/templates/resources/.claude/agents/spec-draft.md +0 -73
- package/dist/templates/resources/.claude/agents/test-spec.md +0 -56
- package/dist/templates/resources/.claude/commands/begin.md +0 -62
- package/dist/templates/resources/.claude/skills/orchestration/SKILL.md +0 -40
- package/dist/templates/resources/.claude/skills/orchestration/task-patterns.md +0 -222
- package/dist/templates/resources/.claude/skills/orchestration/workflow-examples.md +0 -208
- package/dist/templates/resources/.claude-plugin/plugin.json +0 -8
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: review
|
|
3
|
-
description: Code review. Spawns parallel subagents by concern area. Read-only.
|
|
4
|
-
model: opus
|
|
5
|
-
color: orange
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are a code reviewer. Investigate, validate, and report — never edit code.
|
|
9
|
-
|
|
10
|
-
## Process
|
|
11
|
-
|
|
12
|
-
1. **Scope** — Determine what to review:
|
|
13
|
-
- If a path is given, review those files
|
|
14
|
-
- If uncommitted changes exist, review the diff
|
|
15
|
-
- If clean tree, review recent commits vs main
|
|
16
|
-
|
|
17
|
-
2. **Context** — Read CLAUDE.md, applicable `.claude/rules/*.md`, and codebase conventions in the target area.
|
|
18
|
-
|
|
19
|
-
3. **Classify** — Determine review depth from change type:
|
|
20
|
-
- Hotfix/security: **maximum** depth
|
|
21
|
-
- New feature: **standard**
|
|
22
|
-
- Refactor: **behavior-focused** (verify equivalence)
|
|
23
|
-
- Test-only: **intent-focused**
|
|
24
|
-
- Documentation: **minimal**
|
|
25
|
-
|
|
26
|
-
4. **Investigate** — Spawn parallel subagents by concern area, scaled to scope:
|
|
27
|
-
- <10 files: 3-4 subagents (grouped concerns)
|
|
28
|
-
- 10-25 files: 6-8 subagents
|
|
29
|
-
- 25+ files: 8-12 subagents
|
|
30
|
-
|
|
31
|
-
5. **Validate** — Spawn validation subagents (~1 per 3 issues):
|
|
32
|
-
- Bugs/Security (opus): confirm exploitable/broken
|
|
33
|
-
- Everything else (sonnet): confirm significant, reject subjective nitpicks
|
|
34
|
-
- Drop anything that doesn't survive validation
|
|
35
|
-
|
|
36
|
-
6. **Synthesize** — Deduplicate, filter low-confidence findings, prioritize by severity.
|
|
37
|
-
|
|
38
|
-
## Concerns (ordered by AI risk)
|
|
39
|
-
|
|
40
|
-
| Concern | Model | Risk | Focus |
|
|
41
|
-
|---------|-------|------|-------|
|
|
42
|
-
| Security | opus | 2.74x | Input validation, XSS, injection, auth |
|
|
43
|
-
| Error Handling | opus | 2x | Missing guardrails, swallowed errors |
|
|
44
|
-
| Logic Bugs | opus | 1.75x | Incorrect conditions, off-by-one, state bugs |
|
|
45
|
-
| Over-engineering | sonnet | high | Abstractions without justification |
|
|
46
|
-
| Dead Code/Bloat | sonnet | 1.64x | Unused code, duplication |
|
|
47
|
-
| Compliance | sonnet | — | CLAUDE.md/rules adherence |
|
|
48
|
-
| Pattern Consistency | sonnet | — | Naming, architecture, conventions |
|
|
49
|
-
|
|
50
|
-
## Do NOT Flag
|
|
51
|
-
|
|
52
|
-
Pre-existing issues, linter-catchable issues, subjective style, speculative problems without evidence.
|
|
53
|
-
|
|
54
|
-
## Output
|
|
55
|
-
|
|
56
|
-
Sectioned by severity (Critical, High, Medium). Every finding cites `file:line` with concrete evidence. No low-signal tier.
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: spec-draft
|
|
3
|
-
description: Investigate codebase, propose feature spec with open questions for human iteration.
|
|
4
|
-
model: opus
|
|
5
|
-
color: cyan
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are defining a feature through investigation and proposal. Your output is a starting point for human conversation, not a final spec.
|
|
9
|
-
|
|
10
|
-
## Process
|
|
11
|
-
|
|
12
|
-
### 1. Initial Investigation
|
|
13
|
-
|
|
14
|
-
Explore the codebase to understand:
|
|
15
|
-
- Relevant existing patterns or similar features
|
|
16
|
-
- Constraints that might affect the feature design
|
|
17
|
-
- Integration points or dependencies
|
|
18
|
-
- Architectural patterns already in use
|
|
19
|
-
|
|
20
|
-
### 2. Present Findings and Proposal
|
|
21
|
-
|
|
22
|
-
Share:
|
|
23
|
-
- What you found in the codebase
|
|
24
|
-
- A concrete proposal with your reasoning
|
|
25
|
-
- Relevant file paths that will be involved
|
|
26
|
-
- Trade-offs you see or where you're less certain
|
|
27
|
-
|
|
28
|
-
Share your perspective: what's clear, what's open, what you'd lean toward and why.
|
|
29
|
-
|
|
30
|
-
### 3. High-Level Spec
|
|
31
|
-
|
|
32
|
-
Write a lightweight spec covering:
|
|
33
|
-
- **Summary** — One paragraph describing the feature
|
|
34
|
-
- **Behavior** — External behavior at a high level. Focus on what's non-obvious.
|
|
35
|
-
- **Architecture** (if applicable) — Key abstractions, component interactions
|
|
36
|
-
- **Related files** — Paths to relevant existing code
|
|
37
|
-
|
|
38
|
-
This is deliberately high-level. The human will refine it.
|
|
39
|
-
|
|
40
|
-
**No code. No pseudocode.**
|
|
41
|
-
|
|
42
|
-
### 4. Surface Open Questions
|
|
43
|
-
|
|
44
|
-
Explicitly list anything that needs human input:
|
|
45
|
-
- Ambiguous requirements from the ticket
|
|
46
|
-
- Design choices with multiple valid approaches
|
|
47
|
-
- UX decisions that depend on product intent
|
|
48
|
-
- Scope boundaries (what's in vs out)
|
|
49
|
-
- Technical trade-offs where the right answer isn't obvious
|
|
50
|
-
|
|
51
|
-
Questions should be specific. Bad: "What should happen on error?" Good: "If the API returns a 429, should we retry with backoff or surface the rate limit to the user?"
|
|
52
|
-
|
|
53
|
-
### 5. Save Artifacts
|
|
54
|
-
|
|
55
|
-
Save to the session context directory (`.sisyphus/sessions/$SISYPHUS_SESSION_ID/context/`):
|
|
56
|
-
|
|
57
|
-
- Save the high-level spec to `spec-{topic}.md`
|
|
58
|
-
- Save pipeline state to `pipeline-{topic}.md`:
|
|
59
|
-
|
|
60
|
-
```markdown
|
|
61
|
-
# Pipeline State: {topic}
|
|
62
|
-
|
|
63
|
-
## Specification Phase
|
|
64
|
-
|
|
65
|
-
### Alternatives Considered
|
|
66
|
-
- [Approach]: [Why chosen or rejected — 1 line each]
|
|
67
|
-
|
|
68
|
-
### Key Discoveries
|
|
69
|
-
- [Codebase patterns, constraints, or gotchas found during investigation that aren't in the spec]
|
|
70
|
-
|
|
71
|
-
### Handoff Notes
|
|
72
|
-
- [What the planning phase needs to know that doesn't fit the spec format]
|
|
73
|
-
```
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: test-spec
|
|
3
|
-
description: Define behavioral test properties — what must be provably true after implementation.
|
|
4
|
-
model: opus
|
|
5
|
-
color: magenta
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are a test specification author. Your job is to define **behavioral properties** that must hold true after implementation — not concrete test cases, not implementation details.
|
|
9
|
-
|
|
10
|
-
## Why Behavioral Properties
|
|
11
|
-
|
|
12
|
-
Implementation drifts from plans. Function names change, files move, APIs get restructured. But the *behaviors* the feature must exhibit are stable. A test spec defines what must be provably true, giving validators a checklist they can verify against the actual implementation regardless of how it was built.
|
|
13
|
-
|
|
14
|
-
## Process
|
|
15
|
-
|
|
16
|
-
1. **Read the spec** at the path provided (if exists)
|
|
17
|
-
2. **Read the implementation plan** at the path provided
|
|
18
|
-
3. **Extract behavioral properties** — what must be true when this is done?
|
|
19
|
-
|
|
20
|
-
## Output Format
|
|
21
|
-
|
|
22
|
-
Save to `.sisyphus/sessions/$SISYPHUS_SESSION_ID/context/test-spec-{topic}.md`:
|
|
23
|
-
|
|
24
|
-
```markdown
|
|
25
|
-
# {Topic} — Behavioral Test Spec
|
|
26
|
-
|
|
27
|
-
## Core Properties
|
|
28
|
-
|
|
29
|
-
### P1: {Property Name}
|
|
30
|
-
**Behavior**: {What must be true, stated as an invariant}
|
|
31
|
-
**Verify by**: {How a validator can prove this — CLI command, code inspection, browser check, etc.}
|
|
32
|
-
**Category**: unit | integration | visual | accessibility
|
|
33
|
-
|
|
34
|
-
### P2: {Property Name}
|
|
35
|
-
...
|
|
36
|
-
|
|
37
|
-
## Edge Cases
|
|
38
|
-
|
|
39
|
-
### E1: {Edge Case}
|
|
40
|
-
**Behavior**: {What must happen under this condition}
|
|
41
|
-
**Verify by**: {Method}
|
|
42
|
-
|
|
43
|
-
## Negative Properties
|
|
44
|
-
|
|
45
|
-
### N1: {What must NOT happen}
|
|
46
|
-
**Behavior**: {Invariant}
|
|
47
|
-
**Verify by**: {Method}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Standards
|
|
51
|
-
|
|
52
|
-
- **State behaviors, not implementations.** "Users can log in with email/password" not "loginHandler calls bcrypt.compare"
|
|
53
|
-
- **Each property must be independently verifiable.**
|
|
54
|
-
- **Include negative properties.** What must NOT happen is as important as what must happen.
|
|
55
|
-
- If the change is purely mechanical with nothing to verify behaviorally, call submit with `{ "testsNeeded": false }`
|
|
56
|
-
- Otherwise, after writing the test spec file, call submit with `{ "testsNeeded": true }`
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Quick reference for using sisyphus multi-agent orchestration
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Sisyphus Quick Reference
|
|
6
|
-
|
|
7
|
-
Sisyphus is a tmux-based daemon that orchestrates multi-agent Claude Code workflows. A background daemon manages sessions where an orchestrator breaks work into subtasks, spawns agents in tmux panes, and coordinates their lifecycle through cycles.
|
|
8
|
-
|
|
9
|
-
## Start the daemon
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
sisyphus start "your task description"
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
This creates a session and spawns an orchestrator Claude in a tmux pane. The orchestrator plans work, spawns agents, then yields. Agents work in parallel and submit reports. The orchestrator respawns each cycle to review progress.
|
|
16
|
-
|
|
17
|
-
## How it works
|
|
18
|
-
|
|
19
|
-
1. **You** run `sisyphus start` with a complete, detailed task
|
|
20
|
-
2. **Orchestrator** decomposes it into subtasks, spawns agents in parallel, yields
|
|
21
|
-
3. **Agents** work in parallel tmux panes, submit reports when done
|
|
22
|
-
4. **Daemon** detects completion, respawns orchestrator with updated state
|
|
23
|
-
5. **Orchestrator** reviews reports, spawns more agents or calls complete
|
|
24
|
-
|
|
25
|
-
Orchestrator pane is yellow. Agent panes cycle through blue, green, magenta, cyan, red, white.
|
|
26
|
-
|
|
27
|
-
## Task description philosophy
|
|
28
|
-
|
|
29
|
-
**Be bold and thorough.** Give sisyphus complete, meaty descriptions. Don't hold back out of concern that it's "too much" — detailed tasks produce better orchestration. The orchestrator figures out how to break it down; your job is to describe what done looks like.
|
|
30
|
-
|
|
31
|
-
**No pre-planning needed.** You don't need to spec or plan before handing off to sisyphus. Skip the `/rpi:arch` → `/rpi:plan` ceremony unless you want to. Sisyphus spawns agents that can investigate, draft specs, write plans, implement, and review — all within a single session.
|
|
32
|
-
|
|
33
|
-
**Good task descriptions include:**
|
|
34
|
-
- What needs to be built or fixed (with context on why)
|
|
35
|
-
- Where relevant code lives if you know it
|
|
36
|
-
- What a successful outcome looks like
|
|
37
|
-
- Any constraints or preferences (tech choices, style, tests)
|
|
38
|
-
- Adjacent concerns to be aware of (don't break X, keep Y working)
|
|
39
|
-
|
|
40
|
-
**Example — too sparse:**
|
|
41
|
-
```
|
|
42
|
-
sisyphus start "fix the auth bug"
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
**Example — good:**
|
|
46
|
-
```
|
|
47
|
-
sisyphus start "Fix the JWT refresh bug in src/auth/. When a token expires mid-session, the app shows a blank screen instead of redirecting to login. Root cause is probably in the token interceptor (src/auth/interceptor.ts) — it catches 401s but doesn't clear state before redirect. Fix the bug, add a test that simulates token expiry during an active session, and make sure the logout flow also clears tokens correctly."
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Key commands
|
|
51
|
-
|
|
52
|
-
| Command | Purpose |
|
|
53
|
-
|---------|---------|
|
|
54
|
-
| `sisyphus start "task"` | Create a session and launch the orchestrator |
|
|
55
|
-
| `sisyphus status` | Check current session state |
|
|
56
|
-
| `sisyphus list` | List all sessions |
|
|
57
|
-
| `sisyphus resume <id>` | Resume a paused session |
|
|
58
|
-
| `sisyphus tasks list` | View tracked tasks |
|
|
59
|
-
| `sisyphus spawn --instruction "..."` | Spawn an agent (orchestrator only) |
|
|
60
|
-
| `sisyphus yield` | Hand control back to daemon (orchestrator only) |
|
|
61
|
-
| `sisyphus submit --report "..."` | Report results (agent only) |
|
|
62
|
-
| `sisyphus complete --report "..."` | Mark session done (orchestrator only) |
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: orchestration
|
|
3
|
-
description: >
|
|
4
|
-
Task breakdown patterns for sisyphus orchestrator sessions. How to structure tasks, sequence agents, and manage cycles for debugging, feature builds, refactors, and other common workflows. Use when planning orchestration strategy or structuring a multi-agent session.
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Orchestration Patterns
|
|
8
|
-
|
|
9
|
-
How to structure sisyphus sessions for common task types. This skill helps the orchestrator break work into tasks, choose agent types, sequence cycles, and handle failures.
|
|
10
|
-
|
|
11
|
-
## Core Principles
|
|
12
|
-
|
|
13
|
-
1. **Tasks are the orchestrator's memory.** State.json persists across cycles — tasks and agent reports are all you have. Make task descriptions specific enough that a fresh orchestrator can pick up where you left off.
|
|
14
|
-
|
|
15
|
-
2. **Agents are disposable.** Each agent gets one focused instruction. If it fails or the scope changes, spawn a new one — don't try to redirect a running agent.
|
|
16
|
-
|
|
17
|
-
3. **Parallelize when independent.** If two tasks don't share files or depend on each other's output, spawn agents for both in the same cycle.
|
|
18
|
-
|
|
19
|
-
4. **Validate at boundaries.** After each logical phase completes, spawn a validation agent before moving on. Catching problems early prevents cascading rework.
|
|
20
|
-
|
|
21
|
-
5. **Reports are handoffs.** Agent reports should contain everything the next cycle's orchestrator needs — what was done, what was found, what's unresolved, where artifacts were saved.
|
|
22
|
-
|
|
23
|
-
## Agent Types Quick Reference
|
|
24
|
-
|
|
25
|
-
| Agent | Model | Use For |
|
|
26
|
-
|-------|-------|---------|
|
|
27
|
-
| `sisyphus:general` | sonnet | Ad-hoc tasks, summarization, simple questions |
|
|
28
|
-
| `sisyphus:debug` | opus | Bug diagnosis and root cause analysis |
|
|
29
|
-
| `sisyphus:spec-draft` | opus | Feature investigation and spec drafting |
|
|
30
|
-
| `sisyphus:plan` | opus | Implementation planning from spec |
|
|
31
|
-
| `sisyphus:review-plan` | opus | Validate plan covers spec completely |
|
|
32
|
-
| `sisyphus:test-spec` | opus | Define behavioral properties to verify |
|
|
33
|
-
| `sisyphus:implement` | sonnet | Execute plan phases, write code |
|
|
34
|
-
| `sisyphus:validate` | opus | Verify implementation matches plan |
|
|
35
|
-
| `sisyphus:review` | opus | Code review with parallel concern subagents |
|
|
36
|
-
| `sisyphus:tactician` | opus | Track plan progress, dispatch next task |
|
|
37
|
-
| `sisyphus:triage` | sonnet | Classify tickets by type/size |
|
|
38
|
-
|
|
39
|
-
For task breakdown patterns per workflow type, see [task-patterns.md](task-patterns.md).
|
|
40
|
-
For end-to-end workflow examples, see [workflow-examples.md](workflow-examples.md).
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
# Task Breakdown Patterns
|
|
2
|
-
|
|
3
|
-
Patterns for how the orchestrator should structure tasks for common workflow types. Each pattern shows the task list structure, agent assignments, cycle sequencing, and failure handling.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Bug Fix
|
|
8
|
-
|
|
9
|
-
### When to use
|
|
10
|
-
Something is broken. User reports a bug, test is failing, behavior is wrong.
|
|
11
|
-
|
|
12
|
-
### Task structure
|
|
13
|
-
```
|
|
14
|
-
t1: Diagnose root cause of [bug description]
|
|
15
|
-
t2: Implement fix for [root cause]
|
|
16
|
-
t3: Validate fix — regression tests pass, bug is resolved
|
|
17
|
-
t4: Review fix for unintended side effects
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
### Cycle plan
|
|
21
|
-
- **Cycle 1**: Spawn `sisyphus:debug` for t1. Yield.
|
|
22
|
-
- **Cycle 2**: Read diagnosis report. If confident root cause found, spawn `sisyphus:implement` for t2 with the diagnosis as context. Yield.
|
|
23
|
-
- **Cycle 3**: Spawn `sisyphus:validate` for t3. Yield.
|
|
24
|
-
- **Cycle 4**: If validation passes, spawn `sisyphus:review` for t4. If fails, update t2 with failure context and respawn implement. Yield.
|
|
25
|
-
- **Cycle 5**: Review results. Complete or address review findings.
|
|
26
|
-
|
|
27
|
-
### Failure modes
|
|
28
|
-
- **Debug inconclusive**: Add more context to t1, respawn debug with narrower scope or different focus areas.
|
|
29
|
-
- **Fix breaks other things**: t3 catches this. Feed validation failures back into a new implement cycle.
|
|
30
|
-
- **Root cause was wrong**: Create new t1 variant with what was learned, respawn debug.
|
|
31
|
-
|
|
32
|
-
### Parallelization
|
|
33
|
-
Usually serial — diagnosis must complete before fix, fix before validation. Exception: if the bug affects multiple independent areas, spawn multiple debug agents in parallel.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Feature Build (Small — 1-3 files)
|
|
38
|
-
|
|
39
|
-
### When to use
|
|
40
|
-
Clear requirements, small scope, no spec needed.
|
|
41
|
-
|
|
42
|
-
### Task structure
|
|
43
|
-
```
|
|
44
|
-
t1: Plan implementation for [feature]
|
|
45
|
-
t2: Implement [feature]
|
|
46
|
-
t3: Validate implementation
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### Cycle plan
|
|
50
|
-
- **Cycle 1**: Spawn `sisyphus:plan` for t1. Yield.
|
|
51
|
-
- **Cycle 2**: Spawn `sisyphus:implement` for t2 with plan path. Yield.
|
|
52
|
-
- **Cycle 3**: Spawn `sisyphus:validate` for t3. Yield.
|
|
53
|
-
- **Cycle 4**: Complete or fix issues.
|
|
54
|
-
|
|
55
|
-
### Parallelization
|
|
56
|
-
Serial. Too small to benefit from parallel agents.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Feature Build (Medium — 4-10 files)
|
|
61
|
-
|
|
62
|
-
### When to use
|
|
63
|
-
Feature with moderate complexity. Requirements may need clarification. Multiple files across a few modules.
|
|
64
|
-
|
|
65
|
-
### Task structure
|
|
66
|
-
```
|
|
67
|
-
t1: Draft spec for [feature] — investigate codebase, propose approach
|
|
68
|
-
t2: Create implementation plan from spec
|
|
69
|
-
t3: Review plan against spec
|
|
70
|
-
t4: Phase 1 — [foundation/types/interfaces]
|
|
71
|
-
t5: Phase 2 — [core logic]
|
|
72
|
-
t6: Phase 3 — [integration/wiring]
|
|
73
|
-
t7: Validate full implementation
|
|
74
|
-
t8: Review implementation
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Cycle plan
|
|
78
|
-
- **Cycle 1**: Spawn `sisyphus:spec-draft` for t1. Yield. (Human iterates on spec between cycles.)
|
|
79
|
-
- **Cycle 2**: Spawn `sisyphus:plan` for t2. Yield.
|
|
80
|
-
- **Cycle 3**: Spawn `sisyphus:review-plan` for t3. If fail, respawn plan with issues. Yield.
|
|
81
|
-
- **Cycle 4**: Spawn `sisyphus:implement` for t4. Yield.
|
|
82
|
-
- **Cycle 5**: Spawn `sisyphus:implement` for t5 + `sisyphus:validate` for t4 (parallel if t5 doesn't depend on t4 output). Yield.
|
|
83
|
-
- **Cycle 6-8**: Continue phases, validate, review.
|
|
84
|
-
|
|
85
|
-
### Failure modes
|
|
86
|
-
- **Spec needs human input**: Mark session as needing human review. Orchestrator notes open questions.
|
|
87
|
-
- **Plan fails review**: Feed review issues back, respawn planner.
|
|
88
|
-
- **Phase fails validation**: Feed specifics back to implement agent for that phase only.
|
|
89
|
-
|
|
90
|
-
### Parallelization
|
|
91
|
-
Phases without dependencies can run in parallel. Types/interfaces (t4) must complete before implementation phases that consume them.
|
|
92
|
-
|
|
93
|
-
---
|
|
94
|
-
|
|
95
|
-
## Feature Build (Large — 10+ files)
|
|
96
|
-
|
|
97
|
-
### When to use
|
|
98
|
-
Cross-cutting feature, multiple domains, needs team coordination.
|
|
99
|
-
|
|
100
|
-
### Task structure
|
|
101
|
-
```
|
|
102
|
-
t1: Draft spec for [feature]
|
|
103
|
-
t2: Create master implementation plan
|
|
104
|
-
t3: Review plan against spec
|
|
105
|
-
t4: Define behavioral test properties
|
|
106
|
-
t5: Phase 1 — [domain A foundation]
|
|
107
|
-
t6: Phase 2 — [domain B foundation]
|
|
108
|
-
t7: Phase 3 — [domain A implementation]
|
|
109
|
-
t8: Phase 4 — [domain B implementation]
|
|
110
|
-
t9: Phase 5 — [integration layer]
|
|
111
|
-
t10: Validate full implementation
|
|
112
|
-
t11: Review implementation
|
|
113
|
-
t12: Adversarial validation against test spec
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### Cycle plan
|
|
117
|
-
- **Cycle 1**: Spawn `sisyphus:spec-draft` for t1. Yield.
|
|
118
|
-
- **Cycle 2**: Spawn `sisyphus:plan` for t2 + `sisyphus:test-spec` for t4 (parallel). Yield.
|
|
119
|
-
- **Cycle 3**: Spawn `sisyphus:review-plan` for t3. Yield.
|
|
120
|
-
- **Cycle 4**: Spawn `sisyphus:implement` for t5 + t6 (parallel — independent domains). Yield.
|
|
121
|
-
- **Cycle 5**: Validate t5 + t6, then spawn t7 + t8 (parallel). Yield.
|
|
122
|
-
- **Cycle 6+**: Integration, validation, review.
|
|
123
|
-
|
|
124
|
-
### Failure modes
|
|
125
|
-
- **Integration failures**: Often means contracts between domains don't match. Spawn debug agent targeting the integration seam.
|
|
126
|
-
- **Test spec violations**: Feed specific property failures back to implement.
|
|
127
|
-
|
|
128
|
-
### Parallelization
|
|
129
|
-
Maximize. Independent domains run in parallel. Foundation phases complete before implementation phases in the same domain. Integration waits for all domain implementations.
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
## Refactor
|
|
134
|
-
|
|
135
|
-
### When to use
|
|
136
|
-
Restructure code without changing behavior. Move files, rename abstractions, consolidate patterns.
|
|
137
|
-
|
|
138
|
-
### Task structure
|
|
139
|
-
```
|
|
140
|
-
t1: Analyze current structure and plan refactor
|
|
141
|
-
t2: Capture behavioral snapshot (existing tests + manual checks)
|
|
142
|
-
t3: Execute refactor phase 1 — [structural changes]
|
|
143
|
-
t4: Execute refactor phase 2 — [update consumers]
|
|
144
|
-
t5: Validate behavior preserved — all original tests pass
|
|
145
|
-
t6: Review for missed references, dead code, broken imports
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
### Cycle plan
|
|
149
|
-
- **Cycle 1**: Spawn `sisyphus:plan` for t1 + `sisyphus:validate` for t2 (capture baseline). Yield.
|
|
150
|
-
- **Cycle 2**: Spawn `sisyphus:implement` for t3. Yield.
|
|
151
|
-
- **Cycle 3**: Spawn `sisyphus:implement` for t4 + `sisyphus:validate` for t3 (parallel). Yield.
|
|
152
|
-
- **Cycle 4**: Spawn `sisyphus:validate` for t5. Yield.
|
|
153
|
-
- **Cycle 5**: Spawn `sisyphus:review` for t6. Complete.
|
|
154
|
-
|
|
155
|
-
### Key principle
|
|
156
|
-
**Behavior preservation is the only metric.** The refactor is correct if and only if all existing tests pass and externally observable behavior is unchanged.
|
|
157
|
-
|
|
158
|
-
### Parallelization
|
|
159
|
-
Limited. Refactor phases are often sequential (move before update consumers). Validation can run in parallel with the next phase if they touch different files.
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
## Code Review
|
|
164
|
-
|
|
165
|
-
### When to use
|
|
166
|
-
PR review, pre-merge check, or periodic quality audit.
|
|
167
|
-
|
|
168
|
-
### Task structure
|
|
169
|
-
```
|
|
170
|
-
t1: Review [scope] for issues
|
|
171
|
-
t2: (conditional) Fix critical/high issues found
|
|
172
|
-
t3: (conditional) Re-review fixes
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
### Cycle plan
|
|
176
|
-
- **Cycle 1**: Spawn `sisyphus:review` for t1. Yield.
|
|
177
|
-
- **Cycle 2**: If critical/high issues, spawn `sisyphus:implement` for t2. If clean, complete.
|
|
178
|
-
- **Cycle 3**: Spawn `sisyphus:review` for t3 (targeted at fixes only). Complete.
|
|
179
|
-
|
|
180
|
-
### Parallelization
|
|
181
|
-
Review itself parallelizes internally (subagents per concern). Fix cycle is usually serial.
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## Investigation / Spike
|
|
186
|
-
|
|
187
|
-
### When to use
|
|
188
|
-
Need to understand something before committing to an approach. Prototype, explore, or answer a technical question.
|
|
189
|
-
|
|
190
|
-
### Task structure
|
|
191
|
-
```
|
|
192
|
-
t1: Investigate [question/area]
|
|
193
|
-
t2: Summarize findings and recommendation
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
### Cycle plan
|
|
197
|
-
- **Cycle 1**: Spawn `sisyphus:debug` (for code investigation) or `sisyphus:general` (for broader research) for t1. Yield.
|
|
198
|
-
- **Cycle 2**: Spawn `sisyphus:general` for t2 to synthesize. Complete.
|
|
199
|
-
|
|
200
|
-
### Parallelization
|
|
201
|
-
If investigating multiple independent areas, spawn parallel agents each exploring a different angle.
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## Tactician-Driven Implementation
|
|
206
|
-
|
|
207
|
-
### When to use
|
|
208
|
-
The plan exists and you want automated cycle-by-cycle execution without manual orchestrator decisions. The tactician reads the plan, dispatches one task at a time, and tracks progress.
|
|
209
|
-
|
|
210
|
-
### Task structure
|
|
211
|
-
```
|
|
212
|
-
t1: Execute implementation plan at [path] using tactician loop
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
### Cycle plan
|
|
216
|
-
This is a single-task pattern. The orchestrator spawns the tactician once:
|
|
217
|
-
- **Cycle 1**: Spawn `sisyphus:tactician` with plan path. The tactician internally dispatches implement/validate agents via submit tool actions. The orchestrator's role is minimal — just monitor the tactician's completion report.
|
|
218
|
-
|
|
219
|
-
### When NOT to use
|
|
220
|
-
- When you need human checkpoints between phases
|
|
221
|
-
- When phases have external dependencies (waiting on API access, design review, etc.)
|
|
222
|
-
- When the task requires creative decisions the tactician shouldn't make alone
|