@ngocsangairvds/vsaf 5.1.5 → 5.1.7

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 (280) hide show
  1. package/package.json +1 -1
  2. package/packages/cli/dist/adapters/antigravity.d.ts.map +1 -1
  3. package/packages/cli/dist/adapters/antigravity.js +14 -30
  4. package/packages/cli/dist/adapters/antigravity.js.map +1 -1
  5. package/packages/cli/dist/adapters/claude.d.ts.map +1 -1
  6. package/packages/cli/dist/adapters/claude.js +8 -10
  7. package/packages/cli/dist/adapters/claude.js.map +1 -1
  8. package/packages/cli/dist/adapters/codex.d.ts.map +1 -1
  9. package/packages/cli/dist/adapters/codex.js +6 -9
  10. package/packages/cli/dist/adapters/codex.js.map +1 -1
  11. package/packages/cli/dist/adapters/cursor.d.ts.map +1 -1
  12. package/packages/cli/dist/adapters/cursor.js +22 -24
  13. package/packages/cli/dist/adapters/cursor.js.map +1 -1
  14. package/packages/cli/dist/commands/init.d.ts.map +1 -1
  15. package/packages/cli/dist/commands/init.js +7 -19
  16. package/packages/cli/dist/commands/init.js.map +1 -1
  17. package/packages/cli/dist/commands/install.d.ts +3 -6
  18. package/packages/cli/dist/commands/install.d.ts.map +1 -1
  19. package/packages/cli/dist/commands/install.js +27 -10
  20. package/packages/cli/dist/commands/install.js.map +1 -1
  21. package/packages/cli/dist/commands/skill.d.ts.map +1 -1
  22. package/packages/cli/dist/commands/skill.js +40 -16
  23. package/packages/cli/dist/commands/skill.js.map +1 -1
  24. package/packages/cli/dist/index.js +2 -2
  25. package/packages/cli/dist/index.js.map +1 -1
  26. package/packages/cli/dist/install/orchestrator.d.ts +0 -8
  27. package/packages/cli/dist/install/orchestrator.d.ts.map +1 -1
  28. package/packages/cli/dist/install/orchestrator.js +3 -54
  29. package/packages/cli/dist/install/orchestrator.js.map +1 -1
  30. package/packages/cli/dist/server/routes/runs.d.ts.map +1 -1
  31. package/packages/cli/dist/server/routes/runs.js +81 -3
  32. package/packages/cli/dist/server/routes/runs.js.map +1 -1
  33. package/packages/cli/dist/server/routes/workflows.d.ts.map +1 -1
  34. package/packages/cli/dist/server/routes/workflows.js +76 -17
  35. package/packages/cli/dist/server/routes/workflows.js.map +1 -1
  36. package/packages/cli/dist/server/services/execution-manager.d.ts +11 -1
  37. package/packages/cli/dist/server/services/execution-manager.d.ts.map +1 -1
  38. package/packages/cli/dist/server/services/execution-manager.js +88 -17
  39. package/packages/cli/dist/server/services/execution-manager.js.map +1 -1
  40. package/packages/cli/dist/server/static.d.ts.map +1 -1
  41. package/packages/cli/dist/server/static.js +4 -1
  42. package/packages/cli/dist/server/static.js.map +1 -1
  43. package/packages/cli/dist/server/workflow-path.d.ts +3 -0
  44. package/packages/cli/dist/server/workflow-path.d.ts.map +1 -0
  45. package/packages/cli/dist/server/workflow-path.js +25 -0
  46. package/packages/cli/dist/server/workflow-path.js.map +1 -0
  47. package/packages/core/dist/store/recovery.d.ts.map +1 -1
  48. package/packages/core/dist/store/recovery.js +12 -1
  49. package/packages/core/dist/store/recovery.js.map +1 -1
  50. package/packages/core/dist/store/run-store.d.ts +3 -0
  51. package/packages/core/dist/store/run-store.d.ts.map +1 -1
  52. package/packages/core/dist/store/run-store.js +33 -0
  53. package/packages/core/dist/store/run-store.js.map +1 -1
  54. package/packages/core/dist/store/types.d.ts +2 -2
  55. package/packages/core/dist/store/types.d.ts.map +1 -1
  56. package/packages/core/dist/store/types.js.map +1 -1
  57. package/packages/core/dist/store/wal.js +1 -1
  58. package/packages/core/dist/store/wal.js.map +1 -1
  59. package/packages/web/dist/web/3rdpartylicenses.txt +26 -26
  60. package/packages/web/dist/web/browser/chunk-4YPNNQ2T.js +4 -0
  61. package/packages/web/dist/web/browser/chunk-E227ZHPJ.js +1 -0
  62. package/packages/web/dist/web/browser/chunk-JFBK3MNW.js +1 -0
  63. package/packages/web/dist/web/browser/chunk-L2VOQBBI.js +1 -0
  64. package/packages/web/dist/web/browser/chunk-OJJM5VOH.js +1 -0
  65. package/packages/web/dist/web/browser/chunk-U2H3QYAG.js +5 -0
  66. package/packages/web/dist/web/browser/chunk-VA7KFQOR.js +1 -0
  67. package/packages/web/dist/web/browser/chunk-WV3C6DNH.js +1 -0
  68. package/packages/web/dist/web/browser/index.html +2 -2
  69. package/packages/web/dist/web/browser/main-THGFWXYL.js +1 -0
  70. package/packages/web/dist/web/browser/{styles-JBPZVY54.css → styles-PWTTI45T.css} +1 -1
  71. package/skills/sdlc/architecture/current-state/SKILL.md +10 -0
  72. package/skills/sdlc/architecture/current-state/step.md +13 -0
  73. package/skills/sdlc/architecture/decision/SKILL.md +10 -0
  74. package/skills/sdlc/architecture/decision/step.md +21 -0
  75. package/skills/sdlc/architecture/epics/SKILL.md +10 -0
  76. package/skills/sdlc/architecture/epics/step.md +34 -0
  77. package/skills/sdlc/architecture/grill/SKILL.md +10 -0
  78. package/skills/sdlc/architecture/grill/step.md +26 -0
  79. package/skills/sdlc/architecture/prereq/SKILL.md +10 -0
  80. package/skills/sdlc/architecture/prereq/step.md +16 -0
  81. package/skills/sdlc/architecture/readiness/SKILL.md +10 -0
  82. package/skills/sdlc/architecture/readiness/step.md +76 -0
  83. package/skills/sdlc/complete/context/SKILL.md +10 -0
  84. package/skills/sdlc/complete/context/step.md +14 -0
  85. package/skills/sdlc/complete/knowledge/SKILL.md +10 -0
  86. package/skills/sdlc/complete/knowledge/step.md +22 -0
  87. package/skills/sdlc/complete/prereq/SKILL.md +10 -0
  88. package/skills/sdlc/complete/prereq/step.md +16 -0
  89. package/skills/sdlc/complete/reindex/SKILL.md +10 -0
  90. package/skills/sdlc/complete/reindex/step.md +24 -0
  91. package/skills/sdlc/complete/status/SKILL.md +10 -0
  92. package/skills/sdlc/complete/status/step.md +52 -0
  93. package/skills/sdlc/discovery/brainstorm/SKILL.md +10 -0
  94. package/skills/sdlc/discovery/brainstorm/step.md +27 -0
  95. package/skills/sdlc/discovery/domain/SKILL.md +10 -0
  96. package/skills/sdlc/discovery/domain/step.md +13 -0
  97. package/skills/sdlc/discovery/grill/SKILL.md +10 -0
  98. package/skills/sdlc/discovery/grill/step.md +22 -0
  99. package/skills/sdlc/discovery/prereq/SKILL.md +10 -0
  100. package/skills/sdlc/discovery/prereq/step.md +16 -0
  101. package/skills/sdlc/discovery/prfaq/SKILL.md +10 -0
  102. package/skills/sdlc/discovery/prfaq/step.md +68 -0
  103. package/skills/sdlc/discovery/system/SKILL.md +10 -0
  104. package/skills/sdlc/discovery/system/step.md +19 -0
  105. package/skills/sdlc/hotfix/analyze/entry/SKILL.md +10 -0
  106. package/skills/sdlc/hotfix/analyze/entry/step.md +15 -0
  107. package/skills/sdlc/hotfix/analyze/exit/SKILL.md +10 -0
  108. package/skills/sdlc/hotfix/analyze/exit/step.md +19 -0
  109. package/skills/sdlc/hotfix/analyze/fix-strategy/SKILL.md +10 -0
  110. package/skills/sdlc/hotfix/analyze/fix-strategy/step.md +15 -0
  111. package/skills/sdlc/hotfix/analyze/gitnexus/SKILL.md +10 -0
  112. package/skills/sdlc/hotfix/analyze/gitnexus/step.md +17 -0
  113. package/skills/sdlc/hotfix/analyze/grill/SKILL.md +10 -0
  114. package/skills/sdlc/hotfix/analyze/grill/step.md +23 -0
  115. package/skills/sdlc/hotfix/analyze/reasoning/SKILL.md +10 -0
  116. package/skills/sdlc/hotfix/analyze/reasoning/step.md +29 -0
  117. package/skills/sdlc/hotfix/analyze/write/SKILL.md +10 -0
  118. package/skills/sdlc/hotfix/analyze/write/step.md +45 -0
  119. package/skills/sdlc/hotfix/implement/branch/SKILL.md +10 -0
  120. package/skills/sdlc/hotfix/implement/branch/step.md +15 -0
  121. package/skills/sdlc/hotfix/implement/entry/SKILL.md +10 -0
  122. package/skills/sdlc/hotfix/implement/entry/step.md +20 -0
  123. package/skills/sdlc/hotfix/implement/gate/SKILL.md +10 -0
  124. package/skills/sdlc/hotfix/implement/gate/step.md +104 -0
  125. package/skills/sdlc/hotfix/implement/impact/SKILL.md +10 -0
  126. package/skills/sdlc/hotfix/implement/impact/step.md +15 -0
  127. package/skills/sdlc/hotfix/implement/sonar/SKILL.md +10 -0
  128. package/skills/sdlc/hotfix/implement/sonar/step.md +27 -0
  129. package/skills/sdlc/hotfix/implement/tdd/SKILL.md +10 -0
  130. package/skills/sdlc/hotfix/implement/tdd/step.md +33 -0
  131. package/skills/sdlc/hotfix/implement/verify/SKILL.md +10 -0
  132. package/skills/sdlc/hotfix/implement/verify/step.md +27 -0
  133. package/skills/sdlc/hotfix/prd/entry/SKILL.md +10 -0
  134. package/skills/sdlc/hotfix/prd/entry/step.md +20 -0
  135. package/skills/sdlc/hotfix/prd/gate/SKILL.md +10 -0
  136. package/skills/sdlc/hotfix/prd/gate/step.md +32 -0
  137. package/skills/sdlc/hotfix/prd/requirements/SKILL.md +10 -0
  138. package/skills/sdlc/hotfix/prd/requirements/step.md +19 -0
  139. package/skills/sdlc/hotfix/prd/validate/SKILL.md +10 -0
  140. package/skills/sdlc/hotfix/prd/validate/step.md +19 -0
  141. package/skills/sdlc/hotfix/prd/write/SKILL.md +10 -0
  142. package/skills/sdlc/hotfix/prd/write/step.md +38 -0
  143. package/skills/sdlc/hotfix/review/entry/SKILL.md +10 -0
  144. package/skills/sdlc/hotfix/review/entry/step.md +13 -0
  145. package/skills/sdlc/hotfix/review/gate/SKILL.md +10 -0
  146. package/skills/sdlc/hotfix/review/gate/step.md +51 -0
  147. package/skills/sdlc/hotfix/review/impact/SKILL.md +10 -0
  148. package/skills/sdlc/hotfix/review/impact/step.md +22 -0
  149. package/skills/sdlc/hotfix/review/minimality/SKILL.md +10 -0
  150. package/skills/sdlc/hotfix/review/minimality/step.md +18 -0
  151. package/skills/sdlc/hotfix/review/test-quality/SKILL.md +10 -0
  152. package/skills/sdlc/hotfix/review/test-quality/step.md +16 -0
  153. package/skills/sdlc/hotfix/ship/commit-pr/SKILL.md +10 -0
  154. package/skills/sdlc/hotfix/ship/commit-pr/step.md +58 -0
  155. package/skills/sdlc/hotfix/ship/entry/SKILL.md +10 -0
  156. package/skills/sdlc/hotfix/ship/entry/step.md +20 -0
  157. package/skills/sdlc/hotfix/ship/exit/SKILL.md +10 -0
  158. package/skills/sdlc/hotfix/ship/exit/step.md +31 -0
  159. package/skills/sdlc/hotfix/ship/gitignore/SKILL.md +10 -0
  160. package/skills/sdlc/hotfix/ship/gitignore/step.md +22 -0
  161. package/skills/sdlc/hotfix/ship/report/SKILL.md +10 -0
  162. package/skills/sdlc/hotfix/ship/report/step.md +47 -0
  163. package/skills/sdlc/hotfix/ship/test-gate/SKILL.md +10 -0
  164. package/skills/sdlc/hotfix/ship/test-gate/step.md +17 -0
  165. package/skills/sdlc/implement/build-run/SKILL.md +10 -0
  166. package/skills/sdlc/implement/build-run/step.md +85 -0
  167. package/skills/sdlc/implement/checkpoint/SKILL.md +10 -0
  168. package/skills/sdlc/implement/checkpoint/step.md +20 -0
  169. package/skills/sdlc/implement/debug/SKILL.md +10 -0
  170. package/skills/sdlc/implement/debug/step.md +25 -0
  171. package/skills/sdlc/implement/impact/SKILL.md +10 -0
  172. package/skills/sdlc/implement/impact/step.md +12 -0
  173. package/skills/sdlc/implement/plan/SKILL.md +10 -0
  174. package/skills/sdlc/implement/plan/step.md +13 -0
  175. package/skills/sdlc/implement/prereq/SKILL.md +10 -0
  176. package/skills/sdlc/implement/prereq/step.md +21 -0
  177. package/skills/sdlc/implement/subagents/SKILL.md +10 -0
  178. package/skills/sdlc/implement/subagents/step.md +38 -0
  179. package/skills/sdlc/implement/tdd/SKILL.md +10 -0
  180. package/skills/sdlc/implement/tdd/step.md +24 -0
  181. package/skills/sdlc/init/SKILL.md +7 -0
  182. package/skills/sdlc/onboard-code/SKILL.md +7 -0
  183. package/skills/sdlc/onboard-docs/SKILL.md +7 -0
  184. package/skills/sdlc/pack.yaml +83 -16
  185. package/skills/sdlc/prd/blast-radius/SKILL.md +10 -0
  186. package/skills/sdlc/prd/blast-radius/step.md +76 -0
  187. package/skills/sdlc/prd/create/SKILL.md +10 -0
  188. package/skills/sdlc/prd/create/step.md +21 -0
  189. package/skills/sdlc/prd/elicitation/SKILL.md +10 -0
  190. package/skills/sdlc/prd/elicitation/step.md +12 -0
  191. package/skills/sdlc/prd/prereq/SKILL.md +10 -0
  192. package/skills/sdlc/prd/prereq/step.md +16 -0
  193. package/skills/sdlc/prd/validate/SKILL.md +10 -0
  194. package/skills/sdlc/prd/validate/step.md +24 -0
  195. package/skills/sdlc/review/code/SKILL.md +10 -0
  196. package/skills/sdlc/review/code/step.md +45 -0
  197. package/skills/sdlc/review/debate/SKILL.md +10 -0
  198. package/skills/sdlc/review/debate/step.md +84 -0
  199. package/skills/sdlc/review/impact/SKILL.md +10 -0
  200. package/skills/sdlc/review/impact/step.md +14 -0
  201. package/skills/sdlc/review/prereq/SKILL.md +10 -0
  202. package/skills/sdlc/review/prereq/step.md +18 -0
  203. package/skills/sdlc/review/verification/SKILL.md +10 -0
  204. package/skills/sdlc/review/verification/step.md +16 -0
  205. package/skills/sdlc/ship/commit/SKILL.md +10 -0
  206. package/skills/sdlc/ship/commit/step.md +23 -0
  207. package/skills/sdlc/ship/gitignore/SKILL.md +10 -0
  208. package/skills/sdlc/ship/gitignore/step.md +22 -0
  209. package/skills/sdlc/ship/pr/SKILL.md +10 -0
  210. package/skills/sdlc/ship/pr/step.md +34 -0
  211. package/skills/sdlc/ship/prereq/SKILL.md +10 -0
  212. package/skills/sdlc/ship/prereq/step.md +16 -0
  213. package/skills/sdlc/ship/report/SKILL.md +10 -0
  214. package/skills/sdlc/ship/report/step.md +74 -0
  215. package/skills/sdlc/srs/interface/SKILL.md +10 -0
  216. package/skills/sdlc/srs/interface/step.md +44 -0
  217. package/skills/sdlc/srs/prereq/SKILL.md +10 -0
  218. package/skills/sdlc/srs/prereq/step.md +19 -0
  219. package/skills/sdlc/srs/validate/SKILL.md +10 -0
  220. package/skills/sdlc/srs/validate/step.md +23 -0
  221. package/skills/sdlc/srs/write/SKILL.md +10 -0
  222. package/skills/sdlc/srs/write/step.md +19 -0
  223. package/skills/sdlc/test-design/boundary/SKILL.md +10 -0
  224. package/skills/sdlc/test-design/boundary/step.md +12 -0
  225. package/skills/sdlc/test-design/cases/SKILL.md +10 -0
  226. package/skills/sdlc/test-design/cases/step.md +22 -0
  227. package/skills/sdlc/test-design/coverage/SKILL.md +10 -0
  228. package/skills/sdlc/test-design/coverage/step.md +63 -0
  229. package/skills/sdlc/test-design/prereq/SKILL.md +10 -0
  230. package/skills/sdlc/test-design/prereq/step.md +15 -0
  231. package/{skills/sdlc/workflows → workflows/sdlc}/hotfix-tdd.yaml +2 -1
  232. package/{skills/sdlc/workflows → workflows/sdlc}/hotfix.yaml +8 -4
  233. package/workflows/sdlc/master-sdlc.yaml +64 -0
  234. package/workflows/sdlc/sdlc-architecture.yaml +43 -0
  235. package/workflows/sdlc/sdlc-build.yaml +51 -0
  236. package/workflows/sdlc/sdlc-design.yaml +61 -0
  237. package/workflows/sdlc/sdlc-discovery.yaml +43 -0
  238. package/workflows/sdlc/sdlc-feature-complete.yaml +36 -0
  239. package/workflows/sdlc/sdlc-hotfix-analyze.yaml +43 -0
  240. package/workflows/sdlc/sdlc-hotfix-implement.yaml +43 -0
  241. package/workflows/sdlc/sdlc-hotfix-prd.yaml +31 -0
  242. package/workflows/sdlc/sdlc-hotfix-review.yaml +31 -0
  243. package/workflows/sdlc/sdlc-hotfix-ship.yaml +37 -0
  244. package/workflows/sdlc/sdlc-implement.yaml +60 -0
  245. package/workflows/sdlc/sdlc-prd.yaml +36 -0
  246. package/workflows/sdlc/sdlc-qa.yaml +91 -0
  247. package/workflows/sdlc/sdlc-review.yaml +36 -0
  248. package/workflows/sdlc/sdlc-ship.yaml +36 -0
  249. package/workflows/sdlc/sdlc-srs.yaml +29 -0
  250. package/workflows/sdlc/sdlc-test-design.yaml +29 -0
  251. package/workflows/sdlc/sdlc-testcase.yaml +25 -0
  252. package/workflows/sdlc/sdlc-thinking.yaml +67 -0
  253. package/packages/web/dist/web/browser/chunk-IPMFXW6N.js +0 -1
  254. package/packages/web/dist/web/browser/chunk-IX2QWMX2.js +0 -1
  255. package/packages/web/dist/web/browser/chunk-QMAH5NZC.js +0 -1
  256. package/packages/web/dist/web/browser/chunk-RGFLNLPM.js +0 -1
  257. package/packages/web/dist/web/browser/chunk-RKWDHBN3.js +0 -5
  258. package/packages/web/dist/web/browser/chunk-XGYEZIV4.js +0 -1
  259. package/packages/web/dist/web/browser/main-IIUZVPMI.js +0 -1
  260. package/skills/sdlc/architecture/SKILL.md +0 -218
  261. package/skills/sdlc/discovery/SKILL.md +0 -197
  262. package/skills/sdlc/feature-complete/SKILL.md +0 -159
  263. package/skills/sdlc/hotfix-analyze/SKILL.md +0 -198
  264. package/skills/sdlc/hotfix-implement/SKILL.md +0 -272
  265. package/skills/sdlc/hotfix-prd/SKILL.md +0 -161
  266. package/skills/sdlc/hotfix-review/SKILL.md +0 -153
  267. package/skills/sdlc/hotfix-ship/SKILL.md +0 -221
  268. package/skills/sdlc/implement/SKILL.md +0 -264
  269. package/skills/sdlc/prd/SKILL.md +0 -182
  270. package/skills/sdlc/review/SKILL.md +0 -210
  271. package/skills/sdlc/ship/SKILL.md +0 -194
  272. package/skills/sdlc/srs/SKILL.md +0 -148
  273. package/skills/sdlc/test-design/SKILL.md +0 -132
  274. package/skills/sdlc/workflows/master-sdlc.yaml +0 -35
  275. package/skills/sdlc/workflows/sdlc-build.yaml +0 -18
  276. package/skills/sdlc/workflows/sdlc-design.yaml +0 -14
  277. package/skills/sdlc/workflows/sdlc-qa.yaml +0 -20
  278. package/skills/sdlc/workflows/sdlc-testcase.yaml +0 -8
  279. package/skills/sdlc/workflows/sdlc-thinking.yaml +0 -12
  280. /package/{skills/sdlc/workflows → workflows/sdlc}/onboarding.yaml +0 -0
