specweave 0.28.3 → 0.28.6
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 +36 -93
- package/dist/src/core/living-docs/feature-consistency-validator.d.ts +129 -0
- package/dist/src/core/living-docs/feature-consistency-validator.d.ts.map +1 -0
- package/dist/src/core/living-docs/feature-consistency-validator.js +445 -0
- package/dist/src/core/living-docs/feature-consistency-validator.js.map +1 -0
- package/dist/src/core/living-docs/index.d.ts +1 -0
- package/dist/src/core/living-docs/index.d.ts.map +1 -1
- package/dist/src/core/living-docs/index.js +1 -0
- package/dist/src/core/living-docs/index.js.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.d.ts +30 -2
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +74 -4
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/repo-structure/prompt-consolidator.js +6 -6
- package/dist/src/core/repo-structure/prompt-consolidator.js.map +1 -1
- package/dist/src/sync/frontmatter-updater.d.ts +8 -0
- package/dist/src/sync/frontmatter-updater.d.ts.map +1 -1
- package/dist/src/sync/frontmatter-updater.js +27 -2
- package/dist/src/sync/frontmatter-updater.js.map +1 -1
- package/dist/src/sync/sync-coordinator.d.ts +1 -0
- package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
- package/dist/src/sync/sync-coordinator.js +6 -3
- package/dist/src/sync/sync-coordinator.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/commands/specweave-sync-specs.md +14 -5
- package/plugins/specweave/commands/specweave-validate-features.md +203 -0
- package/plugins/specweave/commands/specweave-workflow.md +483 -0
- package/plugins/specweave-jira/skills/jira-sync/SKILL.md +4 -4
- package/plugins/specweave-jira/skills/specweave-jira-mapper/SKILL.md +3 -3
- package/plugins/specweave-kafka/skills/kafka-mcp-integration/SKILL.md +17 -0
- package/plugins/specweave-plugin-dev/skills/claude-sdk/SKILL.md +3 -1
- package/plugins/specweave-ui/commands/ui-automate.md +5 -28
- package/src/templates/AGENTS.md.template +92 -9
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specweave:workflow
|
|
3
|
+
description: Smart workflow navigator - shows current phase, reviews spec/tasks, suggests next step (validate, close, sync). Shows external tool status.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Smart Workflow Navigator
|
|
7
|
+
|
|
8
|
+
**Intelligent workflow guidance**: Shows where you are, what's done, and what to do next.
|
|
9
|
+
|
|
10
|
+
You are helping the user navigate through the SpecWeave increment workflow with context-aware suggestions.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
/specweave:workflow [increment-id]
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**No arguments**: Auto-detects active increment
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## STEP 1: Detect Active Increment and Load Context
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Auto-detect from state or use provided ID
|
|
26
|
+
ACTIVE_STATE=".specweave/state/active-increment.json"
|
|
27
|
+
if [ -f "$ACTIVE_STATE" ]; then
|
|
28
|
+
INCREMENT_ID=$(jq -r '.ids[0]' "$ACTIVE_STATE" 2>/dev/null)
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
# Load increment files
|
|
32
|
+
INCREMENT_DIR=".specweave/increments/$INCREMENT_ID"
|
|
33
|
+
SPEC_FILE="$INCREMENT_DIR/spec.md"
|
|
34
|
+
TASKS_FILE="$INCREMENT_DIR/tasks.md"
|
|
35
|
+
METADATA_FILE="$INCREMENT_DIR/metadata.json"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Read and parse**:
|
|
39
|
+
1. **spec.md**: Extract AC count, completed ACs, status
|
|
40
|
+
2. **tasks.md**: Extract task count, completed tasks, priorities
|
|
41
|
+
3. **metadata.json**: Get linked external tools, feature_id, dates
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## STEP 2: Determine Current Workflow Phase
|
|
46
|
+
|
|
47
|
+
**Analyze state and determine phase**:
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
type WorkflowPhase =
|
|
51
|
+
| 'PLANNING' // spec.md exists but no tasks or plan
|
|
52
|
+
| 'IMPLEMENTING' // Tasks in progress (< 100% complete)
|
|
53
|
+
| 'REVIEW_READY' // All tasks done, needs review
|
|
54
|
+
| 'VALIDATE_READY' // Ready for validation
|
|
55
|
+
| 'CLOSE_READY' // Validation passed, ready to close
|
|
56
|
+
| 'SYNC_PENDING' // Closed but not synced to external tools
|
|
57
|
+
| 'COMPLETED' // Fully completed and synced
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Phase Detection Logic**:
|
|
61
|
+
|
|
62
|
+
```javascript
|
|
63
|
+
function detectPhase(spec, tasks, metadata) {
|
|
64
|
+
const taskCompletion = tasks.completedCount / tasks.totalCount;
|
|
65
|
+
const acCompletion = spec.completedACs / spec.totalACs;
|
|
66
|
+
|
|
67
|
+
if (taskCompletion === 0) return 'PLANNING';
|
|
68
|
+
if (taskCompletion < 1) return 'IMPLEMENTING';
|
|
69
|
+
if (taskCompletion === 1 && !metadata.lastValidation) return 'REVIEW_READY';
|
|
70
|
+
if (taskCompletion === 1 && metadata.lastValidation?.passed) return 'CLOSE_READY';
|
|
71
|
+
if (metadata.status === 'completed' && !metadata.externalSynced) return 'SYNC_PENDING';
|
|
72
|
+
if (metadata.status === 'completed') return 'COMPLETED';
|
|
73
|
+
return 'VALIDATE_READY';
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## STEP 3: Display Workflow Status Dashboard
|
|
80
|
+
|
|
81
|
+
**Show comprehensive status with phase indicator**:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
85
|
+
WORKFLOW NAVIGATOR: 0053-safe-feature-deletion
|
|
86
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
87
|
+
|
|
88
|
+
CURRENT PHASE: REVIEW_READY
|
|
89
|
+
|
|
90
|
+
━━━ WORKFLOW PROGRESS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
91
|
+
|
|
92
|
+
[x] Planning - spec.md and plan.md created
|
|
93
|
+
[x] Tasks - tasks.md generated (37 tasks)
|
|
94
|
+
[x] Implementing - All tasks completed (37/37)
|
|
95
|
+
[ ] Review - Review spec.md and tasks.md
|
|
96
|
+
[ ] Validate - Run quality validation
|
|
97
|
+
[ ] Close - PM validation and closure
|
|
98
|
+
[ ] Sync - Update living docs & external tools
|
|
99
|
+
|
|
100
|
+
━━━ COMPLETION STATUS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
101
|
+
|
|
102
|
+
Tasks: ████████████████████ 100% (37/37)
|
|
103
|
+
ACs: ████████████████████ 100% (70/70)
|
|
104
|
+
|
|
105
|
+
Priority Breakdown:
|
|
106
|
+
P1 (Critical): 12/12 ✅
|
|
107
|
+
P2 (Important): 18/18 ✅
|
|
108
|
+
P3 (Nice-to-have): 7/7 ✅
|
|
109
|
+
|
|
110
|
+
━━━ EXTERNAL TOOLS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
111
|
+
|
|
112
|
+
GitHub: ✅ Connected (Issue #142)
|
|
113
|
+
JIRA: ⚪ Not configured
|
|
114
|
+
ADO: ⚪ Not configured
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## STEP 4: Provide Phase-Specific Suggestions
|
|
120
|
+
|
|
121
|
+
**Based on detected phase, suggest next action**:
|
|
122
|
+
|
|
123
|
+
### Phase: PLANNING
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
127
|
+
|
|
128
|
+
You're in the PLANNING phase. Tasks need to be generated.
|
|
129
|
+
|
|
130
|
+
SUGGESTED ACTION:
|
|
131
|
+
Run: /specweave:plan 0053
|
|
132
|
+
|
|
133
|
+
This will:
|
|
134
|
+
• Generate plan.md with architecture design
|
|
135
|
+
• Create tasks.md with implementation tasks
|
|
136
|
+
• Link tasks to acceptance criteria
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Phase: IMPLEMENTING
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
143
|
+
|
|
144
|
+
You're in the IMPLEMENTING phase. 23/37 tasks complete.
|
|
145
|
+
|
|
146
|
+
CURRENT TASK: T-024 - Implement soft delete mechanism
|
|
147
|
+
Priority: P1 (Critical)
|
|
148
|
+
User Story: US-003
|
|
149
|
+
Satisfies: AC-US3-01, AC-US3-02
|
|
150
|
+
|
|
151
|
+
SUGGESTED ACTION:
|
|
152
|
+
Continue: /specweave:do 0053
|
|
153
|
+
|
|
154
|
+
PROGRESS:
|
|
155
|
+
Estimated remaining: ~4-6 hours
|
|
156
|
+
Next milestone: US-003 completion (3 tasks left)
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Phase: REVIEW_READY (Key phase for user's request!)
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
163
|
+
|
|
164
|
+
All tasks complete! Time to review before validation.
|
|
165
|
+
|
|
166
|
+
REVIEW CHECKLIST:
|
|
167
|
+
[ ] Review spec.md - Verify all ACs marked complete
|
|
168
|
+
[ ] Review tasks.md - Verify all tasks marked complete
|
|
169
|
+
[ ] Check test coverage - Ensure tests cover ACs
|
|
170
|
+
[ ] Check docs - README, CHANGELOG updated
|
|
171
|
+
|
|
172
|
+
SUGGESTED ACTIONS (in order):
|
|
173
|
+
|
|
174
|
+
1. REVIEW FILES:
|
|
175
|
+
cat .specweave/increments/0053-*/spec.md | head -100
|
|
176
|
+
cat .specweave/increments/0053-*/tasks.md | head -100
|
|
177
|
+
|
|
178
|
+
2. VALIDATE QUALITY:
|
|
179
|
+
/specweave:validate 0053 --quality
|
|
180
|
+
|
|
181
|
+
3. IF VALIDATION PASSES:
|
|
182
|
+
/specweave:done 0053
|
|
183
|
+
|
|
184
|
+
Quick commands:
|
|
185
|
+
• /specweave:progress - See task breakdown
|
|
186
|
+
• /specweave:check-tests 0053 - Verify test coverage
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Phase: VALIDATE_READY
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
193
|
+
|
|
194
|
+
Ready for validation. Run quality checks before closing.
|
|
195
|
+
|
|
196
|
+
SUGGESTED ACTION:
|
|
197
|
+
Run: /specweave:validate 0053 --quality
|
|
198
|
+
|
|
199
|
+
This will check:
|
|
200
|
+
• 141 rule-based validation checks
|
|
201
|
+
• AI quality assessment (7 dimensions)
|
|
202
|
+
• AC coverage and traceability
|
|
203
|
+
• Three-file canonical structure (ADR-0047)
|
|
204
|
+
|
|
205
|
+
After validation passes:
|
|
206
|
+
Run: /specweave:done 0053
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Phase: CLOSE_READY
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
213
|
+
|
|
214
|
+
Validation passed! Ready to close increment.
|
|
215
|
+
|
|
216
|
+
VALIDATION SUMMARY:
|
|
217
|
+
Last run: 2025-11-25 10:30:00
|
|
218
|
+
Rule-based: 141/141 passed ✅
|
|
219
|
+
Quality score: 87/100 (GOOD) ✅
|
|
220
|
+
|
|
221
|
+
SUGGESTED ACTION:
|
|
222
|
+
Run: /specweave:done 0053
|
|
223
|
+
|
|
224
|
+
This will:
|
|
225
|
+
• Run PM validation (3 gates: tasks, tests, docs)
|
|
226
|
+
• Close increment with completion report
|
|
227
|
+
• Run post-closure quality assessment
|
|
228
|
+
• Trigger external tool sync (if configured)
|
|
229
|
+
|
|
230
|
+
After closure:
|
|
231
|
+
• Living docs will be updated
|
|
232
|
+
• GitHub issue #142 will be closed
|
|
233
|
+
• Status line will show completion
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Phase: SYNC_PENDING
|
|
237
|
+
|
|
238
|
+
```
|
|
239
|
+
━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
240
|
+
|
|
241
|
+
Increment closed! Sync to external tools pending.
|
|
242
|
+
|
|
243
|
+
SUGGESTED ACTION:
|
|
244
|
+
Run: /specweave:sync-progress 0053
|
|
245
|
+
|
|
246
|
+
This will sync to:
|
|
247
|
+
✅ Living docs (user stories, features)
|
|
248
|
+
✅ GitHub issue #142 (close with summary)
|
|
249
|
+
⚪ JIRA (not configured)
|
|
250
|
+
⚪ ADO (not configured)
|
|
251
|
+
|
|
252
|
+
Or sync individually:
|
|
253
|
+
• /specweave:sync-specs 0053 - Living docs only
|
|
254
|
+
• /specweave-github:close-issue 0053 - GitHub only
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Phase: COMPLETED
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
━━━ NEXT STEP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
261
|
+
|
|
262
|
+
Increment fully completed and synced!
|
|
263
|
+
|
|
264
|
+
SUMMARY:
|
|
265
|
+
Closed: 2025-11-25 14:00:00
|
|
266
|
+
Duration: 14 days (vs 21 estimated)
|
|
267
|
+
Quality: 87/100 (GOOD)
|
|
268
|
+
|
|
269
|
+
EXTERNAL TOOLS STATUS:
|
|
270
|
+
GitHub #142: Closed ✅
|
|
271
|
+
Living docs: Synced ✅
|
|
272
|
+
|
|
273
|
+
WHAT'S NEXT:
|
|
274
|
+
• Start new increment: /specweave:increment "feature name"
|
|
275
|
+
• Check backlog: /specweave:status
|
|
276
|
+
• Archive this increment: /specweave:archive 0053
|
|
277
|
+
|
|
278
|
+
Quick: /specweave:next (auto-suggests next work)
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## STEP 5: Show External Tool Status (Always)
|
|
284
|
+
|
|
285
|
+
**Display status of connected external tools**:
|
|
286
|
+
|
|
287
|
+
```javascript
|
|
288
|
+
async function showExternalToolsStatus(metadata) {
|
|
289
|
+
console.log('\n━━━ EXTERNAL TOOLS STATUS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n');
|
|
290
|
+
|
|
291
|
+
// GitHub
|
|
292
|
+
if (metadata.github?.issue) {
|
|
293
|
+
const status = await getGitHubIssueStatus(metadata.github.issue);
|
|
294
|
+
console.log(` GitHub Issue #${metadata.github.issue}:`);
|
|
295
|
+
console.log(` Status: ${status.state} ${status.state === 'closed' ? '✅' : '🔵'}`);
|
|
296
|
+
console.log(` URL: ${metadata.github.url}`);
|
|
297
|
+
console.log(` Last sync: ${metadata.github.lastSync || 'Not synced'}`);
|
|
298
|
+
} else {
|
|
299
|
+
console.log(' GitHub: ⚪ Not linked');
|
|
300
|
+
console.log(' Setup: /specweave-github:create-issue 0053');
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// JIRA
|
|
304
|
+
if (metadata.jira?.issue) {
|
|
305
|
+
const status = await getJiraIssueStatus(metadata.jira.issue);
|
|
306
|
+
console.log(`\n JIRA Issue ${metadata.jira.issue}:`);
|
|
307
|
+
console.log(` Status: ${status.status} ${status.status === 'Done' ? '✅' : '🔵'}`);
|
|
308
|
+
console.log(` URL: ${metadata.jira.url}`);
|
|
309
|
+
} else {
|
|
310
|
+
console.log('\n JIRA: ⚪ Not configured');
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// ADO
|
|
314
|
+
if (metadata.ado?.workItem) {
|
|
315
|
+
const status = await getAdoWorkItemStatus(metadata.ado.workItem);
|
|
316
|
+
console.log(`\n Azure DevOps #${metadata.ado.workItem}:`);
|
|
317
|
+
console.log(` Status: ${status.state} ${status.state === 'Closed' ? '✅' : '🔵'}`);
|
|
318
|
+
console.log(` URL: ${metadata.ado.url}`);
|
|
319
|
+
} else {
|
|
320
|
+
console.log('\n Azure DevOps: ⚪ Not configured');
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
**Example output**:
|
|
326
|
+
|
|
327
|
+
```
|
|
328
|
+
━━━ EXTERNAL TOOLS STATUS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
329
|
+
|
|
330
|
+
GitHub Issue #142:
|
|
331
|
+
Status: open 🔵
|
|
332
|
+
URL: https://github.com/org/repo/issues/142
|
|
333
|
+
Last sync: 2025-11-25 09:15:00
|
|
334
|
+
|
|
335
|
+
Action needed: Run /specweave:sync-progress to update
|
|
336
|
+
|
|
337
|
+
JIRA: ⚪ Not configured
|
|
338
|
+
Setup: /specweave-jira:sync to connect
|
|
339
|
+
|
|
340
|
+
Azure DevOps: ⚪ Not configured
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## STEP 6: Suggest Living Docs Update (If Applicable)
|
|
346
|
+
|
|
347
|
+
**If increment modifies features, suggest living docs sync**:
|
|
348
|
+
|
|
349
|
+
```
|
|
350
|
+
━━━ LIVING DOCS STATUS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
351
|
+
|
|
352
|
+
Feature: FS-012 (Safe Feature Deletion)
|
|
353
|
+
Location: .specweave/docs/public/specs/fs-012-safe-feature-deletion/
|
|
354
|
+
|
|
355
|
+
User Stories:
|
|
356
|
+
US-001: Delete feature with confirmation [SYNCED] ✅
|
|
357
|
+
US-002: Undo deletion within 30 days [SYNCED] ✅
|
|
358
|
+
US-003: Cascade delete child items [PENDING] 🔵
|
|
359
|
+
US-004: Audit log for deletions [PENDING] 🔵
|
|
360
|
+
|
|
361
|
+
Action: Run /specweave:sync-specs 0053 to update living docs
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## Complete Example Output
|
|
367
|
+
|
|
368
|
+
**Full workflow navigator display**:
|
|
369
|
+
|
|
370
|
+
```
|
|
371
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
372
|
+
WORKFLOW NAVIGATOR: 0053-safe-feature-deletion
|
|
373
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
374
|
+
|
|
375
|
+
CURRENT PHASE: REVIEW_READY
|
|
376
|
+
|
|
377
|
+
━━━ WORKFLOW PROGRESS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
378
|
+
|
|
379
|
+
[x] Planning - spec.md and plan.md created
|
|
380
|
+
[x] Tasks - tasks.md generated (37 tasks)
|
|
381
|
+
[x] Implementing - All tasks completed (37/37)
|
|
382
|
+
[ ] Review - Review spec.md and tasks.md <-- YOU ARE HERE
|
|
383
|
+
[ ] Validate - Run quality validation
|
|
384
|
+
[ ] Close - PM validation and closure
|
|
385
|
+
[ ] Sync - Update living docs & external tools
|
|
386
|
+
|
|
387
|
+
━━━ COMPLETION STATUS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
388
|
+
|
|
389
|
+
Tasks: ████████████████████ 100% (37/37)
|
|
390
|
+
ACs: ████████████████████ 100% (70/70)
|
|
391
|
+
|
|
392
|
+
━━━ FILES TO REVIEW ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
393
|
+
|
|
394
|
+
spec.md: 70 ACs, 100% complete
|
|
395
|
+
View: cat .specweave/increments/0053-*/spec.md
|
|
396
|
+
|
|
397
|
+
tasks.md: 37 tasks, 100% complete
|
|
398
|
+
View: cat .specweave/increments/0053-*/tasks.md
|
|
399
|
+
|
|
400
|
+
━━━ EXTERNAL TOOLS STATUS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
401
|
+
|
|
402
|
+
GitHub Issue #142:
|
|
403
|
+
Status: open 🔵
|
|
404
|
+
Checklist: 35/37 tasks checked
|
|
405
|
+
Action: Will auto-close after /specweave:done
|
|
406
|
+
|
|
407
|
+
JIRA: ⚪ Not configured
|
|
408
|
+
ADO: ⚪ Not configured
|
|
409
|
+
|
|
410
|
+
━━━ LIVING DOCS STATUS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
411
|
+
|
|
412
|
+
Feature: FS-012 (Safe Feature Deletion)
|
|
413
|
+
User Stories: 4/6 synced (2 pending)
|
|
414
|
+
Action: Will sync after closure
|
|
415
|
+
|
|
416
|
+
━━━ NEXT STEPS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
417
|
+
|
|
418
|
+
All tasks complete! Recommended workflow:
|
|
419
|
+
|
|
420
|
+
1. REVIEW (current):
|
|
421
|
+
Review spec.md and tasks.md for completeness
|
|
422
|
+
|
|
423
|
+
2. VALIDATE:
|
|
424
|
+
/specweave:validate 0053 --quality
|
|
425
|
+
|
|
426
|
+
3. CLOSE (if validation passes):
|
|
427
|
+
/specweave:done 0053
|
|
428
|
+
|
|
429
|
+
4. SYNC (automatic after close):
|
|
430
|
+
Living docs and GitHub will auto-sync
|
|
431
|
+
|
|
432
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
433
|
+
Quick: /specweave:workflow (refresh) | /specweave:next (auto-transition)
|
|
434
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
---
|
|
438
|
+
|
|
439
|
+
## Error Handling
|
|
440
|
+
|
|
441
|
+
**No active increment**:
|
|
442
|
+
```
|
|
443
|
+
❌ No active increment found.
|
|
444
|
+
|
|
445
|
+
Options:
|
|
446
|
+
• Check status: /specweave:status
|
|
447
|
+
• Start new: /specweave:increment "feature name"
|
|
448
|
+
• Resume paused: /specweave:resume <id>
|
|
449
|
+
|
|
450
|
+
Available increments:
|
|
451
|
+
0052-feature-a (paused)
|
|
452
|
+
0054-feature-b (backlog)
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
**Increment not found**:
|
|
456
|
+
```
|
|
457
|
+
❌ Increment 0099 not found.
|
|
458
|
+
|
|
459
|
+
Available increments:
|
|
460
|
+
0052-feature-a (in-progress)
|
|
461
|
+
0053-feature-b (completed)
|
|
462
|
+
|
|
463
|
+
Usage: /specweave:workflow [increment-id]
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
## Related Commands
|
|
469
|
+
|
|
470
|
+
- `/specweave:progress` - Quick task completion view
|
|
471
|
+
- `/specweave:validate` - Quality validation
|
|
472
|
+
- `/specweave:done` - Close increment
|
|
473
|
+
- `/specweave:sync-progress` - Sync to external tools
|
|
474
|
+
- `/specweave:next` - Auto-transition to next work
|
|
475
|
+
- `/specweave:status` - Overview of all increments
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
479
|
+
**Key difference from `/specweave:next`**:
|
|
480
|
+
- `/specweave:workflow` = **Informational dashboard** (where am I? what's next?)
|
|
481
|
+
- `/specweave:next` = **Action-oriented** (auto-close and transition)
|
|
482
|
+
|
|
483
|
+
Use `/specweave:workflow` to **understand your position**, then use specific commands to act.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jira-sync
|
|
3
|
-
description:
|
|
3
|
+
description: Sync SpecWeave increments with JIRA epics/stories. Content flows SpecWeave→JIRA, status flows JIRA→SpecWeave. Activates ONLY when user asks questions about JIRA integration or needs help configuring JIRA sync. Does NOT activate for slash commands. For syncing, use /specweave-jira:sync command instead. Coordinates with specweave-jira-mapper agent.
|
|
4
4
|
allowed-tools: Read, Write, Edit, Task, Bash
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ allowed-tools: Read, Write, Edit, Task, Bash
|
|
|
8
8
|
|
|
9
9
|
Coordinates JIRA synchronization by delegating to `specweave-jira-mapper` agent.
|
|
10
10
|
|
|
11
|
-
**
|
|
11
|
+
**Sync Behavior**: Content (specs, tasks) syncs SpecWeave → JIRA. Status (open/closed) syncs JIRA → SpecWeave.
|
|
12
12
|
|
|
13
13
|
**⚠️ IMPORTANT**: This skill provides HELP and GUIDANCE about JIRA sync. For actual syncing, users should use the `/specweave-jira:sync` command directly. This skill should NOT auto-activate when the command is being invoked.
|
|
14
14
|
|
|
@@ -17,7 +17,7 @@ Coordinates JIRA synchronization by delegating to `specweave-jira-mapper` agent.
|
|
|
17
17
|
✅ **Do activate when**:
|
|
18
18
|
- User asks: "How do I set up JIRA sync?"
|
|
19
19
|
- User asks: "What JIRA credentials do I need?"
|
|
20
|
-
- User asks: "How does
|
|
20
|
+
- User asks: "How does JIRA sync work?"
|
|
21
21
|
- User needs help configuring JIRA integration
|
|
22
22
|
|
|
23
23
|
❌ **Do NOT activate when**:
|
|
@@ -29,7 +29,7 @@ Coordinates JIRA synchronization by delegating to `specweave-jira-mapper` agent.
|
|
|
29
29
|
|
|
30
30
|
1. Answer questions about JIRA sync configuration
|
|
31
31
|
2. Help validate prerequisites (JIRA credentials, increment structure)
|
|
32
|
-
3. Explain sync
|
|
32
|
+
3. Explain sync directions: content (SpecWeave→JIRA), status (JIRA→SpecWeave)
|
|
33
33
|
4. Provide troubleshooting guidance
|
|
34
34
|
|
|
35
35
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: specweave-jira-mapper
|
|
3
|
-
description: Expert in
|
|
3
|
+
description: Expert in mapping SpecWeave increments to JIRA epics/stories/subtasks. Content flows SpecWeave→JIRA, status flows JIRA→SpecWeave. Handles export (increment → JIRA), import (JIRA → increment). Activates for JIRA sync, issue creation, import from JIRA.
|
|
4
4
|
tools: Read, Write, Edit, Bash
|
|
5
5
|
model: claude-sonnet-4-5-20250929
|
|
6
6
|
---
|
|
@@ -13,7 +13,7 @@ You are an expert in mapping SpecWeave concepts to JIRA and vice versa with prec
|
|
|
13
13
|
|
|
14
14
|
1. **Export SpecWeave increments to JIRA** (Increment → Epic + Stories + Subtasks)
|
|
15
15
|
2. **Import JIRA epics as SpecWeave increments** (Epic → Increment structure)
|
|
16
|
-
3. **
|
|
16
|
+
3. **Sync**: Content flows SpecWeave→JIRA, status flows JIRA→SpecWeave
|
|
17
17
|
4. **Maintain traceability** (store keys, URLs, timestamps)
|
|
18
18
|
5. **Validate mapping accuracy** using test cases
|
|
19
19
|
6. **Handle edge cases** (missing fields, invalid statuses, API errors)
|
|
@@ -54,7 +54,7 @@ You are an expert in mapping SpecWeave concepts to JIRA and vice versa with prec
|
|
|
54
54
|
| **Status: To Do** | Status: planned | Not started |
|
|
55
55
|
| **Status: In Progress** | Status: in-progress | Active |
|
|
56
56
|
| **Status: Done** | Status: completed | Finished |
|
|
57
|
-
| **Custom Field: Spec URL** | spec.md link |
|
|
57
|
+
| **Custom Field: Spec URL** | spec.md link | Cross-reference |
|
|
58
58
|
|
|
59
59
|
---
|
|
60
60
|
|
|
@@ -7,6 +7,23 @@ description: MCP server integration for Kafka operations. Auto-activates on keyw
|
|
|
7
7
|
|
|
8
8
|
Expert knowledge for integrating SpecWeave with Kafka MCP (Model Context Protocol) servers. Supports 4 MCP server implementations with auto-detection and configuration guidance.
|
|
9
9
|
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
> **Code-First Recommendation**: For most Kafka automation tasks, [writing code is better than MCP](https://www.anthropic.com/engineering/code-execution-with-mcp) (98% token reduction). Use **kafkajs** or **kafka-node** directly:
|
|
13
|
+
>
|
|
14
|
+
> ```typescript
|
|
15
|
+
> import { Kafka } from 'kafkajs';
|
|
16
|
+
> const kafka = new Kafka({ brokers: ['localhost:9092'] });
|
|
17
|
+
> const producer = kafka.producer();
|
|
18
|
+
> await producer.send({ topic: 'events', messages: [{ value: 'Hello' }] });
|
|
19
|
+
> ```
|
|
20
|
+
>
|
|
21
|
+
> **When MCP IS useful**: Quick interactive debugging, topic exploration, Claude Desktop integration.
|
|
22
|
+
>
|
|
23
|
+
> **When to use code instead**: CI/CD pipelines, test automation, production scripts, anything that should be committed and reusable.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
10
27
|
## Supported MCP Servers
|
|
11
28
|
|
|
12
29
|
### 1. kanapuli/mcp-kafka (Node.js)
|
|
@@ -125,7 +125,9 @@ type HookEvent =
|
|
|
125
125
|
|
|
126
126
|
## MCP (Model Context Protocol)
|
|
127
127
|
|
|
128
|
-
**MCP
|
|
128
|
+
> **Code-First Preferred**: Anthropic research shows [code execution achieves 98% token reduction vs MCP](https://www.anthropic.com/engineering/code-execution-with-mcp). Use MCP only for: quick debugging, Claude Desktop integration, or tools with no code equivalent. For automation, CI/CD, and production - write code instead.
|
|
129
|
+
|
|
130
|
+
**MCP Server Integration** (when needed):
|
|
129
131
|
```typescript
|
|
130
132
|
// Connect to MCP server
|
|
131
133
|
const mcp = await connectMCP({
|
|
@@ -11,10 +11,11 @@ Create and execute automated browser workflows using Playwright. Generate script
|
|
|
11
11
|
## What I Do
|
|
12
12
|
|
|
13
13
|
1. **Workflow Planning**: Define step-by-step browser automation sequences
|
|
14
|
-
2. **Script Generation**: Create Playwright TypeScript/JavaScript code
|
|
15
|
-
3. **
|
|
16
|
-
4. **
|
|
17
|
-
|
|
14
|
+
2. **Script Generation**: Create Playwright TypeScript/JavaScript code (code-first approach)
|
|
15
|
+
3. **Error Handling**: Add retry logic, timeouts, and fallbacks
|
|
16
|
+
4. **Output Collection**: Capture screenshots, data, and validation results
|
|
17
|
+
|
|
18
|
+
> **Why Code-First?** Anthropic research shows [code execution beats MCP tool calls](https://www.anthropic.com/engineering/code-execution-with-mcp) with 98% token reduction. Playwright code is reusable, committable, CI-runnable, and deterministic.
|
|
18
19
|
|
|
19
20
|
## Workflow Types
|
|
20
21
|
|
|
@@ -108,30 +109,6 @@ async function automateWorkflow() {
|
|
|
108
109
|
automateWorkflow();
|
|
109
110
|
```
|
|
110
111
|
|
|
111
|
-
## MCP Server Integration
|
|
112
|
-
|
|
113
|
-
Uses Playwright MCP server for enhanced capabilities:
|
|
114
|
-
- **Session Management**: Reuse browser contexts
|
|
115
|
-
- **Network Interception**: Mock APIs, block resources
|
|
116
|
-
- **Performance Metrics**: Collect timing data
|
|
117
|
-
- **Video Recording**: Capture automation runs
|
|
118
|
-
- **Parallel Execution**: Run multiple automations concurrently
|
|
119
|
-
|
|
120
|
-
### MCP Configuration
|
|
121
|
-
|
|
122
|
-
Add to `.claude/mcp_server_config.json`:
|
|
123
|
-
```json
|
|
124
|
-
{
|
|
125
|
-
"playwright": {
|
|
126
|
-
"command": "npx",
|
|
127
|
-
"args": ["playwright-mcp-server"],
|
|
128
|
-
"env": {
|
|
129
|
-
"PLAYWRIGHT_BROWSERS_PATH": "~/.cache/playwright"
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
```
|
|
134
|
-
|
|
135
112
|
## Use Cases
|
|
136
113
|
|
|
137
114
|
### 1. Regression Testing
|