@champpaba/claude-agent-kit 3.0.2 → 3.2.0

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.
Files changed (51) hide show
  1. package/.claude/CHANGELOG.md +707 -0
  2. package/.claude/CLAUDE.md +128 -613
  3. package/.claude/agents/_shared/pre-work-checklist.md +108 -7
  4. package/.claude/commands/cdev.md +36 -0
  5. package/.claude/commands/csetup.md +292 -1791
  6. package/.claude/commands/cview.md +364 -364
  7. package/.claude/contexts/design/accessibility.md +611 -611
  8. package/.claude/contexts/design/layout.md +400 -400
  9. package/.claude/contexts/design/responsive.md +551 -551
  10. package/.claude/contexts/design/shadows.md +522 -522
  11. package/.claude/contexts/design/typography.md +465 -465
  12. package/.claude/contexts/domain/README.md +164 -164
  13. package/.claude/contexts/patterns/agent-coordination.md +388 -388
  14. package/.claude/contexts/patterns/development-principles.md +513 -513
  15. package/.claude/contexts/patterns/error-handling.md +478 -478
  16. package/.claude/contexts/patterns/logging.md +424 -424
  17. package/.claude/contexts/patterns/tdd-classification.md +516 -516
  18. package/.claude/contexts/patterns/testing.md +413 -413
  19. package/.claude/lib/README.md +3 -3
  20. package/.claude/lib/detailed-guides/taskmaster-analysis.md +1 -1
  21. package/.claude/lib/task-analyzer.md +144 -0
  22. package/.claude/lib/tdd-workflow.md +2 -1
  23. package/.claude/lib/validation-gates.md +484 -484
  24. package/.claude/settings.local.json +42 -42
  25. package/.claude/templates/PROJECT_STATUS.template.yml +16 -41
  26. package/.claude/templates/context-template.md +45 -45
  27. package/.claude/templates/flags-template.json +42 -42
  28. package/.claude/templates/phases-sections/accessibility-test.md +17 -17
  29. package/.claude/templates/phases-sections/api-design.md +37 -37
  30. package/.claude/templates/phases-sections/backend-tests.md +16 -16
  31. package/.claude/templates/phases-sections/backend.md +37 -37
  32. package/.claude/templates/phases-sections/business-logic-validation.md +16 -16
  33. package/.claude/templates/phases-sections/component-tests.md +17 -17
  34. package/.claude/templates/phases-sections/contract-backend.md +16 -16
  35. package/.claude/templates/phases-sections/contract-frontend.md +16 -16
  36. package/.claude/templates/phases-sections/database.md +35 -35
  37. package/.claude/templates/phases-sections/e2e-tests.md +16 -16
  38. package/.claude/templates/phases-sections/fix-implementation.md +17 -17
  39. package/.claude/templates/phases-sections/frontend-integration.md +18 -18
  40. package/.claude/templates/phases-sections/manual-flow-test.md +15 -15
  41. package/.claude/templates/phases-sections/manual-ux-test.md +16 -16
  42. package/.claude/templates/phases-sections/refactor-implementation.md +17 -17
  43. package/.claude/templates/phases-sections/refactor.md +16 -16
  44. package/.claude/templates/phases-sections/regression-tests.md +15 -15
  45. package/.claude/templates/phases-sections/responsive-test.md +16 -16
  46. package/.claude/templates/phases-sections/script-implementation.md +43 -43
  47. package/.claude/templates/phases-sections/test-coverage.md +16 -16
  48. package/.claude/templates/phases-sections/user-approval.md +14 -14
  49. package/LICENSE +21 -21
  50. package/package.json +1 -1
  51. package/.claude/lib/tdd-classifier.md +0 -345
