@ngocsangairvds/vsaf 5.1.4 → 5.1.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.
Files changed (217) 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 +7 -2
  4. package/packages/cli/dist/adapters/antigravity.js.map +1 -1
  5. package/packages/cli/dist/adapters/codex.js +1 -1
  6. package/packages/cli/dist/adapters/codex.js.map +1 -1
  7. package/packages/cli/dist/adapters/cursor.js +1 -1
  8. package/packages/cli/dist/adapters/cursor.js.map +1 -1
  9. package/packages/cli/dist/commands/install.d.ts.map +1 -1
  10. package/packages/cli/dist/commands/install.js +21 -1
  11. package/packages/cli/dist/commands/install.js.map +1 -1
  12. package/packages/cli/dist/commands/skill.d.ts.map +1 -1
  13. package/packages/cli/dist/commands/skill.js +5 -2
  14. package/packages/cli/dist/commands/skill.js.map +1 -1
  15. package/skills/sdlc/architecture/current-state/SKILL.md +10 -0
  16. package/skills/sdlc/architecture/current-state/step.md +13 -0
  17. package/skills/sdlc/architecture/decision/SKILL.md +10 -0
  18. package/skills/sdlc/architecture/decision/step.md +21 -0
  19. package/skills/sdlc/architecture/epics/SKILL.md +10 -0
  20. package/skills/sdlc/architecture/epics/step.md +34 -0
  21. package/skills/sdlc/architecture/grill/SKILL.md +10 -0
  22. package/skills/sdlc/architecture/grill/step.md +26 -0
  23. package/skills/sdlc/architecture/prereq/SKILL.md +10 -0
  24. package/skills/sdlc/architecture/prereq/step.md +16 -0
  25. package/skills/sdlc/architecture/readiness/SKILL.md +10 -0
  26. package/skills/sdlc/architecture/readiness/step.md +76 -0
  27. package/skills/sdlc/complete/context/SKILL.md +10 -0
  28. package/skills/sdlc/complete/context/step.md +14 -0
  29. package/skills/sdlc/complete/knowledge/SKILL.md +10 -0
  30. package/skills/sdlc/complete/knowledge/step.md +22 -0
  31. package/skills/sdlc/complete/prereq/SKILL.md +10 -0
  32. package/skills/sdlc/complete/prereq/step.md +16 -0
  33. package/skills/sdlc/complete/reindex/SKILL.md +10 -0
  34. package/skills/sdlc/complete/reindex/step.md +24 -0
  35. package/skills/sdlc/complete/status/SKILL.md +10 -0
  36. package/skills/sdlc/complete/status/step.md +52 -0
  37. package/skills/sdlc/discovery/brainstorm/SKILL.md +10 -0
  38. package/skills/sdlc/discovery/brainstorm/step.md +27 -0
  39. package/skills/sdlc/discovery/domain/SKILL.md +10 -0
  40. package/skills/sdlc/discovery/domain/step.md +13 -0
  41. package/skills/sdlc/discovery/grill/SKILL.md +10 -0
  42. package/skills/sdlc/discovery/grill/step.md +22 -0
  43. package/skills/sdlc/discovery/prereq/SKILL.md +10 -0
  44. package/skills/sdlc/discovery/prereq/step.md +16 -0
  45. package/skills/sdlc/discovery/prfaq/SKILL.md +10 -0
  46. package/skills/sdlc/discovery/prfaq/step.md +68 -0
  47. package/skills/sdlc/discovery/system/SKILL.md +10 -0
  48. package/skills/sdlc/discovery/system/step.md +19 -0
  49. package/skills/sdlc/hotfix/analyze/entry/SKILL.md +10 -0
  50. package/skills/sdlc/hotfix/analyze/entry/step.md +15 -0
  51. package/skills/sdlc/hotfix/analyze/exit/SKILL.md +10 -0
  52. package/skills/sdlc/hotfix/analyze/exit/step.md +19 -0
  53. package/skills/sdlc/hotfix/analyze/fix-strategy/SKILL.md +10 -0
  54. package/skills/sdlc/hotfix/analyze/fix-strategy/step.md +15 -0
  55. package/skills/sdlc/hotfix/analyze/gitnexus/SKILL.md +10 -0
  56. package/skills/sdlc/hotfix/analyze/gitnexus/step.md +17 -0
  57. package/skills/sdlc/hotfix/analyze/grill/SKILL.md +10 -0
  58. package/skills/sdlc/hotfix/analyze/grill/step.md +23 -0
  59. package/skills/sdlc/hotfix/analyze/reasoning/SKILL.md +10 -0
  60. package/skills/sdlc/hotfix/analyze/reasoning/step.md +29 -0
  61. package/skills/sdlc/hotfix/analyze/write/SKILL.md +10 -0
  62. package/skills/sdlc/hotfix/analyze/write/step.md +45 -0
  63. package/skills/sdlc/hotfix/implement/branch/SKILL.md +10 -0
  64. package/skills/sdlc/hotfix/implement/branch/step.md +15 -0
  65. package/skills/sdlc/hotfix/implement/entry/SKILL.md +10 -0
  66. package/skills/sdlc/hotfix/implement/entry/step.md +20 -0
  67. package/skills/sdlc/hotfix/implement/gate/SKILL.md +10 -0
  68. package/skills/sdlc/hotfix/implement/gate/step.md +104 -0
  69. package/skills/sdlc/hotfix/implement/impact/SKILL.md +10 -0
  70. package/skills/sdlc/hotfix/implement/impact/step.md +15 -0
  71. package/skills/sdlc/hotfix/implement/sonar/SKILL.md +10 -0
  72. package/skills/sdlc/hotfix/implement/sonar/step.md +27 -0
  73. package/skills/sdlc/hotfix/implement/tdd/SKILL.md +10 -0
  74. package/skills/sdlc/hotfix/implement/tdd/step.md +33 -0
  75. package/skills/sdlc/hotfix/implement/verify/SKILL.md +10 -0
  76. package/skills/sdlc/hotfix/implement/verify/step.md +27 -0
  77. package/skills/sdlc/hotfix/prd/entry/SKILL.md +10 -0
  78. package/skills/sdlc/hotfix/prd/entry/step.md +20 -0
  79. package/skills/sdlc/hotfix/prd/gate/SKILL.md +10 -0
  80. package/skills/sdlc/hotfix/prd/gate/step.md +32 -0
  81. package/skills/sdlc/hotfix/prd/requirements/SKILL.md +10 -0
  82. package/skills/sdlc/hotfix/prd/requirements/step.md +19 -0
  83. package/skills/sdlc/hotfix/prd/validate/SKILL.md +10 -0
  84. package/skills/sdlc/hotfix/prd/validate/step.md +19 -0
  85. package/skills/sdlc/hotfix/prd/write/SKILL.md +10 -0
  86. package/skills/sdlc/hotfix/prd/write/step.md +38 -0
  87. package/skills/sdlc/hotfix/review/entry/SKILL.md +10 -0
  88. package/skills/sdlc/hotfix/review/entry/step.md +13 -0
  89. package/skills/sdlc/hotfix/review/gate/SKILL.md +10 -0
  90. package/skills/sdlc/hotfix/review/gate/step.md +51 -0
  91. package/skills/sdlc/hotfix/review/impact/SKILL.md +10 -0
  92. package/skills/sdlc/hotfix/review/impact/step.md +22 -0
  93. package/skills/sdlc/hotfix/review/minimality/SKILL.md +10 -0
  94. package/skills/sdlc/hotfix/review/minimality/step.md +18 -0
  95. package/skills/sdlc/hotfix/review/test-quality/SKILL.md +10 -0
  96. package/skills/sdlc/hotfix/review/test-quality/step.md +16 -0
  97. package/skills/sdlc/hotfix/ship/commit-pr/SKILL.md +10 -0
  98. package/skills/sdlc/hotfix/ship/commit-pr/step.md +58 -0
  99. package/skills/sdlc/hotfix/ship/entry/SKILL.md +10 -0
  100. package/skills/sdlc/hotfix/ship/entry/step.md +20 -0
  101. package/skills/sdlc/hotfix/ship/exit/SKILL.md +10 -0
  102. package/skills/sdlc/hotfix/ship/exit/step.md +31 -0
  103. package/skills/sdlc/hotfix/ship/gitignore/SKILL.md +10 -0
  104. package/skills/sdlc/hotfix/ship/gitignore/step.md +22 -0
  105. package/skills/sdlc/hotfix/ship/report/SKILL.md +10 -0
  106. package/skills/sdlc/hotfix/ship/report/step.md +47 -0
  107. package/skills/sdlc/hotfix/ship/test-gate/SKILL.md +10 -0
  108. package/skills/sdlc/hotfix/ship/test-gate/step.md +17 -0
  109. package/skills/sdlc/implement/build-run/SKILL.md +10 -0
  110. package/skills/sdlc/implement/build-run/step.md +85 -0
  111. package/skills/sdlc/implement/checkpoint/SKILL.md +10 -0
  112. package/skills/sdlc/implement/checkpoint/step.md +20 -0
  113. package/skills/sdlc/implement/debug/SKILL.md +10 -0
  114. package/skills/sdlc/implement/debug/step.md +25 -0
  115. package/skills/sdlc/implement/impact/SKILL.md +10 -0
  116. package/skills/sdlc/implement/impact/step.md +12 -0
  117. package/skills/sdlc/implement/plan/SKILL.md +10 -0
  118. package/skills/sdlc/implement/plan/step.md +13 -0
  119. package/skills/sdlc/implement/prereq/SKILL.md +10 -0
  120. package/skills/sdlc/implement/prereq/step.md +21 -0
  121. package/skills/sdlc/implement/subagents/SKILL.md +10 -0
  122. package/skills/sdlc/implement/subagents/step.md +38 -0
  123. package/skills/sdlc/implement/tdd/SKILL.md +10 -0
  124. package/skills/sdlc/implement/tdd/step.md +24 -0
  125. package/skills/sdlc/init/SKILL.md +7 -0
  126. package/skills/sdlc/onboard-code/SKILL.md +7 -0
  127. package/skills/sdlc/onboard-docs/SKILL.md +7 -0
  128. package/skills/sdlc/pack.yaml +83 -16
  129. package/skills/sdlc/prd/blast-radius/SKILL.md +10 -0
  130. package/skills/sdlc/prd/blast-radius/step.md +76 -0
  131. package/skills/sdlc/prd/create/SKILL.md +10 -0
  132. package/skills/sdlc/prd/create/step.md +21 -0
  133. package/skills/sdlc/prd/elicitation/SKILL.md +10 -0
  134. package/skills/sdlc/prd/elicitation/step.md +12 -0
  135. package/skills/sdlc/prd/prereq/SKILL.md +10 -0
  136. package/skills/sdlc/prd/prereq/step.md +16 -0
  137. package/skills/sdlc/prd/validate/SKILL.md +10 -0
  138. package/skills/sdlc/prd/validate/step.md +24 -0
  139. package/skills/sdlc/review/code/SKILL.md +10 -0
  140. package/skills/sdlc/review/code/step.md +45 -0
  141. package/skills/sdlc/review/debate/SKILL.md +10 -0
  142. package/skills/sdlc/review/debate/step.md +84 -0
  143. package/skills/sdlc/review/impact/SKILL.md +10 -0
  144. package/skills/sdlc/review/impact/step.md +14 -0
  145. package/skills/sdlc/review/prereq/SKILL.md +10 -0
  146. package/skills/sdlc/review/prereq/step.md +18 -0
  147. package/skills/sdlc/review/verification/SKILL.md +10 -0
  148. package/skills/sdlc/review/verification/step.md +16 -0
  149. package/skills/sdlc/ship/commit/SKILL.md +10 -0
  150. package/skills/sdlc/ship/commit/step.md +23 -0
  151. package/skills/sdlc/ship/gitignore/SKILL.md +10 -0
  152. package/skills/sdlc/ship/gitignore/step.md +22 -0
  153. package/skills/sdlc/ship/pr/SKILL.md +10 -0
  154. package/skills/sdlc/ship/pr/step.md +34 -0
  155. package/skills/sdlc/ship/prereq/SKILL.md +10 -0
  156. package/skills/sdlc/ship/prereq/step.md +16 -0
  157. package/skills/sdlc/ship/report/SKILL.md +10 -0
  158. package/skills/sdlc/ship/report/step.md +74 -0
  159. package/skills/sdlc/srs/interface/SKILL.md +10 -0
  160. package/skills/sdlc/srs/interface/step.md +44 -0
  161. package/skills/sdlc/srs/prereq/SKILL.md +10 -0
  162. package/skills/sdlc/srs/prereq/step.md +19 -0
  163. package/skills/sdlc/srs/validate/SKILL.md +10 -0
  164. package/skills/sdlc/srs/validate/step.md +23 -0
  165. package/skills/sdlc/srs/write/SKILL.md +10 -0
  166. package/skills/sdlc/srs/write/step.md +19 -0
  167. package/skills/sdlc/test-design/boundary/SKILL.md +10 -0
  168. package/skills/sdlc/test-design/boundary/step.md +12 -0
  169. package/skills/sdlc/test-design/cases/SKILL.md +10 -0
  170. package/skills/sdlc/test-design/cases/step.md +22 -0
  171. package/skills/sdlc/test-design/coverage/SKILL.md +10 -0
  172. package/skills/sdlc/test-design/coverage/step.md +63 -0
  173. package/skills/sdlc/test-design/prereq/SKILL.md +10 -0
  174. package/skills/sdlc/test-design/prereq/step.md +15 -0
  175. package/{skills/sdlc/workflows → workflows/sdlc}/hotfix-tdd.yaml +2 -1
  176. package/{skills/sdlc/workflows → workflows/sdlc}/hotfix.yaml +8 -4
  177. package/workflows/sdlc/master-sdlc.yaml +64 -0
  178. package/workflows/sdlc/sdlc-architecture.yaml +43 -0
  179. package/workflows/sdlc/sdlc-build.yaml +51 -0
  180. package/workflows/sdlc/sdlc-design.yaml +61 -0
  181. package/workflows/sdlc/sdlc-discovery.yaml +43 -0
  182. package/workflows/sdlc/sdlc-feature-complete.yaml +36 -0
  183. package/workflows/sdlc/sdlc-hotfix-analyze.yaml +43 -0
  184. package/workflows/sdlc/sdlc-hotfix-implement.yaml +43 -0
  185. package/workflows/sdlc/sdlc-hotfix-prd.yaml +31 -0
  186. package/workflows/sdlc/sdlc-hotfix-review.yaml +31 -0
  187. package/workflows/sdlc/sdlc-hotfix-ship.yaml +37 -0
  188. package/workflows/sdlc/sdlc-implement.yaml +60 -0
  189. package/workflows/sdlc/sdlc-prd.yaml +36 -0
  190. package/workflows/sdlc/sdlc-qa.yaml +91 -0
  191. package/workflows/sdlc/sdlc-review.yaml +36 -0
  192. package/workflows/sdlc/sdlc-ship.yaml +36 -0
  193. package/workflows/sdlc/sdlc-srs.yaml +29 -0
  194. package/workflows/sdlc/sdlc-test-design.yaml +29 -0
  195. package/workflows/sdlc/sdlc-testcase.yaml +25 -0
  196. package/workflows/sdlc/sdlc-thinking.yaml +67 -0
  197. package/skills/sdlc/architecture/SKILL.md +0 -218
  198. package/skills/sdlc/discovery/SKILL.md +0 -197
  199. package/skills/sdlc/feature-complete/SKILL.md +0 -159
  200. package/skills/sdlc/hotfix-analyze/SKILL.md +0 -198
  201. package/skills/sdlc/hotfix-implement/SKILL.md +0 -272
  202. package/skills/sdlc/hotfix-prd/SKILL.md +0 -161
  203. package/skills/sdlc/hotfix-review/SKILL.md +0 -153
  204. package/skills/sdlc/hotfix-ship/SKILL.md +0 -221
  205. package/skills/sdlc/implement/SKILL.md +0 -264
  206. package/skills/sdlc/prd/SKILL.md +0 -182
  207. package/skills/sdlc/review/SKILL.md +0 -210
  208. package/skills/sdlc/ship/SKILL.md +0 -194
  209. package/skills/sdlc/srs/SKILL.md +0 -148
  210. package/skills/sdlc/test-design/SKILL.md +0 -132
  211. package/skills/sdlc/workflows/master-sdlc.yaml +0 -55
  212. package/skills/sdlc/workflows/sdlc-build.yaml +0 -18
  213. package/skills/sdlc/workflows/sdlc-design.yaml +0 -14
  214. package/skills/sdlc/workflows/sdlc-qa.yaml +0 -20
  215. package/skills/sdlc/workflows/sdlc-testcase.yaml +0 -8
  216. package/skills/sdlc/workflows/sdlc-thinking.yaml +0 -12
  217. /package/{skills/sdlc/workflows → workflows/sdlc}/onboarding.yaml +0 -0