@@ -2,6 +2,7 @@ name: sdlc
2
2
  version: 1.2.0
3
3
  description: Distributed Agentic SDLC — multi-machine, multi-repo, graph-based knowledge
4
4
  author: "@ngocsangairvds/vsaf"
5
+ workflows: ../../workflows/sdlc
5
6
 
6
7
  skills:
7
8
  # Setup
@@ -13,24 +14,91 @@ skills:
13
14
  - onboard-code
14
15
 
15
16
  # Phase 1-9 — Main flow
16
- - discovery
17
- - prd
18
- - architecture
19
- - srs
20
17
  - write-srs
21
18
  - validate-srs
22
- - test-design
23
- - implement
24
- - review
25
- - feature-complete
26
- - ship
27
19
 
28
- # Hotfix flow
29
- - hotfix-analyze
30
- - hotfix-prd
31
- - hotfix-implement
32
- - hotfix-ship
33
- - hotfix-review
20
+ # Hotfix step skills — generated from hotfix phase SKILL.md files
21
+ - hotfix/analyze/entry
22
+ - hotfix/analyze/grill
23
+ - hotfix/analyze/gitnexus
24
+ - hotfix/analyze/reasoning
25
+ - hotfix/analyze/fix-strategy
26
+ - hotfix/analyze/write
27
+ - hotfix/analyze/exit
28
+ - hotfix/prd/entry
29
+ - hotfix/prd/requirements
30
+ - hotfix/prd/validate
31
+ - hotfix/prd/write
32
+ - hotfix/prd/gate
33
+ - hotfix/implement/entry
34
+ - hotfix/implement/branch
35
+ - hotfix/implement/tdd
36
+ - hotfix/implement/sonar
37
+ - hotfix/implement/verify
38
+ - hotfix/implement/impact
39
+ - hotfix/implement/gate
40
+ - hotfix/review/entry
41
+ - hotfix/review/minimality
42
+ - hotfix/review/test-quality
43
+ - hotfix/review/impact
44
+ - hotfix/review/gate
45
+ - hotfix/ship/entry
46
+ - hotfix/ship/gitignore
47
+ - hotfix/ship/test-gate
48
+ - hotfix/ship/commit-pr
49
+ - hotfix/ship/report
50
+ - hotfix/ship/exit
51
+
52
+
53
+ # Phase step skills — generated from phase SKILL.md files
54
+ - discovery/prereq
55
+ - discovery/system
56
+ - discovery/grill
57
+ - discovery/brainstorm
58
+ - discovery/domain
59
+ - discovery/prfaq
60
+ - prd/prereq
61
+ - prd/elicitation
62
+ - prd/create
63
+ - prd/validate
64
+ - prd/blast-radius
65
+ - architecture/prereq
66
+ - architecture/current-state
67
+ - architecture/grill
68
+ - architecture/decision
69
+ - architecture/epics
70
+ - architecture/readiness
71
+ - srs/prereq
72
+ - srs/write
73
+ - srs/validate
74
+ - srs/interface
75
+ - test-design/prereq
76
+ - test-design/cases
77
+ - test-design/boundary
78
+ - test-design/coverage
79
+ - implement/prereq
80
+ - implement/subagents
81
+ - implement/plan
82
+ - implement/checkpoint
83
+ - implement/tdd
84
+ - implement/debug
85
+ - implement/impact
86
+ - implement/build-run
87
+ - review/prereq
88
+ - review/verification
89
+ - review/code
90
+ - review/impact
91
+ - review/debate
92
+ - complete/prereq
93
+ - complete/context
94
+ - complete/knowledge
95
+ - complete/reindex
96
+ - complete/status
97
+ - ship/prereq
98
+ - ship/gitignore
99
+ - ship/commit
100
+ - ship/pr
101
+ - ship/report
34
102
 
