@ngocsangairvds/vsaf 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/graphify/SKILL.md +1 -1
- package/.claude/skills/vsaf-build/SKILL.md +94 -64
- package/.claude/skills/vsaf-discover/SKILL.md +56 -56
- package/.claude/skills/vsaf-doc/SKILL.md +9 -9
- package/.claude/skills/vsaf-doc-prd/SKILL.md +32 -32
- package/.claude/skills/vsaf-doc-srs/SKILL.md +88 -88
- package/.claude/skills/vsaf-docs/SKILL.md +50 -50
- package/.claude/skills/vsaf-onboard/SKILL.md +60 -25
- package/.claude/skills/vsaf-plan/SKILL.md +76 -54
- package/.claude/skills/vsaf-retro/SKILL.md +94 -0
- package/.claude/skills/vsaf-ship/SKILL.md +83 -50
- package/.claude/skills/vsaf-sprint/SKILL.md +42 -42
- package/.claude/skills/vsaf-test/SKILL.md +159 -41
- package/README.md +300 -153
- package/bin/vsaf.js +2 -9
- package/package.json +3 -3
- package/src/global.js +0 -15
- package/src/project.js +0 -9
- package/src/status.js +0 -3
- package/src/workflow.js +1 -16
- package/.claude/skills/vsaf-memory-protocol.md +0 -51
|
@@ -1,79 +1,101 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vsaf-plan
|
|
3
|
-
description:
|
|
3
|
+
description: Plan a new feature/task. Use when receiving a requirement that needs scope analysis, impact assessment, and approach strategy. Dual brainstorm (Superpowers + BMAD). Example: /vsaf-plan create user management module
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# VSAF Plan
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
8
|
+
## Objective
|
|
9
|
+
Fully understand the requirement, analyze impact, and determine the implementation strategy before writing any line of code.
|
|
10
10
|
|
|
11
11
|
## Input
|
|
12
|
-
`$ARGUMENTS` —
|
|
13
|
-
|
|
14
|
-
##
|
|
15
|
-
|
|
16
|
-
###
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
###
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
###
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
12
|
+
`$ARGUMENTS` — description of the feature/task to be done (e.g.: "create dashboard management module")
|
|
13
|
+
|
|
14
|
+
## Execution Steps
|
|
15
|
+
|
|
16
|
+
### Step 1 — Clarify scope (BMAD analyst)
|
|
17
|
+
- Use skill `bmad-agent-analyst` to analyze the requirement
|
|
18
|
+
- Identify: FRs, NFRs, edge cases, assumptions, out-of-scope
|
|
19
|
+
- STOP and ask the user if there are any unclear points
|
|
20
|
+
|
|
21
|
+
### Step 2 — Impact analysis (GitNexus)
|
|
22
|
+
- Use `gitnexus_impact` with the target being the related module/symbol
|
|
23
|
+
- Use `gitnexus_query` to find related code
|
|
24
|
+
- Report blast radius: how many modules are affected, risk level
|
|
25
|
+
- If risk is HIGH/CRITICAL: STOP, notify the user before continuing
|
|
26
|
+
|
|
27
|
+
### Step 2b — Module boundary analysis (GitNexus)
|
|
28
|
+
- Use `gitnexus_group_query` to view module boundaries
|
|
29
|
+
- Identify: which groups are affected, interface contracts between groups
|
|
30
|
+
- Understand module boundaries clearly before proposing architecture
|
|
31
|
+
|
|
32
|
+
### Step 3 — Architecture decision (BMAD architect)
|
|
33
|
+
- Use skill `bmad-agent-architect` to propose an architecture approach
|
|
34
|
+
- Compare alternatives, choose the most suitable approach
|
|
35
|
+
- **If risk is HIGH or > 3 modules**: use skill `bmad-create-architecture` to create a formal ADR (Architecture Decision Record)
|
|
36
|
+
- Save to `docs/project/planning-artifacts/adr-[feature].md`
|
|
37
|
+
|
|
38
|
+
### Step 4 — Dual Brainstorm
|
|
39
|
+
|
|
40
|
+
#### 4a — Structured brainstorm (Superpowers)
|
|
41
|
+
- Use `superpowers:brainstorming` — structured exploration:
|
|
42
|
+
- Trade-offs, constraints, 2-3 viable options
|
|
43
|
+
- Evaluate risks for each option
|
|
44
|
+
|
|
45
|
+
#### 4b — Creative brainstorm (BMAD)
|
|
46
|
+
- Use skill `bmad-brainstorming` to explore alternatives and uncover hidden risks
|
|
47
|
+
- Facilitator leads the session with diverse creative techniques
|
|
48
|
+
- Goal: at least 20 ideas/alternatives before reorganizing
|
|
49
|
+
|
|
50
|
+
#### 4c — Parallel deep-dive (Superpowers, if >2 approaches)
|
|
51
|
+
- Use `superpowers:dispatching-parallel-agents` to research candidate approaches in parallel
|
|
52
|
+
- Each agent deep-dives into 1 approach: feasibility, risks, effort
|
|
53
|
+
- Synthesize results to choose the best approach
|
|
54
|
+
|
|
55
|
+
### Step 5 — Challenge approach (BMAD Advanced Elicitation)
|
|
56
|
+
- Use skill `bmad-advanced-elicitation` to challenge the chosen approach
|
|
57
|
+
- Run **pre-mortem**: "Assume this approach fails after 3 months — why?"
|
|
58
|
+
- Run **red team**: find weaknesses, attack vectors, failure modes
|
|
59
|
+
- If serious risks are discovered: go back to Step 3 to adjust the approach
|
|
60
|
+
|
|
61
|
+
### Step 6 — Output to user
|
|
62
|
+
Present results in the following format:
|
|
48
63
|
|
|
49
64
|
```
|
|
50
|
-
## Feature: [
|
|
65
|
+
## Feature: [feature name]
|
|
51
66
|
|
|
52
67
|
## Scope
|
|
53
|
-
- In: [
|
|
54
|
-
- Out: [
|
|
68
|
+
- In: [what will be done]
|
|
69
|
+
- Out: [what will not be done]
|
|
55
70
|
|
|
56
71
|
## Impact Analysis
|
|
57
|
-
-
|
|
72
|
+
- Affected modules: [list]
|
|
73
|
+
- Module boundaries: [from group_query]
|
|
58
74
|
- Risk level: [LOW/MEDIUM/HIGH]
|
|
59
|
-
- Breaking changes: [
|
|
75
|
+
- Breaking changes: [yes/no, details]
|
|
60
76
|
|
|
61
|
-
## Approach
|
|
62
|
-
[
|
|
77
|
+
## Chosen Approach
|
|
78
|
+
[Architecture approach description]
|
|
79
|
+
|
|
80
|
+
## Brainstorm Summary
|
|
81
|
+
- Superpowers: [N approaches explored, chosen: X]
|
|
82
|
+
- BMAD: [N ideas generated, top insights]
|
|
83
|
+
- Parallel agents: [used / not needed]
|
|
63
84
|
|
|
64
85
|
## Pre-mortem findings
|
|
65
|
-
[
|
|
86
|
+
[Identified risks and mitigation plan]
|
|
66
87
|
|
|
67
|
-
## Alternatives
|
|
68
|
-
[
|
|
88
|
+
## Alternatives considered
|
|
89
|
+
[Why they were not chosen]
|
|
69
90
|
|
|
70
91
|
## ADR
|
|
71
|
-
[
|
|
92
|
+
[Created / Not needed (risk LOW)]
|
|
72
93
|
|
|
73
94
|
## Next step
|
|
74
|
-
|
|
95
|
+
Run /vsaf-doc-prd to write the PRD document
|
|
75
96
|
```
|
|
76
97
|
|
|
77
|
-
##
|
|
78
|
-
-
|
|
79
|
-
-
|
|
98
|
+
## Notes
|
|
99
|
+
- If Impact > 3 modules: warn the user, suggest splitting into multiple PRs
|
|
100
|
+
- If risk level is HIGH/CRITICAL: STOP, notify the user before continuing
|
|
101
|
+
- Dual brainstorm is mandatory: both Superpowers (structured) and BMAD (creative)
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vsaf-retro
|
|
3
|
+
description: Sprint/epic retrospective — data-backed, not opinion-based. Uses GitNexus metrics + BMAD retrospective. Run at end of sprint or end of epic.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# VSAF Retro
|
|
7
|
+
|
|
8
|
+
## Objective
|
|
9
|
+
Run a retrospective based on real data from GitNexus (changes, health, module status) combined with the BMAD retrospective framework. Output: action items for the next sprint.
|
|
10
|
+
|
|
11
|
+
## When to run
|
|
12
|
+
- End of each sprint
|
|
13
|
+
- End of each epic
|
|
14
|
+
- **Separate from `/vsaf-ship`** — retro reviews the entire sprint/epic, not a single feature
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
- Sprint/epic has been completed (all features shipped or deferred)
|
|
18
|
+
- GitNexus index is up to date (`vsaf index`)
|
|
19
|
+
|
|
20
|
+
## Steps
|
|
21
|
+
|
|
22
|
+
### Step 1 — Collect sprint changes (GitNexus)
|
|
23
|
+
- Run `gitnexus_detect_changes({scope: "compare", base_ref: "<sprint-start-tag>"})`
|
|
24
|
+
- If no sprint tag exists: use `base_ref: "main"` or the commit hash from the start of the sprint
|
|
25
|
+
- Collect: total files changed, symbols changed, processes affected
|
|
26
|
+
- Record actual scope vs planned scope
|
|
27
|
+
|
|
28
|
+
### Step 2 — Codebase health metrics (GitNexus)
|
|
29
|
+
- Read `gitnexus://repo/{name}/context` — get health metrics after the sprint:
|
|
30
|
+
- Codebase size, complexity trends
|
|
31
|
+
- Index freshness
|
|
32
|
+
- Symbol/relationship counts
|
|
33
|
+
- Compare with the start of the sprint if a baseline exists
|
|
34
|
+
|
|
35
|
+
### Step 3 — Module health check (GitNexus)
|
|
36
|
+
- Run `gitnexus_group_status` — check health of each module
|
|
37
|
+
- Identify: which modules degraded during the sprint? Which modules improved?
|
|
38
|
+
- Flag: modules with increased technical debt, modules needing attention
|
|
39
|
+
|
|
40
|
+
### Step 4 — Retrospective analysis (BMAD)
|
|
41
|
+
- Use skill `bmad-retrospective` with data from Steps 1-3 as input
|
|
42
|
+
- Framework: What went well / What to improve / Action items
|
|
43
|
+
- Data-backed: each observation must have evidence from GitNexus metrics
|
|
44
|
+
- Do not accept vague statements — must have data support
|
|
45
|
+
|
|
46
|
+
### Step 5 — Sprint metrics summary (BMAD)
|
|
47
|
+
- Use skill `bmad-sprint-status` to compile final sprint metrics
|
|
48
|
+
- Metrics: velocity, completion rate, scope change ratio
|
|
49
|
+
- Compare with previous sprint if historical data is available
|
|
50
|
+
|
|
51
|
+
### Step 6 — Output for user
|
|
52
|
+
```
|
|
53
|
+
## Sprint Retrospective: [sprint name/number]
|
|
54
|
+
Date: [YYYY-MM-DD]
|
|
55
|
+
|
|
56
|
+
### Sprint Scope
|
|
57
|
+
- Planned: [N features/stories]
|
|
58
|
+
- Completed: [N]
|
|
59
|
+
- Deferred: [N]
|
|
60
|
+
- Scope change: [+N/-N]
|
|
61
|
+
|
|
62
|
+
### Codebase Impact (from GitNexus)
|
|
63
|
+
- Files changed: [N]
|
|
64
|
+
- Symbols changed: [N]
|
|
65
|
+
- Processes affected: [N]
|
|
66
|
+
- Modules touched: [list]
|
|
67
|
+
|
|
68
|
+
### Module Health
|
|
69
|
+
| Module | Status | Trend | Notes |
|
|
70
|
+
|--------|--------|-------|-------|
|
|
71
|
+
| ... | ... | ↑/↓/→ | ... |
|
|
72
|
+
|
|
73
|
+
### What Went Well (data-backed)
|
|
74
|
+
- [observation] — evidence: [metric/data]
|
|
75
|
+
|
|
76
|
+
### What To Improve (data-backed)
|
|
77
|
+
- [observation] — evidence: [metric/data]
|
|
78
|
+
|
|
79
|
+
### Action Items for Next Sprint
|
|
80
|
+
| # | Action | Owner | Priority |
|
|
81
|
+
|---|--------|-------|----------|
|
|
82
|
+
| 1 | ... | ... | ... |
|
|
83
|
+
|
|
84
|
+
### Sprint Metrics
|
|
85
|
+
- Velocity: [points/tasks]
|
|
86
|
+
- Completion rate: [%]
|
|
87
|
+
- Avg cycle time: [days]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Notes
|
|
91
|
+
- Retro must be data-backed — do not accept "I feel like..." without evidence
|
|
92
|
+
- If GitNexus index is stale: run `vsaf index` before the retro
|
|
93
|
+
- Action items must be actionable and have an owner — do not write vague "improve testing"
|
|
94
|
+
- Save retro output to `docs/project/implementation-artifacts/retro-[sprint].md` to track historical data
|
|
@@ -1,78 +1,111 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vsaf-ship
|
|
3
|
-
description:
|
|
3
|
+
description: Multi-layer review + ship code. Used after /vsaf-build and /vsaf-test run when code + tests have passed. The final step of every feature.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# VSAF Ship
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
8
|
+
## Objective
|
|
9
|
+
Multi-layer review, verify scope, validate architecture, push PR. Ensure code has passed all gates before shipping.
|
|
10
10
|
|
|
11
|
-
##
|
|
12
|
-
-
|
|
13
|
-
-
|
|
11
|
+
## Prerequisites
|
|
12
|
+
- Have run `/vsaf-build` with PRD + SRS + testcase
|
|
13
|
+
- Have run `/vsaf-test run` — results file exists at `docs/project/testcases/[feature]-results.md`
|
|
14
|
+
- Ship gate from `/vsaf-test run` = PASS
|
|
15
|
+
- No failing tests
|
|
14
16
|
|
|
15
|
-
##
|
|
17
|
+
## Steps
|
|
16
18
|
|
|
17
|
-
###
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- **Nếu không có Superpowers**: dùng skill `bmad-code-review` (đã có sẵn trong bộ cài)
|
|
22
|
-
- Kiểm tra: code structure, naming, patterns, SOLID principles
|
|
23
|
-
- Fix issues nếu có, commit lại
|
|
19
|
+
### Step 0 — Scope check (GitNexus, mandatory)
|
|
20
|
+
- Run `gitnexus_detect_changes({scope: "compare", base_ref: "main"})`
|
|
21
|
+
- Confirm only the expected files/symbols have changed
|
|
22
|
+
- If unexpected changes are detected: **STOP** — review before proceeding
|
|
24
23
|
|
|
25
|
-
###
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
24
|
+
### Step 1 — Structured review handoff (Superpowers)
|
|
25
|
+
- Use `superpowers:requesting-code-review` to create a structured handoff:
|
|
26
|
+
- What changed and why
|
|
27
|
+
- What to watch for (risk areas)
|
|
28
|
+
- Context for the reviewer
|
|
29
|
+
- This handoff is the input for the subsequent review layers
|
|
30
|
+
|
|
31
|
+
### Step 2 — Review Layer 1: Code Review
|
|
32
|
+
- **If Superpowers is available**: use `superpowers:code-review`
|
|
33
|
+
- **If not**: use skill `bmad-code-review`
|
|
34
|
+
- Check: code structure, naming, patterns, SOLID principles
|
|
35
|
+
- Fix issues if any, re-commit
|
|
36
|
+
|
|
37
|
+
#### Step 2b — Handle reviewer feedback (if any)
|
|
38
|
+
- If the review has feedback that needs to be addressed:
|
|
39
|
+
- Use `superpowers:receiving-code-review` — systematic response, no ad-hoc fixes
|
|
40
|
+
- Fix → re-commit → re-review if needed
|
|
41
|
+
|
|
42
|
+
### Step 3 — Review Layer 1.5: Adversarial Review
|
|
43
|
+
- Use skill `bmad-review-adversarial-general` — cynical attack on new code
|
|
44
|
+
- Look for: logic flaws, security holes, performance traps, silent failures
|
|
45
|
+
- Use skill `bmad-review-edge-case-hunter` — exhaustive boundary analysis
|
|
46
|
+
- Look for: unhandled null/empty, off-by-one, concurrent access, resource leaks
|
|
30
47
|
- Triage findings:
|
|
31
|
-
- **MUST FIX**: fix
|
|
32
|
-
- **SHOULD FIX**:
|
|
33
|
-
- **NOTED**:
|
|
48
|
+
- **MUST FIX**: fix immediately before shipping
|
|
49
|
+
- **SHOULD FIX**: create a follow-up task
|
|
50
|
+
- **NOTED**: acknowledged, no action needed
|
|
34
51
|
|
|
35
|
-
###
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
- Đây là layer cuối cùng — đảm bảo index reflect đúng code mới
|
|
52
|
+
### Step 4 — Architectural constraint check (GitNexus)
|
|
53
|
+
- Run `gitnexus_shape_check` — validate no architectural constraints are violated
|
|
54
|
+
- If there are violations: **STOP** — fix before proceeding
|
|
39
55
|
|
|
40
|
-
###
|
|
41
|
-
-
|
|
42
|
-
-
|
|
56
|
+
### Step 5 — Review Layer 2: Knowledge graph sync
|
|
57
|
+
- Run `vsaf index` (= `gitnexus analyze`)
|
|
58
|
+
- Update the call graph to reflect the new code
|
|
59
|
+
- This is the final layer — ensure the index accurately reflects the current code state
|
|
43
60
|
|
|
44
|
-
###
|
|
61
|
+
### Step 6 — Final verification gate (Superpowers)
|
|
62
|
+
- Use `superpowers:verification-before-completion`
|
|
63
|
+
- Confirm all deliverables match the spec — not just "tests pass"
|
|
64
|
+
- This is the final gate before PR
|
|
65
|
+
|
|
66
|
+
### Step 7 — Pre-PR checklist (Superpowers)
|
|
67
|
+
- **If Superpowers is available**: use `superpowers:finishing-a-development-branch` — automated pre-PR checklist
|
|
68
|
+
- **If not**: check manually:
|
|
69
|
+
- [ ] Tests pass
|
|
70
|
+
- [ ] No uncommitted changes
|
|
71
|
+
- [ ] Branch up-to-date with main
|
|
72
|
+
- [ ] Test results file exists
|
|
73
|
+
- [ ] All MUST FIX resolved
|
|
74
|
+
|
|
75
|
+
### Step 8 — Push PR
|
|
45
76
|
```bash
|
|
46
77
|
git push origin feature/<name>
|
|
47
78
|
```
|
|
48
|
-
PR description
|
|
49
|
-
- Impact summary (
|
|
50
|
-
- Test results
|
|
51
|
-
- Adversarial
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- Review: gì đã tốt? gì cần cải thiện? surprise nào?
|
|
56
|
-
- Cập nhật workflow nếu cần
|
|
57
|
-
- **Nếu không phải cuối epic**: skip, nhắc user chạy retro sau khi epic hoàn thành
|
|
58
|
-
|
|
59
|
-
### Bước 7 — Output cho user
|
|
79
|
+
PR description must include:
|
|
80
|
+
- Impact summary (from GitNexus detect_changes)
|
|
81
|
+
- Test results file path: `docs/project/testcases/[feature]-results.md`
|
|
82
|
+
- Adversarial triage: MUST FIX: 0, SHOULD FIX: N, NOTED: N
|
|
83
|
+
- Shape check result
|
|
84
|
+
|
|
85
|
+
### Step 9 — Output to user
|
|
60
86
|
```
|
|
61
87
|
## Ship Complete: [feature]
|
|
62
88
|
|
|
63
89
|
### Reviews
|
|
64
|
-
-
|
|
65
|
-
- Layer 1
|
|
66
|
-
- Layer
|
|
67
|
-
-
|
|
90
|
+
- Scope check (detect_changes): PASS — [N files, N symbols changed]
|
|
91
|
+
- Layer 1 (Code Review): PASS [superpowers / bmad-code-review]
|
|
92
|
+
- Layer 1.5 (Adversarial): PASS [MUST FIX: 0, SHOULD FIX: N, NOTED: N]
|
|
93
|
+
- Shape check: PASS
|
|
94
|
+
- Layer 2 (Graph sync): PASS
|
|
95
|
+
- Final verification: PASS
|
|
96
|
+
- Pre-PR checklist: PASS
|
|
68
97
|
|
|
69
98
|
### PR
|
|
70
99
|
- Branch: feature/[name]
|
|
71
100
|
- PR: [link]
|
|
101
|
+
- Test results: docs/project/testcases/[feature]-results.md
|
|
72
102
|
|
|
73
|
-
|
|
103
|
+
## Next step
|
|
104
|
+
- Run /vsaf-retro if this is the end of a sprint/epic
|
|
105
|
+
- Or /vsaf-plan <next-feature> for the next task
|
|
74
106
|
```
|
|
75
107
|
|
|
76
|
-
##
|
|
77
|
-
-
|
|
78
|
-
-
|
|
108
|
+
## Notes
|
|
109
|
+
- Do not ship if any gate fails or there are remaining MUST FIX items
|
|
110
|
+
- Test results file is a mandatory input — no results = no ship
|
|
111
|
+
- Retrospective is a separate skill (`/vsaf-retro`) — run at the end of a sprint, not at the end of every feature
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vsaf-sprint
|
|
3
|
-
description: Sprint management — break PRD
|
|
3
|
+
description: Sprint management — break PRD into epics/stories, create sprint plan, track progress. Use when managing multiple features simultaneously.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# VSAF Sprint
|
|
7
7
|
|
|
8
|
-
##
|
|
9
|
-
|
|
8
|
+
## Goal
|
|
9
|
+
Manage backlog and sprints for the project — break PRD/SRS into stories, create plans, track progress, surface risks.
|
|
10
10
|
|
|
11
11
|
## Input
|
|
12
|
-
`$ARGUMENTS` —
|
|
13
|
-
- `plan` —
|
|
14
|
-
- `status` —
|
|
15
|
-
- `story <id>` —
|
|
12
|
+
`$ARGUMENTS` — action to perform:
|
|
13
|
+
- `plan` — create a new sprint plan from PRD/epics
|
|
14
|
+
- `status` — view current sprint status
|
|
15
|
+
- `story <id>` — create a detailed story file for a single story
|
|
16
16
|
|
|
17
|
-
##
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
17
|
+
## When to use
|
|
18
|
+
- After `/vsaf-discover` when a PRD is available
|
|
19
|
+
- When the project has multiple features that need prioritization
|
|
20
|
+
- When visibility into overall progress is needed
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## Steps
|
|
23
23
|
|
|
24
|
-
### Mode: `plan` —
|
|
24
|
+
### Mode: `plan` — Create a new sprint plan
|
|
25
25
|
|
|
26
|
-
####
|
|
27
|
-
-
|
|
28
|
-
- Output:
|
|
29
|
-
-
|
|
26
|
+
#### Step 1 — Break into Epics + Stories
|
|
27
|
+
- Use skill `bmad-create-epics-and-stories` with PRD/SRS as input
|
|
28
|
+
- Output: list of epics, each epic containing user stories
|
|
29
|
+
- Each story has: description, acceptance criteria, estimated complexity (S/M/L/XL)
|
|
30
30
|
|
|
31
|
-
####
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
- Assign stories
|
|
35
|
-
- Identify dependencies
|
|
36
|
-
-
|
|
31
|
+
#### Step 2 — Sprint Planning
|
|
32
|
+
- Use skill `bmad-sprint-planning` to:
|
|
33
|
+
- Prioritize stories (MoSCoW or WSJF)
|
|
34
|
+
- Assign stories to sprint based on capacity
|
|
35
|
+
- Identify dependencies between stories
|
|
36
|
+
- Save sprint plan to `docs/project/planning-artifacts/sprint-plan.md`
|
|
37
37
|
|
|
38
|
-
####
|
|
38
|
+
#### Step 3 — Output
|
|
39
39
|
```
|
|
40
40
|
## Sprint Plan: [sprint name/number]
|
|
41
41
|
|
|
@@ -52,21 +52,21 @@ Quản lý backlog và sprint cho dự án — từ PRD/SRS chia thành stories,
|
|
|
52
52
|
|-------|--------|
|
|
53
53
|
|
|
54
54
|
### Next step
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
Run /vsaf-sprint story <id> to create a detailed story file
|
|
56
|
+
Or: /vsaf-plan <story description> to start the first feature
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
---
|
|
60
60
|
|
|
61
|
-
### Mode: `status` —
|
|
61
|
+
### Mode: `status` — View sprint status
|
|
62
62
|
|
|
63
|
-
####
|
|
64
|
-
-
|
|
63
|
+
#### Step 1 — Collect status
|
|
64
|
+
- Use skill `bmad-sprint-status` to:
|
|
65
65
|
- Scan sprint plan file
|
|
66
|
-
- Check git log
|
|
66
|
+
- Check git log for completed stories
|
|
67
67
|
- Surface: blocked items, risks, velocity trend
|
|
68
68
|
|
|
69
|
-
####
|
|
69
|
+
#### Step 2 — Output
|
|
70
70
|
```
|
|
71
71
|
## Sprint Status: [sprint name]
|
|
72
72
|
|
|
@@ -89,23 +89,23 @@ Hoặc: /vsaf-plan <story description> để bắt đầu feature đầu tiên
|
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
|
92
|
-
### Mode: `story <id>` —
|
|
92
|
+
### Mode: `story <id>` — Create a detailed story file
|
|
93
93
|
|
|
94
|
-
####
|
|
95
|
-
-
|
|
96
|
-
- Story file
|
|
97
|
-
-
|
|
94
|
+
#### Step 1 — Create story file
|
|
95
|
+
- Use skill `bmad-create-story` with story ID from the sprint plan
|
|
96
|
+
- Story file includes: full context, acceptance criteria, technical notes, dependencies
|
|
97
|
+
- Save to `docs/project/planning-artifacts/stories/story-[id].md`
|
|
98
98
|
|
|
99
|
-
####
|
|
99
|
+
#### Step 2 — Output
|
|
100
100
|
```
|
|
101
101
|
## Story Created: [story title]
|
|
102
102
|
- File: docs/project/planning-artifacts/stories/story-[id].md
|
|
103
103
|
|
|
104
104
|
### Next step
|
|
105
|
-
|
|
105
|
+
Run /vsaf-plan <story description> to plan implementation
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
-
##
|
|
109
|
-
- Sprint plan
|
|
110
|
-
- Re-run `/vsaf-sprint status`
|
|
111
|
-
-
|
|
108
|
+
## Notes
|
|
109
|
+
- Sprint plan is a living document — update when changes occur
|
|
110
|
+
- Re-run `/vsaf-sprint status` daily or after each `/vsaf-ship`
|
|
111
|
+
- If sprint is delayed >20%: use `bmad-correct-course` to adjust scope
|