@dzhechkov/keysarium 1.7.14 → 1.7.18

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 (84) hide show
  1. package/.dz-manifest.json +215 -55
  2. package/README.md +35 -6
  3. package/README.ru.md +36 -16
  4. package/package.json +3 -3
  5. package/sbom.json +456 -56
  6. package/src/cli.js +32 -2
  7. package/src/commands/doctor.js +25 -1
  8. package/src/commands/init.js +46 -12
  9. package/src/utils.js +1 -0
  10. package/templates/.agents/skills/casarium/SKILL.md +29 -0
  11. package/templates/.claude/agents/code-goal-planner.md +9 -0
  12. package/templates/.claude/commands/analyst-manual.md +4 -2
  13. package/templates/.claude/commands/casarium.md +3 -1
  14. package/templates/.claude/commands/cjm-prototype.md +2 -2
  15. package/templates/.claude/commands/research.md +4 -1
  16. package/templates/.claude/rules/checkpoint-protocol.md +2 -1
  17. package/templates/.claude/rules/research-quality.md +11 -6
  18. package/templates/.claude/shards/phase-2-research.shard.md +12 -8
  19. package/templates/.claude/shards/phase-25-cjm.shard.md +5 -3
  20. package/templates/.claude/skills/analyst-manual-full/SKILL.md +65 -37
  21. package/templates/.claude/skills/feature-adr/SKILL.md +17 -15
  22. package/templates/.claude/skills/feature-adr/modules/03-adr.md +1 -1
  23. package/templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md +1 -1
  24. package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +2 -2
  25. package/templates/.claude/skills/feature-adr/modules/08-qe.md +1 -1
  26. package/templates/.claude/skills/feature-adr/modules/09-fleet-qe.md +12 -12
  27. package/templates/.claude/skills/feature-adr/references/agentic-qe/LICENSE.agentic-qe +21 -0
  28. package/templates/.claude/skills/feature-adr/references/agentic-qe/README.md +20 -16
  29. package/templates/.claude/skills/feature-adr/references/agentic-qe/UPSTREAM-MANIFEST.json +246 -0
  30. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/README.md +218 -0
  31. package/templates/.claude/skills/feature-adr/references/agentic-qe/{brutal-honesty-review.md → qe-ref-brutal-honesty-review/REFERENCE.md} +14 -1
  32. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/resources/assessment-rubrics.md +295 -0
  33. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/resources/review-template.md +102 -0
  34. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/schemas/output.json +291 -0
  35. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/assess-code.sh +179 -0
  36. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/assess-tests.sh +223 -0
  37. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/validate-config.json +34 -0
  38. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/REFERENCE.md +758 -0
  39. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  40. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/schemas/output.json +74 -0
  41. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/scripts/validate-config.json +25 -0
  42. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/REFERENCE.md +226 -0
  43. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
  44. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/schemas/output.json +568 -0
  45. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/scripts/validate-config.json +25 -0
  46. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/01-flag-detection.md +57 -0
  47. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/02-core-agents.md +29 -0
  48. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/03-batch1-results.md +15 -0
  49. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/04-conditional-agents.md +23 -0
  50. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/05-decision-synthesis.md +29 -0
  51. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/06-report-generation.md +18 -0
  52. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/07-learning-persistence.md +29 -0
  53. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/08-final-output.md +18 -0
  54. package/templates/.claude/skills/feature-adr/references/agentic-qe/{qe-coverage-analysis.md → qe-ref-qe-coverage-analysis/REFERENCE.md} +42 -3
  55. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -0
  56. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/schemas/output.json +286 -0
  57. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/scripts/validate-config.json +42 -0
  58. package/templates/.claude/skills/feature-adr/references/agentic-qe/{qe-requirements-validation.md → qe-ref-qe-requirements-validation/REFERENCE.md} +13 -3
  59. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -0
  60. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/schemas/output.json +587 -0
  61. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/scripts/validate-config.json +37 -0
  62. package/templates/.claude/skills/feature-adr/references/agentic-qe/{regression-testing.md → qe-ref-regression-testing/REFERENCE.md} +30 -49
  63. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/evals/regression-testing.yaml +504 -0
  64. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/schemas/output.json +311 -0
  65. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/scripts/validate-config.json +50 -0
  66. package/templates/.claude/skills/feature-adr/references/agentic-qe/{risk-based-testing.md → qe-ref-risk-based-testing/REFERENCE.md} +23 -52
  67. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/evals/risk-based-testing.yaml +141 -0
  68. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/schemas/output.json +480 -0
  69. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/scripts/validate-config.json +25 -0
  70. package/templates/.claude/skills/feature-adr/references/agentic-qe/{shift-left-testing.md → qe-ref-shift-left-testing/REFERENCE.md} +33 -88
  71. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/evals/shift-left-testing.yaml +145 -0
  72. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/schemas/output.json +459 -0
  73. package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/scripts/validate-config.json +25 -0
  74. package/templates/CLAUDE.md +3 -1
  75. package/templates/docs/feature-adr/04-admin-guide.md +1 -1
  76. package/templates/docs/improvement-directions.md +3 -3
  77. package/templates/docs/keysarium/02-admin-guide.md +2 -2
  78. package/templates/docs/keysarium/03-user-guide.md +3 -3
  79. package/templates/docs/keysarium/05-architecture.md +9 -8
  80. package/templates/docs/keysarium/06-user-flows.md +4 -4
  81. package/templates/lib/platform-templates/copilot.md +1 -1
  82. package/templates/lib/platform-templates/opencode.md +1 -1
  83. package/templates/.claude/skills/feature-adr/references/agentic-qe/enterprise-integration-testing.md +0 -111
  84. package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-ideation-swarm.md +0 -126