35
103
  # Diagnostics
36
104
  - sdlc-health
@@ -62,4 +130,3 @@ bundled:
62
130
  - zoom-out
63
131
  - tdd
64
132
  - improve-codebase-architecture
65
-
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-prd-blast-radius
3
+ description: "PRD 5/5 — blast radius + output"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # PRD 5/5 — blast radius + output
9
+
10
+ @include(step.md)
@@ -0,0 +1,76 @@
1
+ ### Step 5: Blast Radius
2
+
3
+ ```
4
+ [PRD] [5/5] Assessing blast radius via GitNexus... ⏳
5
+ ```
6
+
7
+ Use GitNexus `impact` — assess scope of feature impact.
8
+ Write to `02-prd.md` §Blast Radius.
9
+
10
+ ```
11
+ [PRD] [5/5] Assessing blast radius via GitNexus... ✅
12
+ ```
13
+
14
+ ## Gate
15
+
16
+ Human must approve the PRD. Write `## Gate: APPROVED` at the end of the file.
17
+ Do NOT proceed to Phase 3 without the Gate marker.
18
+
19
+ **Automated mode (opt-in):** when the environment has `VSAF_CI=1` or `VSAF_AUTO_APPROVE=1`, write the Gate yourself as `## Gate: APPROVED (auto · VSAF_CI · rationale: <one line>)` and proceed — the one-line rationale is REQUIRED for audit. Without the env flag, a human must approve (default).
20
+
21
+ ## Output
22
+
23
+ Write file: `.vsaf/docs/features/{feature-name}/02-prd.md`
24
+
25
+ ```markdown
26
+ # PRD: {feature-name}
27
+
28
+ ## Grill Log
29
+ {elicitation Q&A}
30
+
31
+ ## Requirements
32
+ ### User Stories
33
+ {with acceptance criteria}
34
+ ### Functional Requirements
35
+ {FR-001, FR-002...}
36
+ ### Non-Functional Requirements
37
+ {NFR-001, NFR-002...}
38
+
39
+ ## Validation
40
+ {validate-prd result}
41
+
42
+ ## Adversarial
43
+ {adversarial findings}
44
+
45
+ ## Blast Radius
46
+ {GitNexus impact result}
47
+
48
+ ## Gate: {PENDING / APPROVED by {name} on {date}}
49
+ ```
50
+
51
+ ## Artifact Auto-Save
52
+
53
+ After writing the file, print the message:
54
+
55
+ > Artifacts saved. If the session is interrupted, open a new session and run the next phase — data is safe.
56
+
57
+ ## Phase Exit Protocol
58
+
59
+ Print PHASE REPORT:
60
+ - Feature: {feature-name}
61
+ - Status: COMPLETED
62
+ - Completed: elicitation, create PRD, validate, adversarial review, blast radius
63
+ - Output files: `.vsaf/docs/features/{feature-name}/02-prd.md`
64
+ - Suggested next steps:
65
+ [1] Phase 3 Architecture → `/sdlc-architecture`
66
+ [2] Save artifacts
67
+
68
+ Update `.vsaf/docs/STATUS.md`.
69
+
70
+ ## Rules
71
+
72
+ - ⛔ Do NOT skip elicitation — Shared Understanding is mandatory
73
+ - ⛔ Do NOT modify `graphify-out/` or `.gitnexus/`
74
+ - Every user story MUST have acceptance criteria
75
+ - Every FR/NFR MUST have a unique ID
76
+ - Do NOT proceed if blast radius = HIGH without human approval
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-prd-create
3
+ description: "PRD 3/5 — create PRD"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # PRD 3/5 — create PRD
9
+
10
+ @include(step.md)
@@ -0,0 +1,21 @@
1
+ ### Step 3: Create PRD
2
+
3
+ ```
4
+ [PRD] [3/5] Creating PRD from grill results... ⏳
5
+ ```
6
+
7
+ Use `/bmad-create-prd` — create structured PRD from grill results (Step 2).
8
+
9
+ Ensure the output covers:
10
+
11
+ 1. **Goals** — business goals + success metrics
12
+ 2. **User Stories** — each MUST have acceptance criteria (Given/When/Then)
13
+ 3. **Functional Requirements** — unique ID per requirement (FR-001, FR-002...)
14
+ 4. **Non-Functional Requirements** — unique ID (NFR-001, NFR-002...) — performance, security, scalability
15
+ 5. **Success Metrics** — measurable KPIs tied to goals
16
+
17
+ Write to `02-prd.md` §Requirements.
18
+
19
+ ```
20
+ [PRD] [3/5] Creating PRD from grill results... ✅
21
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-prd-elicitation
3
+ description: "PRD 2/5 — elicitation"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # PRD 2/5 — elicitation
9
+
10
+ @include(step.md)
@@ -0,0 +1,12 @@
1
+ ### Step 2: Elicitation (Grill Session)
2
+
3
+ ```
4
+ [PRD] [2/5] Grill session — elicitation probing edge cases... ⏳
5
+ ```
6
+
7
+ Use `/bmad-advanced-elicitation` — grill 40-100 questions probing edge cases.
8
+ Record results in `02-prd.md` §Grill Log.
9
+
10
+ ```
11
+ [PRD] [2/5] Grill session — elicitation probing edge cases... ✅
12
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-prd-prereq
3
+ description: "PRD 1/5 — prerequisites"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # PRD 1/5 — prerequisites
9
+
10
+ @include(step.md)
@@ -0,0 +1,16 @@
1
+ ## Phase Entry Protocol
2
+
3
+ ```
4
+ [PRD] [1/5] Checking prerequisites... ⏳
5
+ ```
6
+
7
+ 1. Input: `.vsaf/docs/features/{feature-name}/01-discovery.md`
8
+ 2. Check if file exists:
9
+ - Does not exist → Ask: "File not found. Have you run Phase 1 Discovery?"
10
+ 3. Read `.vsaf/docs/STATUS.md`
11
+ 4. Read `CONTEXT.md`
12
+ 5. Query `graph.json` for business domain context
13
+
14
+ ```
15
+ [PRD] [1/5] Checking prerequisites... ✅
16
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-prd-validate
3
+ description: "PRD 4/5 — validate + adversarial review"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # PRD 4/5 — validate + adversarial review
9
+
10
+ @include(step.md)
@@ -0,0 +1,24 @@
1
+ ### Step 4: Validate + Adversarial Review
2
+
3
+ ```
4
+ [PRD] [4/5] Validate + adversarial review... ⏳
5
+ ```
6
+
7
+ **4a — Validate PRD:**
8
+
9
+ Use `/bmad-validate-prd` — validate the PRD against BMAD standards:
10
+ - Completeness — all user stories covered by FRs? All FRs traceable to a user story?
11
+ - Clarity — any ambiguous requirements? Can each FR be implemented without guessing?
12
+ - Testability — can each FR be verified with a test case?
13
+ - Consistency — any FRs that contradict each other?
14
+
15
+ Write to `02-prd.md` §Validation. If FAIL → fix inline, re-validate.
16
+
17
+ **4b — Adversarial review:**
18
+
19
+ Use `/bmad-review-adversarial-general` — cynical review to find gaps.
20
+ Write to `02-prd.md` §Adversarial.
21
+
22
+ ```
23
+ [PRD] [4/5] Validate + adversarial review... ✅
24
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-review-code
3
+ description: "Review 3/5 — code review + quality gate"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Review 3/5 — code review + quality gate
9
+
10
+ @include(step.md)
@@ -0,0 +1,45 @@
1
+ ### Step 3: Code Review
2
+
3
+ ```
4
+ [REVIEW] [3/5] Adversarial code review... ⏳
5
+ ```
6
+
7
+ Use `/bmad-code-review` — adversarial code review on the feature branch diff with parallel review layers (Blind Hunter, Edge Case Hunter, Acceptance Auditor).
8
+
9
+ Ensure the review covers:
10
+
11
+ 1. **Security scan** — SQL injection, XSS, command injection, hardcoded secrets, insecure deserialization
12
+ 2. **Data integrity** — null dereference, resource leaks, race conditions, missing transactions
13
+ 3. **SOLID violations** — god classes, leaky abstractions, interface segregation
14
+ 4. **Naming consistency** — verify against CONTEXT.md terminology
15
+ 5. **SRS compliance** — every FR/NFR implemented? Any extra scope not in SRS?
16
+
17
+ Classify each finding: MUST FIX / SHOULD FIX / NOTED.
18
+ Write to `08-review.md` §Code Review.
19
+
20
+ #### Quality Gate Re-check (SonarQube)
21
+
22
+ **IMPORTANT:** SonarQube rules were already applied in Phase 6 (Implementation). The Review phase only RE-CHECKS — confirming that code still meets standards after all changes.
23
+
24
+ Verify that code meets the `sonar-viettel` Quality Gate.
25
+
26
+ > **Standard (single source of truth):** **`.claude/skills/_shared/sdlc/sonar-viettel/quality-gate.md`** — the full New Code + Overall Code tables, the 357-rule parameters, and the importable `sonar-viettel-profile.xml` / `sonar-viettel-gate.json`. This is the **same** file Phase 6 (`/sdlc-implement`) coded against — review only confirms compliance, do not change the numbers.
27
+
28
+ **Hard fails to confirm (summary — see the shared doc for the full gate):**
29
+ - New Code: Issues / Blocker / Critical / Major / Vulnerabilities = **0**; Code Smells **≤ 20**; Security Hotspots Reviewed = **100%**; Duplicated **≤ 45%**; Maintainability / Reliability / Security Rating **≥ A**.
30
+ - Overall Code: Bugs = **0**; Code Smells **≤ 50**; same Blocker/Critical/Major/Vuln/Duplication/rating rules.
31
+
32
+ **How to execute (auto-detect — check whether `sonar-scanner` is on PATH):**
33
+ - SonarQube present → ensure it uses the `sonar-viettel` Profile + Gate (import from the shared folder if missing), run `sonar-scanner`, and check the report
34
+ - SonarQube absent → print `Sonar not found → self-checklist mode` and perform a manual re-check against the shared `quality-gate.md` (a fully supported path — SonarQube is OPTIONAL):
35
+ - Scan for security vulnerabilities (SQL injection, XSS, command injection, hardcoded secrets)
36
+ - Scan for bugs (null dereference, resource leaks, concurrency issues)
37
+ - Scan for code smells (long methods, deep nesting, duplicated blocks)
38
+ - Verify naming conventions, SOLID principles, duplicated blocks
39
+ - Write results to `08-review.md` §Quality Gate
40
+
41
+ **Quality Gate FAIL** → classify each issue as MUST FIX / SHOULD FIX / NOTED per the triage rules below.
42
+
43
+ ```
44
+ [REVIEW] [3/5] Adversarial code review + Quality Gate re-check... ✅
45
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-review-debate
3
+ description: "Review 5/5 — debate + output"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Review 5/5 — debate + output
9
+
10
+ @include(step.md)
@@ -0,0 +1,84 @@
1
+ ### Step 5: Debate (complex features only)
2
+
3
+ ```
4
+ [REVIEW] [5/5] Multi-agent debate (if needed)... ⏳
5
+ ```
6
+
7
+ Use `/bmad-party-mode` — multi-agent debate:
8
+ - Security vs Performance vs Maintainability
9
+ Write to `08-review.md` §Debate.
10
+
11
+ ```
12
+ [REVIEW] [5/5] Multi-agent debate... ✅
13
+ ```
14
+
15
+ ## Gate
16
+
17
+ MUST FIX = 0, Human approve.
18
+
19
+ **Automated mode (opt-in):** when `VSAF_CI=1` or `VSAF_AUTO_APPROVE=1` is set AND MUST FIX = 0, write `## Gate: APPROVED (auto · VSAF_CI · rationale: <one line>)` and proceed. If MUST FIX > 0, NEVER auto-approve — return to Phase 6 (Implement) regardless of the flag. Without the env flag, a human must approve (default).
20
+
21
+ Triage:
22
+ - **MUST FIX**: Security, data loss, SRS FR/NFR not satisfied, crash → Blocks ship
23
+ - **SHOULD FIX**: Performance, maintainability → Fix if time allows
24
+ - **NOTED**: Style, minor naming → Log only
25
+
26
+ If MUST FIX > 0 → return to Phase 6 (Implementation) with specific issues.
27
+
28
+ ## Output
29
+
30
+ Write file: `.vsaf/docs/features/{feature-name}/08-review.md`
31
+
32
+ ```markdown
33
+ # Review: {feature-name}
34
+
35
+ ## Verification
36
+ - Build: PASS/FAIL
37
+ - Tests: {X}/{Y} passed
38
+ - Uncommitted files: none
39
+ - Scope: matches SRS ✓
40
+
41
+ ## Code Review
42
+ ### MUST FIX
43
+ - (none)
44
+ ### SHOULD FIX
45
+ - {issue description}
46
+ ### NOTED
47
+ - {minor items}
48
+
49
+ ## Quality Gate (Re-check)
50
+ - SonarQube: {available / manual re-check}
51
+ - New Code: {PASS/FAIL} — Issues={N}, Blocker={N}, Critical={N}, Major={N}, Smells={N}, Vulns={N}, Duplication={N}%
52
+ - Overall: {PASS/FAIL} — Bugs={N}, Blocker={N}, Critical={N}, Major={N}, Smells={N}, Vulns={N}, Duplication={N}%
53
+ - Compile: PASS/FAIL
54
+ - Runtime: PASS/FAIL
55
+
56
+ ## Impact
57
+ - Files changed: {N}
58
+ - Blast radius: {low/medium/high}
59
+ - Confidence: {%}
60
+
61
+ ## Debate (if applicable)
62
+ {party-mode findings}
63
+
64
+ ## Gate: {PENDING / APPROVED by {name} on {date}}
65
+ ```
66
+
67
+ ## Phase Exit Protocol
68
+
69
+ Print PHASE REPORT:
70
+ - Results: MUST FIX = {N}, SHOULD FIX = {N}, NOTED = {N}
71
+ - Output files: `08-review.md`
72
+ - Suggestion: [1] `/sdlc-feature-complete` (if APPROVED) [2] Return to Phase 6 (if MUST FIX > 0)
73
+
74
+ Update `.vsaf/docs/STATUS.md`.
75
+
76
+ ## Rules
77
+
78
+ - Review against SRS (spec), NOT against code implementation
79
+ - Max 2 review rounds — if still failing → escalate to human
80
+ - MUST FIX items MUST be resolved before feature-complete
81
+ - **Quality Gate FAIL = MUST FIX** — Blocker, Critical, Vulnerability all block ship
82
+ - **Code does not compile = MUST FIX** — hard gate, no exceptions
83
+ - If there is no SonarQube, Claude performs a manual quality gate re-check
84
+ - **SonarQube only RE-CHECKS** — rules were applied in Phase 6, review only confirms compliance
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-review-impact
3
+ description: "Review 4/5 — impact assessment"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Review 4/5 — impact assessment
9
+
10
+ @include(step.md)
@@ -0,0 +1,14 @@
1
+ ### Step 4: Impact Assessment
2
+
3
+ ```
4
+ [REVIEW] [4/5] Impact assessment via GitNexus... ⏳
5
+ ```
6
+
7
+ Use GitNexus `detect_changes` + `impact`:
8
+ - Confirm only expected files changed
9
+ - Blast radius confidence scoring
10
+ Write to `08-review.md` §Impact.
11
+
12
+ ```
13
+ [REVIEW] [4/5] Impact assessment... ✅
14
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-review-prereq
3
+ description: "Review 1/5 — prerequisites"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Review 1/5 — prerequisites
9
+
10
+ @include(step.md)
@@ -0,0 +1,18 @@
1
+ ## Phase Entry Protocol
2
+
3
+ ```
4
+ [REVIEW] [1/5] Checking prerequisites... ⏳
5
+ ```
6
+
7
+ 1. Input:
8
+ - `.vsaf/docs/features/{feature-name}/05-srs.md`
9
+ - Code diff on feature branch
10
+ 2. Check that SRS file exists
11
+ 3. Check that feature branch exists
12
+ 4. Read `.vsaf/docs/STATUS.md`
13
+ 5. Read `CONTEXT.md`
14
+ 6. Query `graph.json` for impact verification
15
+
16
+ ```
17
+ [REVIEW] [1/5] Checking prerequisites... ✅
18
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-review-verification
3
+ description: "Review 2/5 — system verification"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Review 2/5 — system verification
9
+
10
+ @include(step.md)
@@ -0,0 +1,16 @@
1
+ ### Step 2: System Verification
2
+
3
+ ```
4
+ [REVIEW] [2/5] System verification — build, tests, scope... ⏳
5
+ ```
6
+
7
+ Use `/superpowers:verification-before-completion`:
8
+ - Build passes
9
+ - All tests GREEN
10
+ - No uncommitted files
11
+ - Scope matches SRS
12
+ Write to `08-review.md` §Verification.
13
+
14
+ ```
15
+ [REVIEW] [2/5] System verification... ✅
16
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-ship-commit
3
+ description: "Ship 3/5 — merge strategy + commit"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Ship 3/5 — merge strategy + commit
9
+
10
+ @include(step.md)
@@ -0,0 +1,23 @@
1
+ ### Step 3: Merge Strategy + Commit
2
+
3
+ ```
4
+ [SHIP] [3/5] Commit source code + .vsaf/docs/... ⏳
5
+ ```
6
+
7
+ Use `/superpowers:finishing-a-development-branch`:
8
+ - Decide merge strategy (merge commit / squash / rebase)
9
+ - Resolve conflicts if any
10
+ - Verify final build passes
11
+
12
+ **Commit scope — ONLY commit:**
13
+ - Source code changes (implementation / fix)
14
+ - `.vsaf/docs/` folder (artifacts, CONTEXT.md, KNOWLEDGE.md, STATUS.md)
15
+ - `.gitignore` (if updated)
16
+
17
+ **DO NOT commit:**
18
+ - `graphify-out/` — local graph index
19
+ - `.gitnexus/` — local code index
20
+
21
+ ```
22
+ [SHIP] [3/5] Commit source code + .vsaf/docs/... ✅
23
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-ship-gitignore
3
+ description: "Ship 2/5 — .gitignore enforcement"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Ship 2/5 — .gitignore enforcement
9
+
10
+ @include(step.md)
@@ -0,0 +1,22 @@
1
+ ### Step 2: .gitignore Enforcement
2
+
3
+ ```
4
+ [SHIP] [2/5] Checking .gitignore — ensuring index files are not committed... ⏳
5
+ ```
6
+
7
+ **MANDATORY** — MUST verify before committing:
8
+
9
+ 1. Check that `.gitignore` contains:
10
+ ```
11
+ graphify-out/
12
+ .gitnexus/
13
+ ```
14
+ 2. If MISSING → **AUTOMATICALLY add to `.gitignore`** and notify user
15
+ 3. Verify with `git status` — `graphify-out/` and `.gitnexus/` DO NOT appear in staged/unstaged files
16
+ 4. If they still appear → `git rm --cached -r graphify-out/ .gitnexus/` before committing
17
+
18
+ ⚠️ **ABSOLUTELY DO NOT commit `graphify-out/` or `.gitnexus/`** — these are local indexes, each machine builds its own.
19
+
20
+ ```
21
+ [SHIP] [2/5] Checking .gitignore... ✅
22
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-ship-pr
3
+ description: "Ship 4/5 — push + PR"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Ship 4/5 — push + PR
9
+
10
+ @include(step.md)