panopticon-cli 0.5.9 → 0.5.10
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/dist/{agents-M2ZOZL3P.js → agents-MOMDECON.js} +3 -3
- package/dist/{archive-planning-U3AZAKWI.js → archive-planning-54J6EP6A.js} +3 -3
- package/dist/{chunk-3WDSD2VK.js → chunk-4OQ4SXQZ.js} +186 -88
- package/dist/chunk-4OQ4SXQZ.js.map +1 -0
- package/dist/{chunk-KPGVCGST.js → chunk-BHRMW7BY.js} +7 -3
- package/dist/chunk-BHRMW7BY.js.map +1 -0
- package/dist/{chunk-WEQW3EAT.js → chunk-F4XS2FQN.js} +3 -2
- package/dist/chunk-F4XS2FQN.js.map +1 -0
- package/dist/{chunk-OJF4QS3S.js → chunk-GIW2TUWI.js} +2 -2
- package/dist/{chunk-GM22HPYS.js → chunk-H7T35QDO.js} +21 -3
- package/dist/chunk-H7T35QDO.js.map +1 -0
- package/dist/{chunk-MJXYTGK5.js → chunk-JZWCL5S5.js} +2 -2
- package/dist/{chunk-4R6ATXYI.js → chunk-PFA5XE2V.js} +1 -37
- package/dist/chunk-PFA5XE2V.js.map +1 -0
- package/dist/{chunk-6OYUJ4AJ.js → chunk-R47UJWF6.js} +2 -2
- package/dist/{chunk-QQ27EVBD.js → chunk-RCYJK3ZC.js} +3 -3
- package/dist/{chunk-R4KPLLRB.js → chunk-SFX3BG6N.js} +1 -1
- package/dist/chunk-SFX3BG6N.js.map +1 -0
- package/dist/clean-planning-V4SSVU26.js +9 -0
- package/dist/cli/index.js +1111 -901
- package/dist/cli/index.js.map +1 -1
- package/dist/close-issue-5OMOP2FU.js +9 -0
- package/dist/compact-beads-YQDVF6FQ.js +9 -0
- package/dist/dashboard/prompts/merge-agent.md +11 -0
- package/dist/dashboard/prompts/review-agent.md +9 -0
- package/dist/dashboard/prompts/test-agent.md +9 -0
- package/dist/dashboard/prompts/work-agent.md +10 -2
- package/dist/dashboard/public/assets/index-5hYjhhGn.js +826 -0
- package/dist/dashboard/public/assets/index-DIFh3T1V.css +32 -0
- package/dist/dashboard/public/index.html +2 -2
- package/dist/dashboard/server.js +2402 -1753
- package/dist/index.d.ts +8 -3
- package/dist/index.js +3 -3
- package/dist/{label-cleanup-4HJVX6NP.js → label-cleanup-4IVZIPGK.js} +2 -2
- package/dist/{merge-agent-756U4NPX.js → merge-agent-6YOMGQMX.js} +12 -12
- package/dist/{specialist-context-UBVUUFJV.js → specialist-context-GVF4DV3M.js} +3 -3
- package/dist/{specialist-logs-FQRI3AIS.js → specialist-logs-W47SAAIU.js} +3 -3
- package/dist/{specialists-CXRGSJY3.js → specialists-SIXRWCZ3.js} +3 -3
- package/dist/{workspace-manager-OWHLR5BL.js → workspace-manager-Z57ROWBQ.js} +2 -2
- package/package.json +1 -1
- package/skills/pan-new-project/SKILL.md +1 -1
- package/skills/pan-oversee/SKILL.md +45 -10
- package/skills/plan/SKILL.md +336 -0
- package/dist/chunk-3WDSD2VK.js.map +0 -1
- package/dist/chunk-4R6ATXYI.js.map +0 -1
- package/dist/chunk-GM22HPYS.js.map +0 -1
- package/dist/chunk-KPGVCGST.js.map +0 -1
- package/dist/chunk-R4KPLLRB.js.map +0 -1
- package/dist/chunk-WEQW3EAT.js.map +0 -1
- package/dist/clean-planning-7Z5YY64X.js +0 -9
- package/dist/close-issue-CTZK777I.js +0 -9
- package/dist/compact-beads-72SHALOL.js +0 -9
- package/dist/dashboard/public/assets/index-Bx4NCn9A.css +0 -32
- package/dist/dashboard/public/assets/index-DqPey4Of.js +0 -756
- package/skills/opus-plan/SKILL.md +0 -400
- /package/dist/{agents-M2ZOZL3P.js.map → agents-MOMDECON.js.map} +0 -0
- /package/dist/{archive-planning-U3AZAKWI.js.map → archive-planning-54J6EP6A.js.map} +0 -0
- /package/dist/{chunk-OJF4QS3S.js.map → chunk-GIW2TUWI.js.map} +0 -0
- /package/dist/{chunk-MJXYTGK5.js.map → chunk-JZWCL5S5.js.map} +0 -0
- /package/dist/{chunk-6OYUJ4AJ.js.map → chunk-R47UJWF6.js.map} +0 -0
- /package/dist/{chunk-QQ27EVBD.js.map → chunk-RCYJK3ZC.js.map} +0 -0
- /package/dist/{clean-planning-7Z5YY64X.js.map → clean-planning-V4SSVU26.js.map} +0 -0
- /package/dist/{close-issue-CTZK777I.js.map → close-issue-5OMOP2FU.js.map} +0 -0
- /package/dist/{compact-beads-72SHALOL.js.map → compact-beads-YQDVF6FQ.js.map} +0 -0
- /package/dist/{label-cleanup-4HJVX6NP.js.map → label-cleanup-4IVZIPGK.js.map} +0 -0
- /package/dist/{merge-agent-756U4NPX.js.map → merge-agent-6YOMGQMX.js.map} +0 -0
- /package/dist/{specialist-context-UBVUUFJV.js.map → specialist-context-GVF4DV3M.js.map} +0 -0
- /package/dist/{specialist-logs-FQRI3AIS.js.map → specialist-logs-W47SAAIU.js.map} +0 -0
- /package/dist/{specialists-CXRGSJY3.js.map → specialists-SIXRWCZ3.js.map} +0 -0
- /package/dist/{workspace-manager-OWHLR5BL.js.map → workspace-manager-Z57ROWBQ.js.map} +0 -0
|
@@ -1,400 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: opus-plan
|
|
3
|
-
description: >
|
|
4
|
-
Opus-driven planning for issues before Sonnet implementation. Creates workspace,
|
|
5
|
-
PRD.md, STATE.md, beads with dependencies, and updates issue tracker. Ensures
|
|
6
|
-
strategic decisions are made by Opus, not cheaper models.
|
|
7
|
-
triggers:
|
|
8
|
-
- opus plan
|
|
9
|
-
- opus-plan
|
|
10
|
-
- opus planning
|
|
11
|
-
- plan with opus
|
|
12
|
-
allowed-tools:
|
|
13
|
-
- Read
|
|
14
|
-
- Write
|
|
15
|
-
- Bash
|
|
16
|
-
- Task
|
|
17
|
-
- Grep
|
|
18
|
-
- Glob
|
|
19
|
-
- ToolSearch
|
|
20
|
-
version: "1.2.0"
|
|
21
|
-
author: "Ed Becker"
|
|
22
|
-
license: "MIT"
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
# Opus Planning Skill
|
|
26
|
-
|
|
27
|
-
**Trigger:** `/opus-plan <issue-id>`
|
|
28
|
-
|
|
29
|
-
**CRITICAL:** This skill MUST be run by Opus. The entire point is that Opus does ALL the thinking so Sonnet just executes. If you are Sonnet or Haiku, STOP and tell the user to switch to Opus.
|
|
30
|
-
|
|
31
|
-
## Core Principle
|
|
32
|
-
|
|
33
|
-
**Opus plans EVERYTHING. Sonnet executes.**
|
|
34
|
-
|
|
35
|
-
Do NOT leave any decisions for the implementation agent. Every architectural choice, every file path, every function name, every edge case - all decided here. The implementation agent should be able to work through beads mechanically without making any design decisions.
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## EXECUTION STEPS
|
|
40
|
-
|
|
41
|
-
### Step 1: Parse Issue ID and Create Workspace
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
# PAN-XXX -> /home/eltmon/projects/panopticon (GitHub)
|
|
45
|
-
# MIN-XXX -> /home/eltmon/projects/myn (Linear)
|
|
46
|
-
# HH-XXX -> /home/eltmon/projects/househunt (Linear)
|
|
47
|
-
# JH-XXX -> /home/eltmon/projects/jobhunt (Linear)
|
|
48
|
-
|
|
49
|
-
# CRITICAL: Create a proper git worktree with feature branch
|
|
50
|
-
# DO NOT use mkdir -p - that creates a directory without git tracking!
|
|
51
|
-
cd <project>
|
|
52
|
-
pan workspace <issue-id> # Creates workspaces/feature-<id>/ with feature branch
|
|
53
|
-
|
|
54
|
-
# Then create planning directory inside the workspace
|
|
55
|
-
mkdir -p workspaces/feature-<issue-id-lowercase>/.planning
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**IMPORTANT:** The `pan workspace` command creates a git worktree on a feature branch.
|
|
59
|
-
This is REQUIRED so that work agents don't commit directly to main.
|
|
60
|
-
If `pan workspace` fails, fix the issue before continuing.
|
|
61
|
-
|
|
62
|
-
### Step 2: Fetch Issue Details
|
|
63
|
-
|
|
64
|
-
**GitHub (PAN-*):** `gh issue view <number>`
|
|
65
|
-
**Linear:** Use `mcp__linear__get_issue` tool
|
|
66
|
-
|
|
67
|
-
Read the FULL issue. Understand what's being asked.
|
|
68
|
-
|
|
69
|
-
### Step 3: Deep Discovery
|
|
70
|
-
|
|
71
|
-
**YOU MUST** thoroughly explore the codebase. Use `Task` tool with `subagent_type=Explore` or manually:
|
|
72
|
-
|
|
73
|
-
1. Find ALL related files:
|
|
74
|
-
- Where does the feature touch?
|
|
75
|
-
- What patterns exist?
|
|
76
|
-
- What tests exist?
|
|
77
|
-
|
|
78
|
-
2. Read key files completely:
|
|
79
|
-
- Don't skim - read line by line
|
|
80
|
-
- Understand the data flow
|
|
81
|
-
- Note function signatures
|
|
82
|
-
|
|
83
|
-
3. Identify:
|
|
84
|
-
- Files to create (new)
|
|
85
|
-
- Files to modify (existing)
|
|
86
|
-
- Files to delete (cleanup)
|
|
87
|
-
- Tests to write/update
|
|
88
|
-
|
|
89
|
-
### Step 4: Write PRD.md
|
|
90
|
-
|
|
91
|
-
Create `.planning/PRD.md` with ALL sections filled in completely:
|
|
92
|
-
|
|
93
|
-
```markdown
|
|
94
|
-
# PRD: <Title>
|
|
95
|
-
|
|
96
|
-
**Issue:** <issue-id>
|
|
97
|
-
**Author:** Ed Becker (with Claude Opus 4.6)
|
|
98
|
-
**Created:** <date>
|
|
99
|
-
**Status:** Ready for Implementation
|
|
100
|
-
|
|
101
|
-
## Executive Summary
|
|
102
|
-
<2-3 sentences describing what we're building and why>
|
|
103
|
-
|
|
104
|
-
## Problem Statement
|
|
105
|
-
<Detailed description of the problem. Include:
|
|
106
|
-
- Current behavior
|
|
107
|
-
- Desired behavior
|
|
108
|
-
- Impact of not fixing>
|
|
109
|
-
|
|
110
|
-
## User Personas
|
|
111
|
-
<At least 3 personas with specific needs>
|
|
112
|
-
|
|
113
|
-
## User Stories
|
|
114
|
-
<10+ user stories covering all use cases>
|
|
115
|
-
|
|
116
|
-
## Functional Requirements
|
|
117
|
-
|
|
118
|
-
### FR1: <Category>
|
|
119
|
-
- FR1.1: <Specific, testable requirement>
|
|
120
|
-
- FR1.2: <Specific, testable requirement>
|
|
121
|
-
|
|
122
|
-
### FR2: <Category>
|
|
123
|
-
...
|
|
124
|
-
|
|
125
|
-
## Non-Functional Requirements
|
|
126
|
-
<Performance, accessibility, security, etc.>
|
|
127
|
-
|
|
128
|
-
## Technical Design
|
|
129
|
-
|
|
130
|
-
### Architecture Overview
|
|
131
|
-
<High-level description with diagram if helpful>
|
|
132
|
-
|
|
133
|
-
### Data Flow
|
|
134
|
-
<How data moves through the system>
|
|
135
|
-
|
|
136
|
-
### API Changes
|
|
137
|
-
<New endpoints, modified endpoints, with full signatures>
|
|
138
|
-
|
|
139
|
-
### Component Structure
|
|
140
|
-
<File tree of new/modified components>
|
|
141
|
-
|
|
142
|
-
### Database Changes
|
|
143
|
-
<Schema changes if any>
|
|
144
|
-
|
|
145
|
-
## Acceptance Criteria
|
|
146
|
-
<Numbered checkboxes - these become the final verification>
|
|
147
|
-
|
|
148
|
-
## Dependencies
|
|
149
|
-
<External dependencies, internal dependencies>
|
|
150
|
-
|
|
151
|
-
## Risks and Mitigations
|
|
152
|
-
<What could go wrong, prevention strategies>
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### Step 5: Write STATE.md
|
|
156
|
-
|
|
157
|
-
Create `.planning/STATE.md` with COMPLETE task breakdown:
|
|
158
|
-
|
|
159
|
-
```markdown
|
|
160
|
-
# <issue-id>: <Title>
|
|
161
|
-
|
|
162
|
-
**Status:** Ready for Implementation
|
|
163
|
-
**Planned by:** Claude Opus 4.6
|
|
164
|
-
**Date:** <date>
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## Discovery Summary
|
|
169
|
-
<What you learned - specific file paths, patterns, gotchas>
|
|
170
|
-
|
|
171
|
-
## Key Architectural Decisions
|
|
172
|
-
|
|
173
|
-
### Decision 1: <Topic>
|
|
174
|
-
**Choice:** <What we're doing>
|
|
175
|
-
**Rationale:** <Why this choice, not alternatives>
|
|
176
|
-
**Implications:** <What this means for implementation>
|
|
177
|
-
|
|
178
|
-
### Decision 2: ...
|
|
179
|
-
|
|
180
|
-
## Implementation Plan
|
|
181
|
-
|
|
182
|
-
### Phase 1: <Name> (Priority: P1)
|
|
183
|
-
|
|
184
|
-
#### Task 1.1: <Specific task name>
|
|
185
|
-
**File:** `src/path/to/file.ts`
|
|
186
|
-
**Action:** Create new file / Modify existing
|
|
187
|
-
**Details:**
|
|
188
|
-
- Create function `functionName(param: Type): ReturnType`
|
|
189
|
-
- Handle edge case X
|
|
190
|
-
- Integrate with Y
|
|
191
|
-
**Tests:** `tests/path/to/test.ts`
|
|
192
|
-
|
|
193
|
-
#### Task 1.2: ...
|
|
194
|
-
|
|
195
|
-
### Phase 2: <Name> (Priority: P2)
|
|
196
|
-
...
|
|
197
|
-
|
|
198
|
-
## Task Dependencies
|
|
199
|
-
|
|
200
|
-
```
|
|
201
|
-
Task 1.1 ──┬── Task 2.1 ── Task 3.1
|
|
202
|
-
│
|
|
203
|
-
Task 1.2 ──┴── Task 2.2 ── Task 3.2
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
<Explicit list: "Task X blocks Task Y because...">
|
|
207
|
-
|
|
208
|
-
## Definition of Done
|
|
209
|
-
- [ ] All beads completed
|
|
210
|
-
- [ ] All tests passing
|
|
211
|
-
- [ ] No TypeScript errors
|
|
212
|
-
- [ ] Manual testing complete
|
|
213
|
-
- [ ] PR created and reviewed
|
|
214
|
-
|
|
215
|
-
## Notes for Implementation Agent
|
|
216
|
-
- Start with Phase 1 tasks (they unblock everything)
|
|
217
|
-
- Run tests after each task
|
|
218
|
-
- Don't refactor code outside the scope
|
|
219
|
-
- Ask for help if blocked
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### Step 6: CREATE ALL BEADS
|
|
223
|
-
|
|
224
|
-
**This is the critical step.** Create 30-60+ beads for a typical feature. Each bead must be:
|
|
225
|
-
- Completable in 1 focused session
|
|
226
|
-
- Specific enough that no decisions are needed
|
|
227
|
-
- Include exact file paths and function names
|
|
228
|
-
|
|
229
|
-
**For each task in STATE.md, create a bead:**
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
bd create --title "<ISSUE-ID>: <exact task name>" \
|
|
233
|
-
--priority <1-4> \
|
|
234
|
-
--labels "<ISSUE-ID>,difficulty:<level>,phase-<n>,<optional-tags>" \
|
|
235
|
-
--description "<VERY detailed description:
|
|
236
|
-
File: src/exact/path/file.ts
|
|
237
|
-
|
|
238
|
-
What to do:
|
|
239
|
-
1. Create/modify function X
|
|
240
|
-
2. Add parameter Y
|
|
241
|
-
3. Handle edge case Z
|
|
242
|
-
|
|
243
|
-
Expected behavior:
|
|
244
|
-
- When A happens, B should occur
|
|
245
|
-
- If C fails, show error D
|
|
246
|
-
|
|
247
|
-
Tests:
|
|
248
|
-
- Add test in tests/path/test.ts
|
|
249
|
-
- Cover cases: E, F, G>"
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
**Label format:**
|
|
253
|
-
- `<ISSUE-ID>` - always include
|
|
254
|
-
- `difficulty:trivial|simple|medium|complex`
|
|
255
|
-
- `phase-1|phase-2|etc`
|
|
256
|
-
- `api` - backend work
|
|
257
|
-
- `frontend` - React components
|
|
258
|
-
- `stitch` - design work
|
|
259
|
-
- `test` - test-only tasks
|
|
260
|
-
|
|
261
|
-
**After creating beads, set dependencies:**
|
|
262
|
-
```bash
|
|
263
|
-
bd dep add <blocked-id> <blocker-id>
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
**VERIFY:** `bd search "<ISSUE-ID>"` and count. Should be 30-60+ for a real feature.
|
|
267
|
-
|
|
268
|
-
### Step 7: Stitch Integration (UI Work)
|
|
269
|
-
|
|
270
|
-
If issue involves UI, YOU MUST use Stitch:
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
# Load Stitch tools
|
|
274
|
-
ToolSearch query: "+stitch"
|
|
275
|
-
|
|
276
|
-
# Create project
|
|
277
|
-
mcp__stitch__create_project name="<issue-id>-design"
|
|
278
|
-
|
|
279
|
-
# Design each screen
|
|
280
|
-
mcp__stitch__generate_screen_from_text ...
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
Document all designs in `.planning/STITCH_DESIGNS.md`.
|
|
284
|
-
|
|
285
|
-
### Step 8: Update Issue Tracker
|
|
286
|
-
|
|
287
|
-
**GitHub (PAN-*):**
|
|
288
|
-
```bash
|
|
289
|
-
gh label create "planned" --color "0E8A16" 2>/dev/null || true
|
|
290
|
-
gh label create "ready-for-implementation" --color "1D76DB" 2>/dev/null || true
|
|
291
|
-
gh label create "opus-planned" --color "7057FF" 2>/dev/null || true
|
|
292
|
-
|
|
293
|
-
gh issue edit <number> --add-label "planned,ready-for-implementation,opus-planned"
|
|
294
|
-
|
|
295
|
-
gh issue comment <number> --body "## Planning Complete
|
|
296
|
-
**Planned by:** Claude Opus 4.6
|
|
297
|
-
**Workspace:** workspaces/feature-<issue-id>/
|
|
298
|
-
|
|
299
|
-
### Beads Created: <N> tasks
|
|
300
|
-
### Ready Work: <list unblocked beads>
|
|
301
|
-
### Next: /work-issue <ISSUE-ID>"
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
### Step 9: Output Summary
|
|
305
|
-
|
|
306
|
-
```
|
|
307
|
-
## Opus Planning Complete for <ISSUE-ID>
|
|
308
|
-
|
|
309
|
-
**Workspace:** <path>
|
|
310
|
-
**PRD:** <title> - <N> requirements
|
|
311
|
-
**STATE.md:** <N> phases, <M> tasks
|
|
312
|
-
|
|
313
|
-
**Beads Created:** <total>
|
|
314
|
-
- Ready (unblocked): <N>
|
|
315
|
-
- Blocked: <M>
|
|
316
|
-
|
|
317
|
-
**Ready Work:**
|
|
318
|
-
1. <bead-id>: <title> [P<n>]
|
|
319
|
-
...
|
|
320
|
-
|
|
321
|
-
**Next:** /work-issue <ISSUE-ID>
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
---
|
|
325
|
-
|
|
326
|
-
## Task Breakdown Templates
|
|
327
|
-
|
|
328
|
-
### For Backend API Work:
|
|
329
|
-
|
|
330
|
-
```
|
|
331
|
-
Phase: API Implementation
|
|
332
|
-
Tasks:
|
|
333
|
-
- Define types/interfaces in types.ts
|
|
334
|
-
- Create endpoint handler function
|
|
335
|
-
- Add route registration
|
|
336
|
-
- Add request validation
|
|
337
|
-
- Add error handling
|
|
338
|
-
- Write unit tests for handler
|
|
339
|
-
- Write integration tests for endpoint
|
|
340
|
-
- Update API documentation
|
|
341
|
-
```
|
|
342
|
-
|
|
343
|
-
### For React Component Work:
|
|
344
|
-
|
|
345
|
-
```
|
|
346
|
-
Phase: Component Implementation
|
|
347
|
-
Tasks:
|
|
348
|
-
- Create component file with shell
|
|
349
|
-
- Add props interface
|
|
350
|
-
- Implement render logic
|
|
351
|
-
- Add state management (if needed)
|
|
352
|
-
- Add event handlers
|
|
353
|
-
- Style with Tailwind/CSS
|
|
354
|
-
- Add loading states
|
|
355
|
-
- Add error states
|
|
356
|
-
- Write unit tests
|
|
357
|
-
- Wire into parent component
|
|
358
|
-
- Add to Storybook (if applicable)
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
### For Bug Fixes:
|
|
362
|
-
|
|
363
|
-
```
|
|
364
|
-
Phase: Bug Fix
|
|
365
|
-
Tasks:
|
|
366
|
-
- Write failing test that reproduces bug
|
|
367
|
-
- Identify root cause (document in bead)
|
|
368
|
-
- Implement fix
|
|
369
|
-
- Verify test passes
|
|
370
|
-
- Add regression tests
|
|
371
|
-
- Check for similar issues elsewhere
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
### For Refactoring:
|
|
375
|
-
|
|
376
|
-
```
|
|
377
|
-
Phase: Refactoring
|
|
378
|
-
Tasks:
|
|
379
|
-
- Write tests for current behavior (if missing)
|
|
380
|
-
- Extract function/module
|
|
381
|
-
- Update all call sites
|
|
382
|
-
- Run tests, fix failures
|
|
383
|
-
- Update documentation
|
|
384
|
-
- Remove old code
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
---
|
|
388
|
-
|
|
389
|
-
## Quality Checklist
|
|
390
|
-
|
|
391
|
-
Before completing /opus-plan, verify:
|
|
392
|
-
|
|
393
|
-
- [ ] PRD.md has ALL sections filled
|
|
394
|
-
- [ ] STATE.md has EVERY task detailed
|
|
395
|
-
- [ ] Each bead has exact file paths
|
|
396
|
-
- [ ] Each bead has expected behavior
|
|
397
|
-
- [ ] Dependencies are set correctly
|
|
398
|
-
- [ ] Ready tasks identified
|
|
399
|
-
- [ ] Issue tracker updated
|
|
400
|
-
- [ ] No decisions left for implementation agent
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|