@@ -0,0 +1,568 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agentic-qe.dev/schemas/qcsd-ideation-swarm-output.json",
4
+ "title": "QCSD Ideation Swarm Output Schema",
5
+ "description": "Schema for QCSD ideation swarm output. Includes quality criteria, risks, test ideas, and multi-agent reports.",
6
+ "type": "object",
7
+ "required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
8
+ "properties": {
9
+ "skillName": {
10
+ "type": "string",
11
+ "const": "qcsd-ideation-swarm",
12
+ "description": "Must be 'qcsd-ideation-swarm'"
13
+ },
14
+ "version": {
15
+ "type": "string",
16
+ "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$"
17
+ },
18
+ "timestamp": {
19
+ "type": "string",
20
+ "format": "date-time"
21
+ },
22
+ "status": {
23
+ "type": "string",
24
+ "enum": ["success", "partial", "failed", "skipped"]
25
+ },
26
+ "trustTier": {
27
+ "type": "integer",
28
+ "const": 3
29
+ },
30
+ "output": {
31
+ "type": "object",
32
+ "required": ["summary", "qualityCriteria", "risks", "testIdeas"],
33
+ "properties": {
34
+ "summary": {
35
+ "type": "string",
36
+ "minLength": 100,
37
+ "maxLength": 3000
38
+ },
39
+ "recommendation": {
40
+ "type": "string",
41
+ "enum": ["GO", "CONDITIONAL", "NO-GO"],
42
+ "description": "Overall ideation recommendation"
43
+ },
44
+ "qualityCriteria": {
45
+ "$ref": "#/$defs/qualityCriteriaAnalysis"
46
+ },
47
+ "risks": {
48
+ "$ref": "#/$defs/riskAnalysis"
49
+ },
50
+ "testIdeas": {
51
+ "$ref": "#/$defs/testIdeasCollection"
52
+ },
53
+ "agentReports": {
54
+ "$ref": "#/$defs/agentReports"
55
+ },
56
+ "testability": {
57
+ "$ref": "#/$defs/testabilityAssessment"
58
+ },
59
+ "flagDetection": {
60
+ "$ref": "#/$defs/flagDetection"
61
+ },
62
+ "conditionalAnalysis": {
63
+ "$ref": "#/$defs/conditionalAnalysis"
64
+ },
65
+ "executiveSummary": {
66
+ "$ref": "#/$defs/executiveSummary"
67
+ },
68
+ "artifacts": {
69
+ "type": "array",
70
+ "items": {
71
+ "$ref": "#/$defs/artifact"
72
+ },
73
+ "maxItems": 20
74
+ }
75
+ }
76
+ },
77
+ "metadata": {
78
+ "$ref": "#/$defs/metadata"
79
+ },
80
+ "validation": {
81
+ "$ref": "#/$defs/validationResult"
82
+ },
83
+ "learning": {
84
+ "$ref": "#/$defs/learningData"
85
+ }
86
+ },
87
+ "$defs": {
88
+ "qualityCriteriaAnalysis": {
89
+ "type": "object",
90
+ "required": ["htsmCategories"],
91
+ "properties": {
92
+ "htsmVersion": {
93
+ "type": "string",
94
+ "default": "6.3"
95
+ },
96
+ "htsmCategories": {
97
+ "type": "array",
98
+ "items": {
99
+ "$ref": "#/$defs/htsmCategory"
100
+ },
101
+ "minItems": 5,
102
+ "maxItems": 10,
103
+ "description": "HTSM v6.3 categories analyzed"
104
+ },
105
+ "prioritySummary": {
106
+ "type": "object",
107
+ "properties": {
108
+ "p0": { "type": "integer", "minimum": 0 },
109
+ "p1": { "type": "integer", "minimum": 0 },
110
+ "p2": { "type": "integer", "minimum": 0 },
111
+ "p3": { "type": "integer", "minimum": 0 }
112
+ }
113
+ },
114
+ "crossCuttingConcerns": {
115
+ "type": "array",
116
+ "items": { "type": "string" }
117
+ }
118
+ }
119
+ },
120
+ "htsmCategory": {
121
+ "type": "object",
122
+ "required": ["name", "priority"],
123
+ "properties": {
124
+ "name": {
125
+ "type": "string",
126
+ "enum": [
127
+ "Capability", "Reliability", "Security", "Performance", "Development",
128
+ "Usability", "Charisma", "Scalability", "Compatibility", "Installability"
129
+ ]
130
+ },
131
+ "priority": {
132
+ "type": "string",
133
+ "enum": ["P0", "P1", "P2", "P3"]
134
+ },
135
+ "weight": {
136
+ "type": "number",
137
+ "minimum": 0,
138
+ "maximum": 1
139
+ },
140
+ "testabilityScore": {
141
+ "type": "integer",
142
+ "minimum": 0,
143
+ "maximum": 100
144
+ },
145
+ "evidence": {
146
+ "type": "array",
147
+ "items": {
148
+ "$ref": "#/$defs/evidenceItem"
149
+ }
150
+ },
151
+ "qualityImplication": {
152
+ "type": "string"
153
+ },
154
+ "businessImpact": {
155
+ "type": "string"
156
+ }
157
+ }
158
+ },
159
+ "evidenceItem": {
160
+ "type": "object",
161
+ "required": ["text", "type"],
162
+ "properties": {
163
+ "text": { "type": "string" },
164
+ "type": {
165
+ "type": "string",
166
+ "enum": ["direct", "inferred", "claimed"]
167
+ },
168
+ "source": { "type": "string" },
169
+ "line": { "type": "integer" }
170
+ }
171
+ },
172
+ "riskAnalysis": {
173
+ "type": "object",
174
+ "required": ["risks"],
175
+ "properties": {
176
+ "methodology": {
177
+ "type": "string",
178
+ "enum": ["SFDIPOT", "STRIDE", "custom"]
179
+ },
180
+ "totalRisks": {
181
+ "type": "integer",
182
+ "minimum": 0
183
+ },
184
+ "criticalRisks": {
185
+ "type": "integer",
186
+ "minimum": 0
187
+ },
188
+ "highestScore": {
189
+ "type": "integer",
190
+ "minimum": 0,
191
+ "maximum": 25
192
+ },
193
+ "risks": {
194
+ "type": "array",
195
+ "items": {
196
+ "$ref": "#/$defs/risk"
197
+ },
198
+ "minItems": 5,
199
+ "maxItems": 50
200
+ },
201
+ "riskDistribution": {
202
+ "type": "object",
203
+ "properties": {
204
+ "technical": { "type": "integer" },
205
+ "business": { "type": "integer" },
206
+ "quality": { "type": "integer" },
207
+ "integration": { "type": "integer" }
208
+ }
209
+ }
210
+ }
211
+ },
212
+ "risk": {
213
+ "type": "object",
214
+ "required": ["id", "description", "category", "likelihood", "impact", "score"],
215
+ "properties": {
216
+ "id": {
217
+ "type": "string",
218
+ "pattern": "^R\\d{3}$"
219
+ },
220
+ "description": { "type": "string", "minLength": 10 },
221
+ "category": {
222
+ "type": "string",
223
+ "enum": ["technical", "business", "quality", "integration"]
224
+ },
225
+ "likelihood": {
226
+ "type": "integer",
227
+ "minimum": 1,
228
+ "maximum": 5
229
+ },
230
+ "impact": {
231
+ "type": "integer",
232
+ "minimum": 1,
233
+ "maximum": 5
234
+ },
235
+ "score": {
236
+ "type": "integer",
237
+ "minimum": 1,
238
+ "maximum": 25
239
+ },
240
+ "mitigation": { "type": "string" },
241
+ "owner": {
242
+ "type": "string",
243
+ "enum": ["Dev", "QE", "Product", "Ops", "Security"]
244
+ }
245
+ }
246
+ },
247
+ "testIdeasCollection": {
248
+ "type": "object",
249
+ "required": ["ideas"],
250
+ "properties": {
251
+ "total": {
252
+ "type": "integer",
253
+ "minimum": 0
254
+ },
255
+ "ideas": {
256
+ "type": "array",
257
+ "items": {
258
+ "$ref": "#/$defs/testIdea"
259
+ },
260
+ "minItems": 5,
261
+ "maxItems": 100
262
+ },
263
+ "byCategory": {
264
+ "type": "object",
265
+ "properties": {
266
+ "functional": { "type": "integer" },
267
+ "nonfunctional": { "type": "integer" },
268
+ "exploratory": { "type": "integer" },
269
+ "regression": { "type": "integer" }
270
+ }
271
+ }
272
+ }
273
+ },
274
+ "testIdea": {
275
+ "type": "object",
276
+ "required": ["id", "title", "type"],
277
+ "properties": {
278
+ "id": {
279
+ "type": "string",
280
+ "pattern": "^TI-\\d{3}$"
281
+ },
282
+ "title": { "type": "string", "minLength": 10 },
283
+ "description": { "type": "string" },
284
+ "type": {
285
+ "type": "string",
286
+ "enum": ["functional", "nonfunctional", "exploratory", "regression", "security", "accessibility", "performance"]
287
+ },
288
+ "priority": {
289
+ "type": "string",
290
+ "enum": ["critical", "high", "medium", "low"]
291
+ },
292
+ "linkedRisks": {
293
+ "type": "array",
294
+ "items": { "type": "string" }
295
+ },
296
+ "linkedCriteria": {
297
+ "type": "array",
298
+ "items": { "type": "string" }
299
+ },
300
+ "automation": {
301
+ "type": "string",
302
+ "enum": ["automated", "manual", "hybrid"]
303
+ }
304
+ }
305
+ },
306
+ "agentReports": {
307
+ "type": "object",
308
+ "required": ["coreAgents"],
309
+ "properties": {
310
+ "coreAgents": {
311
+ "type": "array",
312
+ "items": {
313
+ "$ref": "#/$defs/agentReport"
314
+ },
315
+ "minItems": 3,
316
+ "maxItems": 3,
317
+ "description": "Must have exactly 3 core agents"
318
+ },
319
+ "conditionalAgents": {
320
+ "type": "array",
321
+ "items": {
322
+ "$ref": "#/$defs/agentReport"
323
+ },
324
+ "maxItems": 3
325
+ },
326
+ "totalAgents": {
327
+ "type": "integer",
328
+ "minimum": 3,
329
+ "maximum": 6
330
+ }
331
+ }
332
+ },
333
+ "agentReport": {
334
+ "type": "object",
335
+ "required": ["agentId", "domain", "status"],
336
+ "properties": {
337
+ "agentId": {
338
+ "type": "string",
339
+ "pattern": "^qe-[a-z][a-z0-9-]*$"
340
+ },
341
+ "domain": {
342
+ "type": "string",
343
+ "enum": [
344
+ "requirements-validation", "coverage-analysis", "security-compliance",
345
+ "visual-accessibility", "cross-domain"
346
+ ]
347
+ },
348
+ "status": {
349
+ "type": "string",
350
+ "enum": ["completed", "partial", "failed", "skipped"]
351
+ },
352
+ "reportPath": { "type": "string" },
353
+ "executionTimeMs": { "type": "integer", "minimum": 0 },
354
+ "findingsCount": { "type": "integer", "minimum": 0 }
355
+ }
356
+ },
357
+ "testabilityAssessment": {
358
+ "type": "object",
359
+ "required": ["score"],
360
+ "properties": {
361
+ "score": {
362
+ "type": "integer",
363
+ "minimum": 0,
364
+ "maximum": 100
365
+ },
366
+ "grade": {
367
+ "type": "string",
368
+ "pattern": "^[A-F][+-]?$"
369
+ },
370
+ "principles": {
371
+ "type": "array",
372
+ "items": {
373
+ "type": "object",
374
+ "properties": {
375
+ "name": { "type": "string" },
376
+ "score": { "type": "integer", "minimum": 0, "maximum": 10 },
377
+ "evidence": { "type": "string" }
378
+ }
379
+ },
380
+ "minItems": 10,
381
+ "maxItems": 10
382
+ },
383
+ "blockers": {
384
+ "type": "array",
385
+ "items": { "type": "string" }
386
+ }
387
+ }
388
+ },
389
+ "flagDetection": {
390
+ "type": "object",
391
+ "required": ["HAS_UI", "HAS_SECURITY", "HAS_UX"],
392
+ "properties": {
393
+ "HAS_UI": {
394
+ "type": "boolean"
395
+ },
396
+ "HAS_SECURITY": {
397
+ "type": "boolean"
398
+ },
399
+ "HAS_UX": {
400
+ "type": "boolean"
401
+ },
402
+ "HAS_VIDEO": {
403
+ "type": "boolean"
404
+ },
405
+ "evidence": {
406
+ "type": "object",
407
+ "properties": {
408
+ "ui": { "type": "array", "items": { "type": "string" } },
409
+ "security": { "type": "array", "items": { "type": "string" } },
410
+ "ux": { "type": "array", "items": { "type": "string" } },
411
+ "video": { "type": "array", "items": { "type": "string" } }
412
+ }
413
+ }
414
+ }
415
+ },
416
+ "conditionalAnalysis": {
417
+ "type": "object",
418
+ "properties": {
419
+ "accessibility": {
420
+ "$ref": "#/$defs/accessibilityAnalysis"
421
+ },
422
+ "security": {
423
+ "$ref": "#/$defs/securityAnalysis"
424
+ },
425
+ "qualityExperience": {
426
+ "$ref": "#/$defs/qxAnalysis"
427
+ }
428
+ }
429
+ },
430
+ "accessibilityAnalysis": {
431
+ "type": "object",
432
+ "properties": {
433
+ "wcagLevel": { "type": "string", "enum": ["A", "AA", "AAA"] },
434
+ "uiComponents": { "type": "array", "items": { "type": "string" } },
435
+ "findings": { "type": "array", "items": { "type": "object" } }
436
+ }
437
+ },
438
+ "securityAnalysis": {
439
+ "type": "object",
440
+ "properties": {
441
+ "strideCategories": {
442
+ "type": "array",
443
+ "items": { "type": "string" }
444
+ },
445
+ "authRequirements": { "type": "string" },
446
+ "dataProtection": { "type": "array", "items": { "type": "object" } },
447
+ "compliance": { "type": "array", "items": { "type": "string" } }
448
+ }
449
+ },
450
+ "qxAnalysis": {
451
+ "type": "object",
452
+ "properties": {
453
+ "pact": {
454
+ "type": "object",
455
+ "properties": {
456
+ "people": { "type": "string" },
457
+ "activities": { "type": "string" },
458
+ "contexts": { "type": "string" },
459
+ "technologies": { "type": "string" }
460
+ }
461
+ },
462
+ "personas": { "type": "array", "items": { "type": "object" } },
463
+ "userJourneys": { "type": "array", "items": { "type": "string" } },
464
+ "qxRisks": { "type": "array", "items": { "type": "object" } }
465
+ }
466
+ },
467
+ "executiveSummary": {
468
+ "type": "object",
469
+ "required": ["recommendation"],
470
+ "properties": {
471
+ "recommendation": {
472
+ "type": "string",
473
+ "enum": ["GO", "CONDITIONAL", "NO-GO"]
474
+ },
475
+ "rationale": { "type": "string", "minLength": 50 },
476
+ "metrics": {
477
+ "type": "object",
478
+ "properties": {
479
+ "htsmCoverage": { "type": "integer", "minimum": 0, "maximum": 10 },
480
+ "testabilityScore": { "type": "integer", "minimum": 0, "maximum": 100 },
481
+ "acCompleteness": { "type": "integer", "minimum": 0, "maximum": 100 },
482
+ "criticalRisks": { "type": "integer", "minimum": 0 }
483
+ }
484
+ },
485
+ "immediateActions": {
486
+ "type": "array",
487
+ "items": { "type": "string" }
488
+ },
489
+ "developmentActions": {
490
+ "type": "array",
491
+ "items": { "type": "string" }
492
+ },
493
+ "preReleaseActions": {
494
+ "type": "array",
495
+ "items": { "type": "string" }
496
+ },
497
+ "followUpRecommendations": {
498
+ "type": "array",
499
+ "items": {
500
+ "type": "object",
501
+ "properties": {
502
+ "action": { "type": "string" },
503
+ "skill": { "type": "string" },
504
+ "reason": { "type": "string" }
505
+ }
506
+ }
507
+ }
508
+ }
509
+ },
510
+ "artifact": {
511
+ "type": "object",
512
+ "required": ["type", "path"],
513
+ "properties": {
514
+ "type": {
515
+ "type": "string",
516
+ "enum": ["report", "htsm-analysis", "risk-matrix", "test-ideas", "executive-summary"]
517
+ },
518
+ "path": { "type": "string", "maxLength": 500 },
519
+ "format": {
520
+ "type": "string",
521
+ "enum": ["html", "md", "json"]
522
+ },
523
+ "description": { "type": "string" }
524
+ }
525
+ },
526
+ "metadata": {
527
+ "type": "object",
528
+ "properties": {
529
+ "executionTimeMs": { "type": "integer", "minimum": 0 },
530
+ "agentId": { "type": "string", "pattern": "^qe-[a-z][a-z0-9-]*$" },
531
+ "targetUrl": { "type": "string" },
532
+ "epicId": { "type": "string" },
533
+ "fetchMethod": {
534
+ "type": "string",
535
+ "enum": ["playwright", "webfetch", "websearch-fallback"]
536
+ }
537
+ }
538
+ },
539
+ "validationResult": {
540
+ "type": "object",
541
+ "properties": {
542
+ "schemaValid": { "type": "boolean" },
543
+ "contentValid": { "type": "boolean" },
544
+ "confidence": { "type": "number", "minimum": 0, "maximum": 1 },
545
+ "warnings": { "type": "array", "items": { "type": "string" } },
546
+ "errors": { "type": "array", "items": { "type": "string" } }
547
+ }
548
+ },
549
+ "learningData": {
550
+ "type": "object",
551
+ "properties": {
552
+ "patternsDetected": { "type": "array", "items": { "type": "string" } },
553
+ "reward": { "type": "number", "minimum": 0, "maximum": 1 },
554
+ "ideationPatterns": {
555
+ "type": "array",
556
+ "items": {
557
+ "type": "object",
558
+ "properties": {
559
+ "pattern": { "type": "string" },
560
+ "recommendation": { "type": "string" },
561
+ "outcome": { "type": "string" }
562
+ }
563
+ }
564
+ }
565
+ }
566
+ }
567
+ }
568
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "skillName": "qcsd-ideation-swarm",
3
+ "skillVersion": "1.0.0",
4
+ "requiredTools": [
5
+ "jq"
6
+ ],
7
+ "optionalTools": [],
8
+ "schemaPath": "schemas/output.json",
9
+ "requiredFields": [
10
+ "skillName",
11
+ "status",
12
+ "output"
13
+ ],
14
+ "requiredNonEmptyFields": [],
15
+ "mustContainTerms": [],
16
+ "mustNotContainTerms": [],
17
+ "enumValidations": {
18
+ ".status": [
19
+ "success",
20
+ "partial",
21
+ "failed",
22
+ "skipped"
23
+ ]
24
+ }
25
+ }
@@ -0,0 +1,57 @@
1
+ # Step 1: Analyze Epic Content (Flag Detection)
2
+
3
+ ## Prerequisites
4
+ - Ideation swarm skill invoked
5
+ - Epic / feature description provided (or URL for URL mode)
6
+ - OUTPUT_FOLDER determined
7
+
8
+ ## Instructions
9
+
10
+ ### URL Mode Check
11
+
12
+ If a URL was provided, this step also includes the URL-based content fetch cascade.
13
+ Use the Read tool to read `steps/01a-url-fetch.md` for the URL fetch protocol if applicable.
14
+
15
+ ### Flag Detection (Check ALL flags)
16
+
17
+ ```
18
+ HAS_UI = FALSE
19
+ Set TRUE if epic contains ANY of: UI, frontend, visual, design,
20
+ component, screen, page, form, button, modal, dialog, dashboard,
21
+ widget, interface, display, view, layout, CSS, styling
22
+
23
+ HAS_SECURITY = FALSE
24
+ Set TRUE if epic contains ANY of: authentication, authorization,
25
+ encryption, security, OWASP, token, OAuth, credentials, privacy,
26
+ compliance, vulnerability, access control
27
+
28
+ HAS_UX = FALSE
29
+ Set TRUE if epic contains ANY of: user experience, usability,
30
+ interaction design, user flow, journey, persona, accessibility,
31
+ responsive, mobile-first, navigation, onboarding
32
+
33
+ HAS_MIDDLEWARE = FALSE
34
+ Set TRUE if epic mentions middleware, ESB, message broker, MQ,
35
+ Kafka, RabbitMQ, integration bus, API gateway, pub/sub
36
+
37
+ HAS_SAP_INTEGRATION = FALSE
38
+ Set TRUE if epic mentions SAP, RFC, BAPI, IDoc, OData,
39
+ S/4HANA, EWM, ECC, ABAP, CDS view, Fiori
40
+
41
+ HAS_AUTHORIZATION = FALSE
42
+ Set TRUE if epic mentions SoD, segregation of duties,
43
+ role conflict, authorization object, RBAC, permission matrix
44
+
45
+ HAS_VIDEO = FALSE
46
+ Set TRUE if epic mentions video content, media playback,
47
+ streaming, video player, captions, subtitles
48
+ ```
49
+
50
+ Output flag detection results.
51
+
52
+ ## Success Criteria
53
+ - [ ] All flags evaluated with evidence
54
+ - [ ] Expected agent count calculated
55
+
56
+ ## Navigation
57
+ - On success: proceed to Step 2 by reading `steps/02-core-agents.md`
@@ -0,0 +1,29 @@
1
+ # Step 2: Spawn Core Agents (Parallel Batch 1)
2
+
3
+ ## Prerequisites
4
+ - Step 1 completed with flags
5
+
6
+ ## Instructions
7
+
8
+ ### Spawn ALL THREE core agents in ONE message
9
+
10
+ | Agent | Domain | Role |
11
+ |-------|--------|------|
12
+ | qe-quality-criteria-recommender | requirements-validation | HTSM v6.3 quality criteria analysis |
13
+ | qe-risk-assessor | coverage-analysis | Risk storming and risk-based testing |
14
+ | qe-requirements-validator | requirements-validation | Requirements completeness validation |
15
+
16
+ ### Agent 1: Quality Criteria Recommender
17
+ Apply HTSM v6.3 (10 quality categories) to the epic. Generate quality criteria with priorities. Save to: `${OUTPUT_FOLDER}/02-quality-criteria.md`
18
+
19
+ ### Agent 2: Risk Assessor
20
+ Perform risk storming: identify risks, assess likelihood and impact, recommend risk-based test strategies. Save to: `${OUTPUT_FOLDER}/03-risk-assessment.md`
21
+
22
+ ### Agent 3: Requirements Validator
23
+ Validate epic completeness, identify gaps, assess testability. Save to: `${OUTPUT_FOLDER}/04-requirements-validation.md`
24
+
25
+ ## Success Criteria
26
+ - [ ] All THREE agents spawned
27
+
28
+ ## Navigation
29
+ - On success: proceed to Step 3 by reading `steps/03-batch1-results.md`
@@ -0,0 +1,15 @@
1
+ # Step 3: Wait for Batch 1 & Extract Results
2
+
3
+ ## Prerequisites
4
+ - Step 2: All 3 core agents spawned
5
+
6
+ ## Instructions
7
+
8
+ WAIT for all three. Extract: quality criteria count, risk count, testability score,
9
+ requirements completeness, critical gaps identified.
10
+
11
+ ## Success Criteria
12
+ - [ ] All metrics extracted
13
+
14
+ ## Navigation
15
+ - On success: proceed to Step 4 by reading `steps/04-conditional-agents.md`