@@ -0,0 +1,76 @@
1
+ ### Step 6: Readiness Check
2
+
3
+ ```
4
+ [ARCHITECTURE] [6/6] Checking implementation readiness... ⏳
5
+ ```
6
+
7
+ Use `/bmad-check-implementation-readiness` — validate architecture is clear enough to implement:
8
+
9
+ 1. **PRD coverage** — every FR traceable to at least one epic/story?
10
+ 2. **Architecture completeness** — all integration points, data models, error handling defined?
11
+ 3. **Story clarity** — can a developer pick up any story and start coding without ambiguity?
12
+ 4. **Conflict map** — any file claimed by multiple epics without resolution?
13
+
14
+ Write to `03-adr.md` §Readiness. If FAIL → record what's missing, fix ADR or PRD.
15
+
16
+ ```
17
+ [ARCHITECTURE] [6/6] Checking implementation readiness... ✅
18
+ ```
19
+
20
+ ## Gate
21
+
22
+ Readiness = PASS to proceed to Phase 4.
23
+ If FAIL → record reasoning, go back to fix ADR or PRD.
24
+
25
+ ## Output
26
+
27
+ - `.vsaf/docs/features/{feature-name}/03-adr.md`
28
+ - `.vsaf/docs/features/{feature-name}/04-epics.md`
29
+
30
+ ### 03-adr.md template:
31
+
32
+ ```markdown
33
+ # ADR: {feature-name}
34
+
35
+ ## Current State
36
+ {from GitNexus context + api_impact}
37
+
38
+ ## Grill Session
39
+ {questions and answers from bmad-advanced-elicitation}
40
+
41
+ ## Decision
42
+ {from bmad-create-architecture, based on grill answers}
43
+ {clearly state: "Based on answer X → chose approach Y because Z"}
44
+
45
+ ## Readiness
46
+ {from bmad-check-implementation-readiness}
47
+ ```
48
+
49
+ ## Artifact Auto-Save
50
+
51
+ After writing the file, print the message:
52
+
53
+ > Artifacts saved. If the session is interrupted, open a new session and run the next phase — data is safe.
54
+
55
+ ## Phase Exit Protocol
56
+
57
+ Print PHASE REPORT:
58
+ - Feature: {feature-name}
59
+ - Status: COMPLETED
60
+ - Completed: current state analysis, grill session, architecture decision, epic breakdown, readiness check
61
+ - Output files: `03-adr.md`, `04-epics.md`
62
+ - Suggested next steps:
63
+ [1] Phase 4 SRS → `/sdlc-srs`
64
+ [2] Save artifacts
65
+
66
+ Update `.vsaf/docs/STATUS.md`.
67
+
68
+ ## Rules
69
+
70
+ - ⛔ Do NOT design architecture before asking — Grill session MUST happen before architecture decision
71
+ - ⛔ Do NOT modify `graphify-out/` or `.gitnexus/`
72
+ - Every story MUST be a vertical slice (DB→API→UI), NOT a horizontal layer
73
+ - Conflict Map MUST be clear: which file belongs to which epic, what rules apply for shared files
74
+ - ADR is append-only: after approval do not edit, only create a new ADR to supersede
75
+ - If multi-repo: clearly specify which repo belongs to which epic
76
+ - Architecture decisions MUST reference specific answers from the grill session
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-complete-context
3
+ description: "Feature Complete 2/5 — update CONTEXT"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Feature Complete 2/5 — update CONTEXT
9
+
10
+ @include(step.md)
@@ -0,0 +1,14 @@
1
+ ### Step 2: Update CONTEXT.md
2
+
3
+ ```
4
+ [FEATURE-COMPLETE] [2/5] Updating CONTEXT.md — extracting new terminology... ⏳
5
+ ```
6
+
7
+ Read all artifacts in `.vsaf/docs/features/{feature-name}/`:
8
+ - Extract new terminology that emerged during the development process
9
+ - Append to `CONTEXT.md` §Shared Language table
10
+ - Only add terminology that is TRULY new — no duplicates
11
+
12
+ ```
13
+ [FEATURE-COMPLETE] [2/5] Updating CONTEXT.md... ✅
14
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-complete-knowledge
3
+ description: "Feature Complete 3/5 — update KNOWLEDGE"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Feature Complete 3/5 — update KNOWLEDGE
9
+
10
+ @include(step.md)
@@ -0,0 +1,22 @@
1
+ ### Step 3: Update KNOWLEDGE.md
2
+
3
+ ```
4
+ [FEATURE-COMPLETE] [3/5] Updating KNOWLEDGE.md — patterns, decisions, gotchas... ⏳
5
+ ```
6
+
7
+ Append to `.vsaf/docs/KNOWLEDGE.md`:
8
+ - Lessons learned (patterns, anti-patterns)
9
+ - Noteworthy decisions (from ADR)
10
+ - Gotchas discovered during implementation
11
+
12
+ Format:
13
+ ```markdown
14
+ ## {feature-name} ({date})
15
+ - **Pattern**: {pattern learned}
16
+ - **Decision**: {key decision and rationale}
17
+ - **Gotcha**: {unexpected issue and solution}
18
+ ```
19
+
20
+ ```
21
+ [FEATURE-COMPLETE] [3/5] Updating KNOWLEDGE.md... ✅
22
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-complete-prereq
3
+ description: "Feature Complete 1/5 — prerequisites"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Feature Complete 1/5 — prerequisites
9
+
10
+ @include(step.md)
@@ -0,0 +1,16 @@
1
+ ## Phase Entry Protocol
2
+
3
+ ```
4
+ [FEATURE-COMPLETE] [1/5] Checking prerequisites... ⏳
5
+ ```
6
+
7
+ 1. Input: Feature name `$ARGUMENTS`
8
+ 2. Check that `.vsaf/docs/features/{feature-name}/08-review.md` exists
9
+ 3. Check for **Gate: APPROVED** in `08-review.md`
10
+ - No Gate APPROVED → Stop: "Review has not been approved. Run `/sdlc-review` first."
11
+ 4. Read `.vsaf/docs/STATUS.md`
12
+ 5. Read `CONTEXT.md`
13
+
14
+ ```
15
+ [FEATURE-COMPLETE] [1/5] Checking prerequisites... ✅
16
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-complete-reindex
3
+ description: "Feature Complete 4/5 — re-index"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Feature Complete 4/5 — re-index
9
+
10
+ @include(step.md)
@@ -0,0 +1,24 @@
1
+ ### Step 4: Re-index GitNexus
2
+
3
+ ```
4
+ [FEATURE-COMPLETE] [4/5] Re-index GitNexus + Rebuild Graphify graph... ⏳
5
+ ```
6
+
7
+ 1. Run GitNexus `group_sync` — re-index the latest code structure
8
+ - MUST run BEFORE Graphify (Graphify needs the latest code structure)
9
+
10
+ 2. Run `/graphify` — rebuild graph with **docs only** (DO NOT rebuild code graph)
11
+ - Target: `.vsaf/docs/` folder — documents, artifacts, CONTEXT.md, KNOWLEDGE.md only
12
+ - Output: `graphify-out/graph.json` updated
13
+
14
+ 3. Claude verifies graph:
15
+ - Do new domain terms from CONTEXT.md have nodes in the graph?
16
+ - Do new patterns from KNOWLEDGE.md have nodes/edges?
17
+ - Are feature artifacts linked correctly?
18
+ - If missing → add to `graph.json`
19
+
20
+ **This is the ONLY phase (besides onboard) allowed to modify `graphify-out/` and `.gitnexus/`.**
21
+
22
+ ```
23
+ [FEATURE-COMPLETE] [4/5] Re-index GitNexus + Rebuild Graphify graph... ✅
24
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-complete-status
3
+ description: "Feature Complete 5/5 — status + output"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Feature Complete 5/5 — status + output
9
+
10
+ @include(step.md)
@@ -0,0 +1,52 @@
1
+ ### Step 5: Update STATUS.md
2
+
3
+ ```
4
+ [FEATURE-COMPLETE] [5/5] Updating STATUS.md... ⏳
5
+ ```
6
+
7
+ Update `.vsaf/docs/STATUS.md`:
8
+ - Move feature to "Knowledge Updated" status
9
+ - Record completion timestamp
10
+
11
+ ```
12
+ [FEATURE-COMPLETE] [5/5] Updating STATUS.md... ✅
13
+ ```
14
+
15
+ ## Output
16
+
17
+ Print FEATURE COMPLETE REPORT:
18
+
19
+ ```
20
+ ═══════════════════════════════════════════
21
+ FEATURE COMPLETE: {feature-name}
22
+ ═══════════════════════════════════════════
23
+ Phase: 8 (Feature Complete — before ship)
24
+
25
+ Knowledge updates:
26
+ - CONTEXT.md: +{N} domain terms
27
+ - KNOWLEDGE.md: +{N} patterns, +{M} decisions, +{K} gotchas
28
+ - GitNexus: re-indexed
29
+ - graph.json: +{N} nodes, +{M} edges (docs only)
30
+
31
+ STATUS: Knowledge Updated — ready to ship
32
+
33
+ Next: `/sdlc-ship` to create PR and ship
34
+ ═══════════════════════════════════════════
35
+ ```
36
+
37
+ ## Phase Exit Protocol
38
+
39
+ Print PHASE REPORT:
40
+ - Output: CONTEXT.md, KNOWLEDGE.md, graph.json, GitNexus index updated
41
+ - Suggestion: `/sdlc-ship` to commit + create PR
42
+
43
+ Update `.vsaf/docs/STATUS.md`.
44
+
45
+ ## Rules
46
+
47
+ - KNOWLEDGE.md is append-only — DO NOT edit old entries
48
+ - GitNexus re-index BEFORE Graphify rebuild
49
+ - Graph verification MUST run — do not skip
50
+ - Graphify rebuild is docs only — DO NOT rebuild code graph in this phase
51
+ - **This is the ONLY phase (besides onboard) allowed to modify `graphify-out/` and `.gitnexus/`**
52
+ - This phase MUST run BEFORE ship — so knowledge is committed with the PR
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-discovery-brainstorm
3
+ description: "Discovery 4/6 — dual brainstorming"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Discovery 4/6 — dual brainstorming
9
+
10
+ @include(step.md)
@@ -0,0 +1,27 @@
1
+ ### Step 4: Dual Brainstorming
2
+
3
+ ```
4
+ [DISCOVERY] [4/6] Dual brainstorming based on grill answers... ⏳
5
+ ```
6
+
7
+ Two complementary brainstorming approaches:
8
+
9
+ **4a — Structured brainstorm**
10
+
11
+ Based on grill answers + system analysis, propose:
12
+ - 2-3 viable approaches with trade-offs
13
+ - Risk/constraint evaluation per approach
14
+ - Recommended option with reasoning
15
+
16
+ **4b — Creative brainstorm (BMAD)**
17
+
18
+ Use `/bmad-brainstorming` to explore alternatives and uncover hidden risks:
19
+ - Facilitator-led, diverse creative techniques
20
+ - Goal: ≥20 ideas/alternatives before reorganizing
21
+ - Surfaces edge cases the structured approach may miss
22
+
23
+ Record both results in `01-discovery.md` — §Problem Statement (4a) + §Alternatives (4b).
24
+
25
+ ```
26
+ [DISCOVERY] [4/6] Dual brainstorming based on grill answers... ✅
27
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-discovery-domain
3
+ description: "Discovery 5/6 — domain research + code scan"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Discovery 5/6 — domain research + code scan
9
+
10
+ @include(step.md)
@@ -0,0 +1,13 @@
1
+ ### Step 5: Domain Research + Existing Code Scan
2
+
3
+ ```
4
+ [DISCOVERY] [5/6] Domain research + existing code scan... ⏳
5
+ ```
6
+
7
+ Use `/bmad-domain-research` — deep-dive domain knowledge.
8
+ Use GitNexus `query` — find related code/patterns already available in the codebase.
9
+ Record results in `01-discovery.md` §Domain Research + §Existing Code.
10
+
11
+ ```
12
+ [DISCOVERY] [5/6] Domain research + existing code scan... ✅
13
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-discovery-grill
3
+ description: "Discovery 3/6 — grill session"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Discovery 3/6 — grill session
9
+
10
+ @include(step.md)
@@ -0,0 +1,22 @@
1
+ ### Step 3: GRILL Session — ASK questions, do NOT suggest
2
+
3
+ ```
4
+ [DISCOVERY] [3/6] Grill session — asking detailed questions... ⏳
5
+ ```
6
+
7
+ Use `/bmad-advanced-elicitation` — grill questions BASED ON system understanding from Step 2.
8
+
9
+ **STRICT RULES:**
10
+ - ⛔ Do NOT offer suggestions or recommendations
11
+ - ⛔ Do NOT say "I think we should do X"
12
+ - ✅ ONLY ask questions
13
+ - ✅ Questions MUST be specific, based on actual code/architecture analyzed
14
+ - ✅ Correct example: "The current system has UserService handling auth. Do you want the new feature to interact with the existing auth flow or be separate?"
15
+ - ✅ Correct example: "Route `/api/orders` currently returns 5 fields. What additional fields does the new feature need?"
16
+ - ⛔ Wrong example: "I suggest using event-driven architecture for this feature"
17
+
18
+ **WAIT** for the user to respond BEFORE continuing to Step 4.
19
+
20
+ ```
21
+ [DISCOVERY] [3/6] Grill session — asking detailed questions... ✅
22
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-discovery-prereq
3
+ description: "Discovery 1/6 — prerequisites"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Discovery 1/6 — prerequisites
9
+
10
+ @include(step.md)
@@ -0,0 +1,16 @@
1
+ ## Phase Entry Protocol
2
+
3
+ ```
4
+ [DISCOVERY] [1/6] Checking prerequisites... ⏳
5
+ ```
6
+
7
+ 1. Receive feature request: `$ARGUMENTS`
8
+ 2. Check if `graphify-out/graph.json` exists:
9
+ - Does not exist → Ask: "Graph not found. Have you run onboarding?"
10
+ 3. Read `.vsaf/docs/STATUS.md` → confirm feature does not already exist or identify current phase
11
+ 4. Read `CONTEXT.md`
12
+ 5. Query `graph.json` for related business domain context
13
+
14
+ ```
15
+ [DISCOVERY] [1/6] Checking prerequisites... ✅
16
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-discovery-prfaq
3
+ description: "Discovery 6/6 — PRFAQ + output"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Discovery 6/6 — PRFAQ + output
9
+
10
+ @include(step.md)
@@ -0,0 +1,68 @@
1
+ ### Step 6: PRFAQ (if large feature)
2
+
3
+ ```
4
+ [DISCOVERY] [6/6] PRFAQ (if needed)... ⏳
5
+ ```
6
+
7
+ Use `/bmad-prfaq` — Working Backwards to force clarity.
8
+ Record results in `01-discovery.md` §PRFAQ.
9
+ If the feature is small, record "PRFAQ: Skipped — feature scope does not require it."
10
+
11
+ ```
12
+ [DISCOVERY] [6/6] PRFAQ (if needed)... ✅
13
+ ```
14
+
15
+ ## Output
16
+
17
+ Create directory `.vsaf/docs/features/{feature-name}/` if it does not exist.
18
+ Write file: `.vsaf/docs/features/{feature-name}/01-discovery.md`
19
+
20
+ ```markdown
21
+ # Discovery: {feature-name}
22
+
23
+ ## Grill Session
24
+ {questions and answers from bmad-advanced-elicitation}
25
+
26
+ ## Problem Statement
27
+ {from bmad-brainstorming, based on grill answers}
28
+
29
+ ## Domain Research
30
+ {from bmad-domain-research}
31
+
32
+ ## Existing Code
33
+ {from GitNexus query + context + route_map}
34
+
35
+ ## PRFAQ
36
+ {from bmad-prfaq, if applicable}
37
+
38
+ ## Decision: Proceed / Pivot / Kill
39
+ {recommendation on whether to continue, with reasoning}
40
+ ```
41
+
42
+ ## Artifact Auto-Save
43
+
44
+ After writing the file, print the message:
45
+
46
+ > Artifacts saved. If the session is interrupted, open a new session and run the next phase — data is safe.
47
+
48
+ ## Phase Exit Protocol
49
+
50
+ Print PHASE REPORT:
51
+ - Feature: {feature-name}
52
+ - Status: COMPLETED
53
+ - Completed: system analysis, grill session, brainstorming, domain research, existing code scan, PRFAQ
54
+ - Output files: `.vsaf/docs/features/{feature-name}/01-discovery.md`
55
+ - Suggested next steps:
56
+ [1] Continue to Phase 2 PRD → `/sdlc-prd`
57
+ [2] Save artifacts
58
+
59
+ Update `.vsaf/docs/STATUS.md`.
60
+
61
+ ## Rules
62
+
63
+ - ⛔ Do NOT offer suggestions before asking — Grill session MUST happen before brainstorming
64
+ - ⛔ Do NOT read detailed source code — only use GitNexus tools for high-level scanning
65
+ - ⛔ Do NOT modify `graphify-out/` or `.gitnexus/`
66
+ - Every discovery must have a clear Decision: Proceed, Pivot, or Kill
67
+ - If Decision = Kill → record reasoning, stop the flow
68
+ - Questions in the grill session MUST be based on actual system understanding, NOT generic
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-discovery-system
3
+ description: "Discovery 2/6 — existing system"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Discovery 2/6 — existing system
9
+
10
+ @include(step.md)
@@ -0,0 +1,19 @@
1
+ ### Step 2: Understand Existing System FIRST
2
+
3
+ ```
4
+ [DISCOVERY] [2/6] Analyzing current system via GitNexus... ⏳
5
+ ```
6
+
7
+ BEFORE asking any questions, MUST understand the current system:
8
+
9
+ 1. Use GitNexus MCP tools:
10
+ - `query` — find code/patterns related to the feature request
11
+ - `route_map` — understand current API routes and flow
12
+ - `context` — 360° view of related symbols
13
+ 2. Read `graphify-out/graph.json` — understand relationships between concepts/modules
14
+
15
+ Record analysis results internally (do NOT output to user at this step).
16
+
17
+ ```
18
+ [DISCOVERY] [2/6] Analyzing current system via GitNexus... ✅
19
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-hotfix-analyze-entry
3
+ description: "Hotfix Analyze 1/6 — read bug report"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Hotfix Analyze 1/6 — read bug report
9
+
10
+ @include(step.md)
@@ -0,0 +1,15 @@
1
+ ## Phase Entry Protocol
2
+
3
+ ```
4
+ [HOTFIX-ANALYZE] [1/6] Reading bug report... ⏳
5
+ ```
6
+
7
+ 1. Input: `$ARGUMENTS` — path to bug report file from tester
8
+ 2. Read the bug report file
9
+ 3. Read `CONTEXT.md` for domain context
10
+ 4. Read `.vsaf/docs/STATUS.md`
11
+ 5. Extract a short `{bug-id}` from the report filename or title (e.g., `fix-null-rating`, `fix-auth-timeout`)
12
+
13
+ ```
14
+ [HOTFIX-ANALYZE] [1/6] Reading bug report... ✅
15
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-hotfix-analyze-exit
3
+ description: "Hotfix Analyze — exit protocol and rules"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Hotfix Analyze — exit protocol and rules
9
+
10
+ @include(step.md)
@@ -0,0 +1,19 @@
1
+ ## Phase Exit Protocol
2
+
3
+ Print PHASE REPORT:
4
+ - Bug: {bug-id}
5
+ - Status: ANALYSIS COMPLETED
6
+ - Root cause: {one-line summary}
7
+ - Affected files: {count} files
8
+ - Output: `.vsaf/docs/hotfixes/{bug-id}/01-analysis.md`
9
+ - Next step: `/sdlc-hotfix-prd`
10
+
11
+ Update `.vsaf/docs/STATUS.md`.
12
+
13
+ ## Rules
14
+
15
+ - ⛔ Do NOT modify code — analysis only
16
+ - ⛔ Do NOT modify `graphify-out/` or `.gitnexus/`
17
+ - GitNexus impact analysis is MANDATORY — never skip it
18
+ - Root cause must reference specific file:line, not vague descriptions
19
+ - `/grill-me` is MANDATORY — used in Step 2 (clarify bug) and Step 5 (validate fix strategy)
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-hotfix-analyze-fix-strategy
3
+ description: "Hotfix Analyze 5/6 — grill fix strategy"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Hotfix Analyze 5/6 — grill fix strategy
9
+
10
+ @include(step.md)
@@ -0,0 +1,15 @@
1
+ ### Step 5: Grill Fix Strategy
2
+
3
+ ```
4
+ [HOTFIX-ANALYZE] [5/6] Grill session — stress-testing fix strategy... ⏳
5
+ ```
6
+
7
+ Use `/grill-me` again to stress-test the proposed fix strategy with the user:
8
+ - Does the fix address the root cause, not just the symptom?
9
+ - Are there edge cases the fix could miss?
10
+ - Could the fix introduce regressions in related areas?
11
+ - Is the fix scope appropriate for a hotfix (minimal)?
12
+
13
+ ```
14
+ [HOTFIX-ANALYZE] [5/6] Fix strategy validated ✅
15
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-hotfix-analyze-gitnexus
3
+ description: "Hotfix Analyze 3/6 — root cause via GitNexus"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Hotfix Analyze 3/6 — root cause via GitNexus
9
+
10
+ @include(step.md)
@@ -0,0 +1,17 @@
1
+ ### Step 3: Root Cause via GitNexus
2
+
3
+ ```
4
+ [HOTFIX-ANALYZE] [3/6] Mapping code structure via GitNexus... ⏳
5
+ ```
6
+
7
+ 1. Use GitNexus `context` — understand the affected module's structure and dependencies
8
+ 2. Use GitNexus `impact` — trace which files and symbols are in the blast radius
9
+ 3. Use GitNexus `route_map` — map the call chain from entry point to suspected buggy code
10
+ 4. Collect:
11
+ - **Affected files** — files that contain or touch the suspected area
12
+ - **Call chain** — entry point → intermediate → suspected defect
13
+ - **Blast radius** — what else could break if this area is changed
14
+
15
+ ```
16
+ [HOTFIX-ANALYZE] [3/6] Mapping code structure via GitNexus... ✅
17
+ ```
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: sdlc-hotfix-analyze-grill
3
+ description: "Hotfix Analyze 2/6 — grill bug context"
4
+ version: 1.0.0
5
+ author: "@ngocsangairvds/vsaf"
6
+ ---
7
+
8
+ # Hotfix Analyze 2/6 — grill bug context
9
+
10
+ @include(step.md)
@@ -0,0 +1,23 @@
1
+ ### Step 2: Grill Session — Clarify Bug Context
2
+
3
+ ```
4
+ [HOTFIX-ANALYZE] [2/6] Grill session — interviewing user about bug... ⏳
5
+ ```
6
+
7
+ Use `/grill-me` to interview the user about the bug. Walk down each branch of the problem tree:
8
+ - What exactly was observed? Under what conditions?
9
+ - Can it be reproduced consistently? What are the exact steps?
10
+ - When did it start? What changed recently?
11
+ - What is the expected behavior vs actual behavior?
12
+ - Which users/environments are affected?
13
+ - Any workarounds discovered?
14
+
15
+ Continue grilling until you have a complete understanding. Then extract:
16
+ - **Symptoms** — what the tester/user observed
17
+ - **Reproduction steps** — exact steps to trigger the bug
18
+ - **Expected vs actual behavior**
19
+ - **Affected area** — which feature/module/endpoint
20
+
21
+ ```
22
+ [HOTFIX-ANALYZE] [2/6] Grill session complete ✅
23
+ ```