@@ -1,364 +1,364 @@
1
- ---
2
- name: Change View
3
- description: View detailed progress for a change
4
- category: Multi-Agent
5
- tags: [progress, view, status]
6
- ---
7
-
8
- ## Usage
9
-
10
- ```bash
11
- /cview {change-id}
12
- /cview {change-id} --json
13
- ```
14
-
15
- ## What It Does
16
-
17
- Shows detailed phase-by-phase breakdown with:
18
- - All phases (completed, in-progress, pending)
19
- - Time tracking per phase
20
- - Agent assignments
21
- - Issues and notes
22
- - Files touched
23
- - Statistics
24
-
25
- ## Steps
26
-
27
- ### Step 1: Check if Change Exists
28
-
29
- ```bash
30
- ls openspec/changes/{change-id}/.claude/flags.json
31
- ```
32
-
33
- If not found:
34
- ```
35
- ❌ Error: Change {change-id} not set up
36
- Run: /csetup {change-id}
37
- ```
38
-
39
- ### Step 2: Read flags.json
40
-
41
- ```typescript
42
- const flags = JSON.parse(
43
- Read('openspec/changes/{change-id}/.claude/flags.json')
44
- )
45
- ```
46
-
47
- ### Step 3: Format Output
48
-
49
- **If `--json` flag:**
50
- ```json
51
- {
52
- "change_id": "CHANGE-003",
53
- "template": "frontend-only",
54
- "progress_percentage": 64,
55
- "current_phase": "refactor",
56
- "phases": { ... },
57
- "meta": { ... }
58
- }
59
- ```
60
-
61
- **Otherwise, format human-readable:**
62
-
63
- ```
64
- ════════════════════════════════════════════════════════════
65
- 📋 {CHANGE_ID}: {Change Title} ({template})
66
- ════════════════════════════════════════════════════════════
67
-
68
- 📊 Overall Progress: {percentage}% ({completed}/{total} phases complete)
69
-
70
- ⏱️ Time Tracking:
71
- Total Spent: {spent}h {min}m
72
- Total Estimated: {estimated}h {min}m
73
- Efficiency: {efficiency}% {ahead/behind} schedule
74
- Remaining: ~{remaining}h {min}m
75
-
76
- ════════════════════════════════════════════════════════════
77
- ✅ COMPLETED PHASES ({count})
78
- ════════════════════════════════════════════════════════════
79
-
80
- [{number}] {Phase Name} ({agent})
81
- ⏱️ {start_time} → {end_time} ({duration} min, estimated {estimated} min)
82
- 📁 Created: {count} files
83
- - {file-path-1}
84
- - {file-path-2}
85
- ✓ Tasks: {task-ids}
86
- 📝 {notes}
87
-
88
- {repeat for all completed phases}
89
-
90
- ════════════════════════════════════════════════════════════
91
- 🔄 IN PROGRESS ({count})
92
- ════════════════════════════════════════════════════════════
93
-
94
- [{number}] {Phase Name} ({agent}) ← CURRENT
95
- ⏱️ Started: {start_time} ({minutes_ago} minutes ago)
96
- ⏱️ Estimated: {remaining} minutes remaining
97
- 📝 {notes}
98
-
99
- ════════════════════════════════════════════════════════════
100
- ⏳ PENDING ({count})
101
- ════════════════════════════════════════════════════════════
102
-
103
- [{number}] {Phase Name} ({agent})
104
- ⏱️ Estimated: {estimated} minutes
105
- 📋 {brief-description}
106
-
107
- {repeat for all pending phases}
108
-
109
- ════════════════════════════════════════════════════════════
110
- 📈 STATISTICS
111
- ════════════════════════════════════════════════════════════
112
-
113
- Tests: {passed} passed, {failed} failed ({pass_rate}% pass rate)
114
- Coverage: {coverage}% (target: {target}% {✓/✗})
115
- Issues: {found} found, {fixed} fixed, {remaining} remaining
116
- Files: {created} created, {modified} modified
117
- Approvals: {approval_status}
118
-
119
- ════════════════════════════════════════════════════════════
120
- 🎯 NEXT STEPS
121
- ════════════════════════════════════════════════════════════
122
-
123
- {if in_progress}
124
- Current phase in progress. Wait for completion.
125
-
126
- {else if next_phase === user}
127
- Next phase requires your action:
128
- → Phase {number}: {Phase Name}
129
- → {action_required}
130
-
131
- When done: /cdev {change-id} --continue
132
-
133
- {else if next_phase === automated}
134
- Continue development:
135
- → /cdev {change-id}
136
-
137
- {else if all_complete}
138
- ✅ All phases complete!
139
-
140
- Review and archive:
141
- 1. Update tasks.md (mark all [x])
142
- 2. Review report: openspec/changes/{change-id}/.claude/report.md
143
- 3. Archive: openspec archive {change-id}
144
-
145
- {else if blocked}
146
- ⚠️ Change is blocked: {blocking_reason}
147
- Fix issues before continuing.
148
- ```
149
-
150
- ---
151
-
152
- ## Formatting Helpers
153
-
154
- ### Progress Bar
155
-
156
- ```typescript
157
- function generateProgressBar(percentage: number, width: number = 20): string {
158
- const filled = Math.floor(percentage * width / 100)
159
- const empty = width - filled
160
- return `[${'█'.repeat(filled)}${'░'.repeat(empty)}] ${percentage}%`
161
- }
162
-
163
- // Example: generateProgressBar(64, 20)
164
- // Output: [████████████░░░░░░░░] 64%
165
- ```
166
-
167
- ### Time Formatting
168
-
169
- ```typescript
170
- function formatDuration(minutes: number): string {
171
- const hours = Math.floor(minutes / 60)
172
- const mins = minutes % 60
173
- if (hours > 0) {
174
- return `${hours}h ${mins}m`
175
- }
176
- return `${mins} min`
177
- }
178
- ```
179
-
180
- ### Time Ago
181
-
182
- ```typescript
183
- function timeAgo(timestamp: string): string {
184
- const now = new Date()
185
- const then = new Date(timestamp)
186
- const diffMinutes = Math.floor((now - then) / 1000 / 60)
187
-
188
- if (diffMinutes < 60) return `${diffMinutes} minutes ago`
189
- const hours = Math.floor(diffMinutes / 60)
190
- if (hours < 24) return `${hours} hours ago`
191
- const days = Math.floor(hours / 24)
192
- return `${days} days ago`
193
- }
194
- ```
195
-
196
- ### Efficiency Calculation
197
-
198
- ```typescript
199
- function calculateEfficiency(actual: number, estimated: number): {
200
- percentage: number
201
- status: 'ahead' | 'on track' | 'behind'
202
- } {
203
- const percentage = Math.round((estimated / actual) * 100)
204
- let status: 'ahead' | 'on track' | 'behind'
205
-
206
- if (percentage > 110) status = 'ahead'
207
- else if (percentage >= 90) status = 'on track'
208
- else status = 'behind'
209
-
210
- return { percentage, status }
211
- }
212
- ```
213
-
214
- ---
215
-
216
- ## Example Output
217
-
218
- ```bash
219
- $ /cview CHANGE-003
220
-
221
- ════════════════════════════════════════════════════════════
222
- 📋 CHANGE-003: Create Landing Page (frontend-only)
223
- ════════════════════════════════════════════════════════════
224
-
225
- 📊 Overall Progress: [████████████░░░░░░░░] 64% (7/11 phases complete)
226
-
227
- ⏱️ Time Tracking:
228
- Total Spent: 2h 55min
229
- Total Estimated: 3h 15min
230
- Efficiency: 111% (ahead of schedule)
231
- Remaining: ~35 minutes
232
-
233
- ════════════════════════════════════════════════════════════
234
- ✅ COMPLETED PHASES (7)
235
- ════════════════════════════════════════════════════════════
236
-
237
- [1] Frontend Mockup (uxui-frontend)
238
- ⏱️ 2025-10-30 10:00 → 11:35 (95 min, estimated 90 min)
239
- 📁 Created: 4 files
240
- - src/app/page.tsx
241
- - src/components/landing/hero-section.tsx
242
- - src/components/landing/features-section.tsx
243
- - src/components/landing/cta-section.tsx
244
- ✓ Tasks: 1.1, 1.2, 1.3, 2.1, 2.2, 2.3, 3.1, 3.2, 3.3
245
- 📝 All landing page sections created. Responsive design implemented.
246
-
247
- [2] Accessibility Test (test-debug)
248
- ⏱️ 2025-10-30 11:35 → 11:43 (8 min, estimated 10 min)
249
- 🎯 Lighthouse: 98/100
250
- ✓ Contrast ratio: Pass
251
- ✓ ARIA labels: Complete
252
- 📝 Minor contrast adjustment made to CTA button.
253
-
254
- [3] Manual UX Test (user)
255
- ⏱️ 2025-10-30 11:43 → 12:03 (20 min, estimated 15 min)
256
- 🐛 Issues: 2 found, 2 fixed
257
- - Spacing issue in mobile view (fixed)
258
- - Hero headline too small on tablet (fixed)
259
-
260
- [4] Business Logic Validation (integration)
261
- ⏱️ 2025-10-30 12:03 → 12:10 (7 min, estimated 10 min)
262
- ✓ Requirements: 9/9 passed
263
- ✓ No discrepancies
264
-
265
- [5] User Approval (user)
266
- ⏱️ 2025-10-30 12:10 → 12:15 (5 min, estimated 5 min)
267
- ✅ Approved
268
-
269
- [6] Component Tests (test-debug)
270
- ⏱️ 2025-10-30 12:15 → 12:40 (25 min, estimated 20 min)
271
- ✓ Tests: 12 passed, 0 failed
272
- 📊 Coverage: 75% (target: 70%)
273
-
274
- [7] Responsive Test (user)
275
- ⏱️ 2025-10-30 14:00 → 14:15 (15 min, estimated 15 min)
276
- ✓ Breakpoints: 1920x1080, 768x1024, 375x667
277
- ✓ No issues found
278
-
279
- ════════════════════════════════════════════════════════════
280
- 🔄 IN PROGRESS (1)
281
- ════════════════════════════════════════════════════════════
282
-
283
- [8] Refactor (test-debug) ← CURRENT
284
- ⏱️ Started: 2025-10-30 14:15 (15 minutes ago)
285
- ⏱️ Estimated: 20 minutes total (~5 minutes remaining)
286
- 📝 Extracting reusable button component. Optimizing CSS classes.
287
-
288
- ════════════════════════════════════════════════════════════
289
- ⏳ PENDING (3)
290
- ════════════════════════════════════════════════════════════
291
-
292
- [9] Test Coverage Report (test-debug)
293
- ⏱️ Estimated: 5 minutes
294
- 📋 Generate final coverage report
295
-
296
- [10] Documentation (integration)
297
- ⏱️ Estimated: 15 minutes
298
- 📋 Update README, add JSDoc comments
299
-
300
- [11] Final Report (integration)
301
- ⏱️ Estimated: 10 minutes
302
- 📋 Generate verbose report for archive
303
-
304
- ════════════════════════════════════════════════════════════
305
- 📈 STATISTICS
306
- ════════════════════════════════════════════════════════════
307
-
308
- Tests: 12 passed, 0 failed (100% pass rate)
309
- Coverage: 75% (target: 70% ✓)
310
- Issues: 2 found, 2 fixed, 0 remaining
311
- Files: 4 created, 2 modified
312
- Approvals: ✅ User approved (phase 5)
313
-
314
- ════════════════════════════════════════════════════════════
315
- 🎯 NEXT STEPS
316
- ════════════════════════════════════════════════════════════
317
-
318
- Current phase in progress. Wait for completion or check status:
319
- → /cstatus CHANGE-003
320
-
321
- To continue after current phase completes:
322
- → /cdev CHANGE-003
323
-
324
- To view raw JSON data:
325
- → /cview CHANGE-003 --json
326
- ```
327
-
328
- ---
329
-
330
- ## Error Handling
331
-
332
- **If change not found:**
333
- ```
334
- ❌ Error: Change CHANGE-003 not found or not set up
335
-
336
- Please check:
337
- 1. Change ID is correct
338
- 2. Change has been set up: /csetup CHANGE-003
339
- ```
340
-
341
- **If flags.json is corrupted:**
342
- ```
343
- ❌ Error: Cannot parse flags.json (invalid JSON)
344
-
345
- This may indicate corruption. Try:
346
- 1. Check file: openspec/changes/{change-id}/.claude/flags.json
347
- 2. Restore from backup if available
348
- 3. Re-run setup: /csetup {change-id} (will overwrite!)
349
- ```
350
-
351
- ---
352
-
353
- ## Quick Commands Reference
354
-
355
- ```bash
356
- # Detailed view
357
- /cview CHANGE-003
358
-
359
- # JSON output
360
- /cview CHANGE-003 --json
361
-
362
- # Combined with other commands
363
- /cview CHANGE-003 && /cdev CHANGE-003
364
- ```
1
+ ---
2
+ name: Change View
3
+ description: View detailed progress for a change
4
+ category: Multi-Agent
5
+ tags: [progress, view, status]
6
+ ---
7
+
8
+ ## Usage
9
+
10
+ ```bash
11
+ /cview {change-id}
12
+ /cview {change-id} --json
13
+ ```
14
+
15
+ ## What It Does
16
+
17
+ Shows detailed phase-by-phase breakdown with:
18
+ - All phases (completed, in-progress, pending)
19
+ - Time tracking per phase
20
+ - Agent assignments
21
+ - Issues and notes
22
+ - Files touched
23
+ - Statistics
24
+
25
+ ## Steps
26
+
27
+ ### Step 1: Check if Change Exists
28
+
29
+ ```bash
30
+ ls openspec/changes/{change-id}/.claude/flags.json
31
+ ```
32
+
33
+ If not found:
34
+ ```
35
+ ❌ Error: Change {change-id} not set up
36
+ Run: /csetup {change-id}
37
+ ```
38
+
39
+ ### Step 2: Read flags.json
40
+
41
+ ```typescript
42
+ const flags = JSON.parse(
43
+ Read('openspec/changes/{change-id}/.claude/flags.json')
44
+ )
45
+ ```
46
+
47
+ ### Step 3: Format Output
48
+
49
+ **If `--json` flag:**
50
+ ```json
51
+ {
52
+ "change_id": "CHANGE-003",
53
+ "template": "frontend-only",
54
+ "progress_percentage": 64,
55
+ "current_phase": "refactor",
56
+ "phases": { ... },
57
+ "meta": { ... }
58
+ }
59
+ ```
60
+
61
+ **Otherwise, format human-readable:**
62
+
63
+ ```
64
+ ════════════════════════════════════════════════════════════
65
+ 📋 {CHANGE_ID}: {Change Title} ({template})
66
+ ════════════════════════════════════════════════════════════
67
+
68
+ 📊 Overall Progress: {percentage}% ({completed}/{total} phases complete)
69
+
70
+ ⏱️ Time Tracking:
71
+ Total Spent: {spent}h {min}m
72
+ Total Estimated: {estimated}h {min}m
73
+ Efficiency: {efficiency}% {ahead/behind} schedule
74
+ Remaining: ~{remaining}h {min}m
75
+
76
+ ════════════════════════════════════════════════════════════
77
+ ✅ COMPLETED PHASES ({count})
78
+ ════════════════════════════════════════════════════════════
79
+
80
+ [{number}] {Phase Name} ({agent})
81
+ ⏱️ {start_time} → {end_time} ({duration} min, estimated {estimated} min)
82
+ 📁 Created: {count} files
83
+ - {file-path-1}
84
+ - {file-path-2}
85
+ ✓ Tasks: {task-ids}
86
+ 📝 {notes}
87
+
88
+ {repeat for all completed phases}
89
+
90
+ ════════════════════════════════════════════════════════════
91
+ 🔄 IN PROGRESS ({count})
92
+ ════════════════════════════════════════════════════════════
93
+
94
+ [{number}] {Phase Name} ({agent}) ← CURRENT
95
+ ⏱️ Started: {start_time} ({minutes_ago} minutes ago)
96
+ ⏱️ Estimated: {remaining} minutes remaining
97
+ 📝 {notes}
98
+
99
+ ════════════════════════════════════════════════════════════
100
+ ⏳ PENDING ({count})
101
+ ════════════════════════════════════════════════════════════
102
+
103
+ [{number}] {Phase Name} ({agent})
104
+ ⏱️ Estimated: {estimated} minutes
105
+ 📋 {brief-description}
106
+
107
+ {repeat for all pending phases}
108
+
109
+ ════════════════════════════════════════════════════════════
110
+ 📈 STATISTICS
111
+ ════════════════════════════════════════════════════════════
112
+
113
+ Tests: {passed} passed, {failed} failed ({pass_rate}% pass rate)
114
+ Coverage: {coverage}% (target: {target}% {✓/✗})
115
+ Issues: {found} found, {fixed} fixed, {remaining} remaining
116
+ Files: {created} created, {modified} modified
117
+ Approvals: {approval_status}
118
+
119
+ ════════════════════════════════════════════════════════════
120
+ 🎯 NEXT STEPS
121
+ ════════════════════════════════════════════════════════════
122
+
123
+ {if in_progress}
124
+ Current phase in progress. Wait for completion.
125
+
126
+ {else if next_phase === user}
127
+ Next phase requires your action:
128
+ → Phase {number}: {Phase Name}
129
+ → {action_required}
130
+
131
+ When done: /cdev {change-id} --continue
132
+
133
+ {else if next_phase === automated}
134
+ Continue development:
135
+ → /cdev {change-id}
136
+
137
+ {else if all_complete}
138
+ ✅ All phases complete!
139
+
140
+ Review and archive:
141
+ 1. Update tasks.md (mark all [x])
142
+ 2. Review report: openspec/changes/{change-id}/.claude/report.md
143
+ 3. Archive: openspec archive {change-id}
144
+
145
+ {else if blocked}
146
+ ⚠️ Change is blocked: {blocking_reason}
147
+ Fix issues before continuing.
148
+ ```
149
+
150
+ ---
151
+
152
+ ## Formatting Helpers
153
+
154
+ ### Progress Bar
155
+
156
+ ```typescript
157
+ function generateProgressBar(percentage: number, width: number = 20): string {
158
+ const filled = Math.floor(percentage * width / 100)
159
+ const empty = width - filled
160
+ return `[${'█'.repeat(filled)}${'░'.repeat(empty)}] ${percentage}%`
161
+ }
162
+
163
+ // Example: generateProgressBar(64, 20)
164
+ // Output: [████████████░░░░░░░░] 64%
165
+ ```
166
+
167
+ ### Time Formatting
168
+
169
+ ```typescript
170
+ function formatDuration(minutes: number): string {
171
+ const hours = Math.floor(minutes / 60)
172
+ const mins = minutes % 60
173
+ if (hours > 0) {
174
+ return `${hours}h ${mins}m`
175
+ }
176
+ return `${mins} min`
177
+ }
178
+ ```
179
+
180
+ ### Time Ago
181
+
182
+ ```typescript
183
+ function timeAgo(timestamp: string): string {
184
+ const now = new Date()
185
+ const then = new Date(timestamp)
186
+ const diffMinutes = Math.floor((now - then) / 1000 / 60)
187
+
188
+ if (diffMinutes < 60) return `${diffMinutes} minutes ago`
189
+ const hours = Math.floor(diffMinutes / 60)
190
+ if (hours < 24) return `${hours} hours ago`
191
+ const days = Math.floor(hours / 24)
192
+ return `${days} days ago`
193
+ }
194
+ ```
195
+
196
+ ### Efficiency Calculation
197
+
198
+ ```typescript
199
+ function calculateEfficiency(actual: number, estimated: number): {
200
+ percentage: number
201
+ status: 'ahead' | 'on track' | 'behind'
202
+ } {
203
+ const percentage = Math.round((estimated / actual) * 100)
204
+ let status: 'ahead' | 'on track' | 'behind'
205
+
206
+ if (percentage > 110) status = 'ahead'
207
+ else if (percentage >= 90) status = 'on track'
208
+ else status = 'behind'
209
+
210
+ return { percentage, status }
211
+ }
212
+ ```
213
+
214
+ ---
215
+
216
+ ## Example Output
217
+
218
+ ```bash
219
+ $ /cview CHANGE-003
220
+
221
+ ════════════════════════════════════════════════════════════
222
+ 📋 CHANGE-003: Create Landing Page (frontend-only)
223
+ ════════════════════════════════════════════════════════════
224
+
225
+ 📊 Overall Progress: [████████████░░░░░░░░] 64% (7/11 phases complete)
226
+
227
+ ⏱️ Time Tracking:
228
+ Total Spent: 2h 55min
229
+ Total Estimated: 3h 15min
230
+ Efficiency: 111% (ahead of schedule)
231
+ Remaining: ~35 minutes
232
+
233
+ ════════════════════════════════════════════════════════════
234
+ ✅ COMPLETED PHASES (7)
235
+ ════════════════════════════════════════════════════════════
236
+
237
+ [1] Frontend Mockup (uxui-frontend)
238
+ ⏱️ 2025-10-30 10:00 → 11:35 (95 min, estimated 90 min)
239
+ 📁 Created: 4 files
240
+ - src/app/page.tsx
241
+ - src/components/landing/hero-section.tsx
242
+ - src/components/landing/features-section.tsx
243
+ - src/components/landing/cta-section.tsx
244
+ ✓ Tasks: 1.1, 1.2, 1.3, 2.1, 2.2, 2.3, 3.1, 3.2, 3.3
245
+ 📝 All landing page sections created. Responsive design implemented.
246
+
247
+ [2] Accessibility Test (test-debug)
248
+ ⏱️ 2025-10-30 11:35 → 11:43 (8 min, estimated 10 min)
249
+ 🎯 Lighthouse: 98/100
250
+ ✓ Contrast ratio: Pass
251
+ ✓ ARIA labels: Complete
252
+ 📝 Minor contrast adjustment made to CTA button.
253
+
254
+ [3] Manual UX Test (user)
255
+ ⏱️ 2025-10-30 11:43 → 12:03 (20 min, estimated 15 min)
256
+ 🐛 Issues: 2 found, 2 fixed
257
+ - Spacing issue in mobile view (fixed)
258
+ - Hero headline too small on tablet (fixed)
259
+
260
+ [4] Business Logic Validation (integration)
261
+ ⏱️ 2025-10-30 12:03 → 12:10 (7 min, estimated 10 min)
262
+ ✓ Requirements: 9/9 passed
263
+ ✓ No discrepancies
264
+
265
+ [5] User Approval (user)
266
+ ⏱️ 2025-10-30 12:10 → 12:15 (5 min, estimated 5 min)
267
+ ✅ Approved
268
+
269
+ [6] Component Tests (test-debug)
270
+ ⏱️ 2025-10-30 12:15 → 12:40 (25 min, estimated 20 min)
271
+ ✓ Tests: 12 passed, 0 failed
272
+ 📊 Coverage: 75% (target: 70%)
273
+
274
+ [7] Responsive Test (user)
275
+ ⏱️ 2025-10-30 14:00 → 14:15 (15 min, estimated 15 min)
276
+ ✓ Breakpoints: 1920x1080, 768x1024, 375x667
277
+ ✓ No issues found
278
+
279
+ ════════════════════════════════════════════════════════════
280
+ 🔄 IN PROGRESS (1)
281
+ ════════════════════════════════════════════════════════════
282
+
283
+ [8] Refactor (test-debug) ← CURRENT
284
+ ⏱️ Started: 2025-10-30 14:15 (15 minutes ago)
285
+ ⏱️ Estimated: 20 minutes total (~5 minutes remaining)
286
+ 📝 Extracting reusable button component. Optimizing CSS classes.
287
+
288
+ ════════════════════════════════════════════════════════════
289
+ ⏳ PENDING (3)
290
+ ════════════════════════════════════════════════════════════
291
+
292
+ [9] Test Coverage Report (test-debug)
293
+ ⏱️ Estimated: 5 minutes
294
+ 📋 Generate final coverage report
295
+
296
+ [10] Documentation (integration)
297
+ ⏱️ Estimated: 15 minutes
298
+ 📋 Update README, add JSDoc comments
299
+
300
+ [11] Final Report (integration)
301
+ ⏱️ Estimated: 10 minutes
302
+ 📋 Generate verbose report for archive
303
+
304
+ ════════════════════════════════════════════════════════════
305
+ 📈 STATISTICS
306
+ ════════════════════════════════════════════════════════════
307
+
308
+ Tests: 12 passed, 0 failed (100% pass rate)
309
+ Coverage: 75% (target: 70% ✓)
310
+ Issues: 2 found, 2 fixed, 0 remaining
311
+ Files: 4 created, 2 modified
312
+ Approvals: ✅ User approved (phase 5)
313
+
314
+ ════════════════════════════════════════════════════════════
315
+ 🎯 NEXT STEPS
316
+ ════════════════════════════════════════════════════════════
317
+
318
+ Current phase in progress. Wait for completion or check status:
319
+ → /cstatus CHANGE-003
320
+
321
+ To continue after current phase completes:
322
+ → /cdev CHANGE-003
323
+
324
+ To view raw JSON data:
325
+ → /cview CHANGE-003 --json
326
+ ```
327
+
328
+ ---
329
+
330
+ ## Error Handling
331
+
332
+ **If change not found:**
333
+ ```
334
+ ❌ Error: Change CHANGE-003 not found or not set up
335
+
336
+ Please check:
337
+ 1. Change ID is correct
338
+ 2. Change has been set up: /csetup CHANGE-003
339
+ ```
340
+
341
+ **If flags.json is corrupted:**
342
+ ```
343
+ ❌ Error: Cannot parse flags.json (invalid JSON)
344
+
345
+ This may indicate corruption. Try:
346
+ 1. Check file: openspec/changes/{change-id}/.claude/flags.json
347
+ 2. Restore from backup if available
348
+ 3. Re-run setup: /csetup {change-id} (will overwrite!)
349
+ ```
350
+
351
+ ---
352
+
353
+ ## Quick Commands Reference
354
+
355
+ ```bash
356
+ # Detailed view
357
+ /cview CHANGE-003
358
+
359
+ # JSON output
360
+ /cview CHANGE-003 --json
361
+
362
+ # Combined with other commands
363
+ /cview CHANGE-003 && /cdev CHANGE-003
364
+ ```