@sandrinio/vbounce 1.3.2 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -2
- package/bin/vbounce.mjs +30 -0
- package/brains/AGENTS.md +19 -13
- package/brains/CHANGELOG.md +24 -0
- package/brains/CLAUDE.md +22 -14
- package/brains/GEMINI.md +21 -13
- package/brains/SETUP.md +7 -10
- package/brains/claude-agents/architect.md +28 -6
- package/brains/claude-agents/developer.md +20 -7
- package/brains/claude-agents/devops.md +28 -12
- package/brains/claude-agents/qa.md +22 -6
- package/brains/claude-agents/scribe.md +24 -7
- package/brains/cursor-rules/vbounce-docs.mdc +12 -8
- package/brains/cursor-rules/vbounce-process.mdc +5 -4
- package/brains/cursor-rules/vbounce-rules.mdc +9 -6
- package/package.json +2 -2
- package/scripts/validate_report.mjs +11 -5
- package/scripts/vbounce_index.mjs +2 -2
- package/scripts/verify_framework.mjs +17 -0
- package/skills/agent-team/SKILL.md +93 -66
- package/skills/doc-manager/SKILL.md +58 -44
- package/skills/improve/SKILL.md +179 -0
- package/templates/charter.md +8 -8
- package/templates/delivery_plan.md +22 -177
- package/templates/epic.md +19 -19
- package/templates/hotfix.md +9 -12
- package/templates/risk_registry.md +8 -10
- package/templates/roadmap.md +8 -10
- package/templates/sprint.md +48 -0
- package/templates/sprint_report.md +66 -28
- package/templates/story.md +17 -15
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<instructions>
|
|
2
|
+
FOLLOW THIS EXACT STRUCTURE. Output sections in order 1-2.
|
|
3
|
+
|
|
4
|
+
1. **YAML Frontmatter**: Sprint ID, Goal, Dates, Status
|
|
5
|
+
2. **§1 Active Scope**: Table of stories pulled into this sprint. The V-Bounce state tracks its progression.
|
|
6
|
+
3. **§2 Sprint Open Questions**: Unresolved items blocking this active execution window.
|
|
7
|
+
|
|
8
|
+
Output location: `product_plans/sprints/sprint-{XX}/sprint-{XX}.md`
|
|
9
|
+
|
|
10
|
+
Role of this document:
|
|
11
|
+
- This is the Tactical view of the active sprint execution.
|
|
12
|
+
- It tracks ONLY the stories claimed for this 1-week window.
|
|
13
|
+
- The Team Lead agent reads this to know what is in scope.
|
|
14
|
+
|
|
15
|
+
Document Lifecycle:
|
|
16
|
+
- Created by the Team Lead or PM during Sprint Setup.
|
|
17
|
+
- Selected stories are physically moved from `product_plans/backlog/EPIC-*/` to `product_plans/sprints/sprint-{XX}/`.
|
|
18
|
+
- When the sprint completes, this document (and the entire sprint folder) moves to `product_plans/archive/sprints/sprint-{XX}/`.
|
|
19
|
+
|
|
20
|
+
Do NOT output these instructions.
|
|
21
|
+
</instructions>
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
sprint_id: "sprint-{XX}"
|
|
25
|
+
sprint_goal: "{One-sentence North Star}"
|
|
26
|
+
dates: "{MM/DD - MM/DD}"
|
|
27
|
+
status: "Planning / Active / Completed"
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# Sprint S-{XX} Plan
|
|
31
|
+
|
|
32
|
+
## 1. Active Scope
|
|
33
|
+
> Stories pulled from the backlog for execution during this sprint window.
|
|
34
|
+
> The V-Bounce State tracks the live status of the story (Draft -> Ready to Bounce -> Bouncing -> QA Passed -> Architect Passed -> Sprint Review -> Done).
|
|
35
|
+
|
|
36
|
+
| Priority | Story | Epic | Label | V-Bounce State | Blocker |
|
|
37
|
+
|----------|-------|------|-------|----------------|---------|
|
|
38
|
+
| 1 | [STORY-XXX-YY: name](./STORY-XXX-YY-name.md) | EPIC-XXX | L2 | Draft | — |
|
|
39
|
+
|
|
40
|
+
### Escalated / Parking Lot
|
|
41
|
+
- STORY-XXX-YY: {name} — Reason: {escalated / deferred}
|
|
42
|
+
|
|
43
|
+
## 2. Sprint Open Questions
|
|
44
|
+
> Unresolved items that affect this specific 1-week execution window.
|
|
45
|
+
|
|
46
|
+
| Question | Options | Impact | Owner | Status |
|
|
47
|
+
|----------|---------|--------|-------|--------|
|
|
48
|
+
| {question} | A: {x}, B: {y} | Blocks {stories} | {name} | Open / Decided |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<instructions>
|
|
2
2
|
FOLLOW THIS EXACT STRUCTURE. Output sections in order 1-6.
|
|
3
3
|
|
|
4
|
-
1. **
|
|
4
|
+
1. **YAML Frontmatter**: Sprint ID, Goal, Dates, Status, Delivery Ref, Delivery Plan Ref
|
|
5
5
|
2. **§1 What Was Delivered**: User-facing summary — what's accessible/usable vs what's internal/backend
|
|
6
6
|
3. **§2 Story Results**: Table of all stories with final status and per-story metrics
|
|
7
7
|
4. **§3 Execution Metrics**: AI performance metrics — tokens, duration, bounces, correction tax
|
|
@@ -20,18 +20,18 @@ versus what was built under the hood. Write it from the user's perspective, not
|
|
|
20
20
|
Do NOT output these instructions.
|
|
21
21
|
</instructions>
|
|
22
22
|
|
|
23
|
-
# Sprint Report: S-{XX}
|
|
24
|
-
|
|
25
23
|
---
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
sprint_id: "S-{XX}"
|
|
25
|
+
sprint_goal: "{One-sentence North Star}"
|
|
26
|
+
dates: "{MM/DD - MM/DD}"
|
|
27
|
+
status: "Achieved / Partially Achieved / Failed"
|
|
28
|
+
total_tokens_used: {N}
|
|
29
|
+
delivery_ref: "D-{NN}_{release_name}"
|
|
30
|
+
delivery_plan_ref: "product_plans/{delivery}/DELIVERY_PLAN.md"
|
|
33
31
|
---
|
|
34
32
|
|
|
33
|
+
# Sprint Report: S-{XX}
|
|
34
|
+
|
|
35
35
|
## 1. What Was Delivered
|
|
36
36
|
|
|
37
37
|
### User-Facing (Accessible Now)
|
|
@@ -51,12 +51,12 @@ Do NOT output these instructions.
|
|
|
51
51
|
### Not Completed
|
|
52
52
|
> Stories that were planned but didn't make it (escalated, deferred, or partially done).
|
|
53
53
|
|
|
54
|
-
- {e.g., "STORY-001-03
|
|
54
|
+
- {e.g., "STORY-001-03-email_notifications — Escalated (template integration failed 3x)"}
|
|
55
55
|
|
|
56
56
|
### Product Docs Affected
|
|
57
57
|
> Any product documentation files modified, created, or identified for updates. Handed off to Scribe agent.
|
|
58
58
|
|
|
59
|
-
- {e.g., "
|
|
59
|
+
- {e.g., "vdocs/api_reference.md — Added rate limiting details"}
|
|
60
60
|
|
|
61
61
|
---
|
|
62
62
|
|
|
@@ -64,13 +64,13 @@ Do NOT output these instructions.
|
|
|
64
64
|
|
|
65
65
|
| Story | Epic | Label | Final State | Bounces (QA) | Bounces (Arch) | Correction Tax |
|
|
66
66
|
|-------|------|-------|-------------|--------------|----------------|----------------|
|
|
67
|
-
| STORY-{ID}
|
|
67
|
+
| STORY-{ID}-{story_name} | EPIC-{ID} | L{N} | Done / Escalated / Parking Lot | {N} | {N} | {X}% |
|
|
68
68
|
|
|
69
69
|
### Story Highlights
|
|
70
|
-
- **
|
|
70
|
+
- **STORY-{ID}-{story_name}**: {1-sentence summary of what was built and notable decisions}
|
|
71
71
|
|
|
72
72
|
### Escalated Stories (if any)
|
|
73
|
-
- **
|
|
73
|
+
- **STORY-{ID}-{story_name}**: Escalated after {N} bounces. Root cause: {why}. Recommendation: {rewrite spec / descope / kill}.
|
|
74
74
|
|
|
75
75
|
---
|
|
76
76
|
|
|
@@ -105,13 +105,13 @@ Do NOT output these instructions.
|
|
|
105
105
|
|
|
106
106
|
| Story | Tokens | Duration | Agent Sessions | Bounces | Cost |
|
|
107
107
|
|-------|--------|----------|----------------|---------|------|
|
|
108
|
-
| STORY-{ID} | {N} | {Xh Ym} | {N} | {N} | ${X.XX} |
|
|
108
|
+
| STORY-{ID}-{story_name} | {N} | {Xh Ym} | {N} | {N} | ${X.XX} |
|
|
109
109
|
|
|
110
110
|
### Threshold Alerts
|
|
111
111
|
> Flag any metrics that crossed warning or critical thresholds. If none, write "No threshold alerts."
|
|
112
112
|
|
|
113
|
-
- {e.g., "STORY-001-05: Correction Tax 10% (🟡) — root cause: test architecture rework due to ESM timer conflict"}
|
|
114
|
-
- {e.g., "STORY-002-03: 2 QA bounces — spec ambiguity in edge case handling"}
|
|
113
|
+
- {e.g., "STORY-001-05-test_arch: Correction Tax 10% (🟡) — root cause: test architecture rework due to ESM timer conflict"}
|
|
114
|
+
- {e.g., "STORY-002-03-edge_cases: 2 QA bounces — spec ambiguity in edge case handling"}
|
|
115
115
|
|
|
116
116
|
---
|
|
117
117
|
|
|
@@ -121,7 +121,7 @@ Do NOT output these instructions.
|
|
|
121
121
|
|
|
122
122
|
| Source | Lesson | Approved? |
|
|
123
123
|
|--------|--------|-----------|
|
|
124
|
-
| STORY-{ID} Dev Report | {What happened and proposed rule} | Pending / Yes / No |
|
|
124
|
+
| STORY-{ID}-{story_name} Dev Report | {What happened and proposed rule} | Pending / Yes / No |
|
|
125
125
|
|
|
126
126
|
---
|
|
127
127
|
|
|
@@ -136,17 +136,55 @@ Do NOT output these instructions.
|
|
|
136
136
|
### What Didn't Go Well
|
|
137
137
|
> Problems encountered, root causes, and impact on the sprint.
|
|
138
138
|
|
|
139
|
-
- {e.g., "STORY-001-03 escalated because the spec was ambiguous — 3 QA bounces wasted"}
|
|
140
|
-
- {e.g., "Merge conflict on STORY-002-01 required a fix story — cost an extra half-day"}
|
|
139
|
+
- {e.g., "STORY-001-03-api_spec escalated because the spec was ambiguous — 3 QA bounces wasted"}
|
|
140
|
+
- {e.g., "Merge conflict on STORY-002-01-database required a fix story — cost an extra half-day"}
|
|
141
|
+
|
|
142
|
+
### Framework Self-Assessment
|
|
143
|
+
> Aggregated from agent Process Feedback sections. Categorized by area of the V-Bounce framework.
|
|
144
|
+
> Severity: **Friction** (slowed work) or **Blocker** (required workaround).
|
|
145
|
+
> These feed the `improve` skill for framework evolution.
|
|
146
|
+
|
|
147
|
+
#### Templates
|
|
148
|
+
> Template sections that were confusing, incomplete, had unused fields, or were missing critical information.
|
|
149
|
+
|
|
150
|
+
| Finding | Source Agent | Severity | Suggested Fix |
|
|
151
|
+
|---------|-------------|----------|---------------|
|
|
152
|
+
| {e.g., "Story §3 missing 'existing modules to reuse' field"} | Developer | Friction | {Add a reuse checklist to the story template} |
|
|
153
|
+
|
|
154
|
+
#### Agent Handoffs
|
|
155
|
+
> Information that was missing, redundant, or unclear when passed between agents via reports.
|
|
156
|
+
|
|
157
|
+
| Finding | Source Agent | Severity | Suggested Fix |
|
|
158
|
+
|---------|-------------|----------|---------------|
|
|
159
|
+
| {e.g., "Dev report didn't specify test runner — QA had to discover it"} | QA | Friction | {Add 'test_runner' to Dev report YAML frontmatter} |
|
|
160
|
+
|
|
161
|
+
#### RAG Pipeline
|
|
162
|
+
> Context quality issues — irrelevant results, missing critical context, stale embeddings.
|
|
163
|
+
|
|
164
|
+
| Finding | Source Agent | Severity | Suggested Fix |
|
|
165
|
+
|---------|-------------|----------|---------------|
|
|
166
|
+
| {e.g., "Query for 'auth constraints' returned old sprint results"} | Developer | Friction | {Add date-weighted ranking to vbounce_ask.mjs} |
|
|
167
|
+
|
|
168
|
+
#### Skills
|
|
169
|
+
> Skill instructions that were unclear, had gaps, or could be improved for better agent performance.
|
|
170
|
+
|
|
171
|
+
| Finding | Source Agent | Severity | Suggested Fix |
|
|
172
|
+
|---------|-------------|----------|---------------|
|
|
173
|
+
| {e.g., "vibe-code-review Deep Audit missing accessibility dimension"} | Architect | Friction | {Add dimension 7 to deep-audit.md} |
|
|
174
|
+
|
|
175
|
+
#### Process Flow
|
|
176
|
+
> Steps that were unnecessary, wrongly ordered, or missing for this type of work.
|
|
177
|
+
|
|
178
|
+
| Finding | Source Agent | Severity | Suggested Fix |
|
|
179
|
+
|---------|-------------|----------|---------------|
|
|
180
|
+
| {e.g., "Fast Track stories still triggered Architect pass in the checklist"} | Team Lead | Blocker | {Update agent-team SKILL.md Step 4 skip logic} |
|
|
141
181
|
|
|
142
|
-
|
|
143
|
-
>
|
|
182
|
+
#### Tooling & Scripts
|
|
183
|
+
> Script failures, validation gaps, or automation opportunities.
|
|
144
184
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
- {e.g., "First-pass success rate was 40% — require Ambiguity 🟢 on all stories, not just Context Pack checks"}
|
|
149
|
-
- {e.g., "Sprint Integration Audit (Step 6) found no issues in 3 consecutive sprints — consider making it conditional for small sprints"}
|
|
185
|
+
| Finding | Source Agent | Severity | Suggested Fix |
|
|
186
|
+
|---------|-------------|----------|---------------|
|
|
187
|
+
| {e.g., "validate_report.mjs doesn't check for Process Feedback section"} | Team Lead | Friction | {Add optional section validation} |
|
|
150
188
|
|
|
151
189
|
---
|
|
152
190
|
|
package/templates/story.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<instructions>
|
|
2
2
|
FOLLOW THIS EXACT STRUCTURE. Output sections in order 1-4.
|
|
3
3
|
|
|
4
|
-
1. **
|
|
4
|
+
1. **YAML Frontmatter**: Story ID, Parent Epic, Status, Ambiguity, Context Source, Actor, Complexity, Complexity Label
|
|
5
5
|
2. **§1 The Spec**: User Story (As a... I want... So that...) + Detailed Requirements
|
|
6
6
|
3. **§2 The Truth**: Gherkin acceptance criteria + manual verification steps
|
|
7
7
|
4. **§3 Implementation Guide**: Files to modify, technical logic, API contract
|
|
@@ -12,8 +12,11 @@ Ambiguity Score:
|
|
|
12
12
|
- 🟡 Medium: Logic clear, files TBD
|
|
13
13
|
- 🟢 Low: Ready for coding
|
|
14
14
|
|
|
15
|
-
Output location: `product_plans/
|
|
16
|
-
|
|
15
|
+
Output location (Draft/Refinement): `product_plans/backlog/EPIC-{NNN}_{epic_name}/STORY-{EpicID}-{StoryID}-{StoryName}.md`
|
|
16
|
+
|
|
17
|
+
Sprint Lifecycle Rule:
|
|
18
|
+
- When a sprint starts, this Story file is MOVED to `product_plans/sprints/sprint-{XX}/`.
|
|
19
|
+
- When the sprint completes, this Story file is MOVED to `product_plans/archive/sprints/sprint-{XX}/`.
|
|
17
20
|
|
|
18
21
|
Document Hierarchy Position: LEVEL 4 (Charter → Roadmap → Epic → **Story**)
|
|
19
22
|
|
|
@@ -38,19 +41,18 @@ Agent handoff sections:
|
|
|
38
41
|
Do NOT output these instructions.
|
|
39
42
|
</instructions>
|
|
40
43
|
|
|
41
|
-
|
|
44
|
+
---
|
|
45
|
+
story_id: "STORY-{EpicID}-{StoryID}-{StoryName}"
|
|
46
|
+
parent_epic_ref: "EPIC-{ID}"
|
|
47
|
+
status: "Draft / Refinement / Probing/Spiking / Ready to Bounce / Bouncing / QA Passed / Architect Passed / Sprint Review / Done / Escalated / Parking Lot"
|
|
48
|
+
ambiguity: "🔴 High / 🟡 Medium / 🟢 Low"
|
|
49
|
+
context_source: "Epic §{section} / Codebase / User Input"
|
|
50
|
+
actor: "{Persona Name}"
|
|
51
|
+
complexity: "Small (1 file) / Medium (2-3 files) / Large (Refactor needed)"
|
|
52
|
+
complexity_label: "L1 / L2 / L3 / L4 (default: L2)"
|
|
53
|
+
---
|
|
42
54
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
| Field | Value |
|
|
46
|
-
|-------|-------|
|
|
47
|
-
| **Parent Epic** | [EPIC-{ID}: {Name}](link) |
|
|
48
|
-
| **Status** | Draft / Refinement / Probing/Spiking / Ready to Bounce / Bouncing / QA Passed / Architect Passed / Sprint Review / Done / Escalated / Parking Lot |
|
|
49
|
-
| **Ambiguity** | 🔴 High / 🟡 Medium / 🟢 Low |
|
|
50
|
-
| **Context Source** | Epic §{section} / Codebase / User Input |
|
|
51
|
-
| **Actor** | {Persona Name} |
|
|
52
|
-
| **Complexity** | Small (1 file) / Medium (2-3 files) / Large (Refactor needed) |
|
|
53
|
-
| **Complexity Label** | L1 / L2 / L3 / L4 (default: L2) |
|
|
55
|
+
# STORY-{EpicID}-{StoryID}: {Story Name}
|
|
54
56
|
|
|
55
57
|
### Complexity Labels (Sprint Planning)
|
|
56
58
|
|