vbounce-engine 2.5.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.
Files changed (165) hide show
  1. package/README.md +142 -0
  2. package/VBOUNCE_MANIFEST.md +404 -0
  3. package/bin/vbounce.mjs +882 -0
  4. package/brains/AGENTS.md +71 -0
  5. package/brains/CHANGELOG.md +398 -0
  6. package/brains/CLAUDE.md +90 -0
  7. package/brains/GEMINI.md +102 -0
  8. package/brains/SETUP.md +195 -0
  9. package/brains/claude-agents/architect.md +226 -0
  10. package/brains/claude-agents/developer.md +133 -0
  11. package/brains/claude-agents/devops.md +267 -0
  12. package/brains/claude-agents/explorer.md +157 -0
  13. package/brains/claude-agents/qa.md +225 -0
  14. package/brains/claude-agents/scribe.md +171 -0
  15. package/brains/copilot/copilot-instructions.md +54 -0
  16. package/brains/cursor-rules/vbounce-docs.mdc +45 -0
  17. package/brains/cursor-rules/vbounce-process.mdc +51 -0
  18. package/brains/cursor-rules/vbounce-rules.mdc +29 -0
  19. package/brains/windsurf/.windsurfrules +35 -0
  20. package/docs/HOTFIX_EDGE_CASES.md +37 -0
  21. package/docs/IMPROVEMENT.md +46 -0
  22. package/docs/agent-skill-profiles.docx +0 -0
  23. package/docs/icons/alert.svg +1 -0
  24. package/docs/icons/beaker.svg +1 -0
  25. package/docs/icons/book.svg +1 -0
  26. package/docs/icons/git-branch.svg +1 -0
  27. package/docs/icons/git-merge.svg +1 -0
  28. package/docs/icons/graph.svg +1 -0
  29. package/docs/icons/light-bulb.svg +1 -0
  30. package/docs/icons/logo.svg +9 -0
  31. package/docs/icons/pencil.svg +1 -0
  32. package/docs/icons/rocket.svg +1 -0
  33. package/docs/icons/shield.svg +1 -0
  34. package/docs/icons/sync.svg +1 -0
  35. package/docs/icons/terminal.svg +1 -0
  36. package/docs/icons/tools.svg +1 -0
  37. package/docs/icons/zap.svg +1 -0
  38. package/docs/images/bounce_loop_diagram.png +0 -0
  39. package/docs/vbounce-os-manual.docx +0 -0
  40. package/package.json +48 -0
  41. package/scripts/close_sprint.mjs +134 -0
  42. package/scripts/complete_story.mjs +121 -0
  43. package/scripts/count_tokens.mjs +494 -0
  44. package/scripts/doctor.mjs +144 -0
  45. package/scripts/hotfix_manager.sh +157 -0
  46. package/scripts/init_gate_config.sh +151 -0
  47. package/scripts/init_sprint.mjs +129 -0
  48. package/scripts/post_sprint_improve.mjs +486 -0
  49. package/scripts/pre_gate_common.sh +576 -0
  50. package/scripts/pre_gate_runner.sh +176 -0
  51. package/scripts/prep_arch_context.mjs +178 -0
  52. package/scripts/prep_qa_context.mjs +152 -0
  53. package/scripts/prep_sprint_context.mjs +141 -0
  54. package/scripts/prep_sprint_summary.mjs +154 -0
  55. package/scripts/product_graph.mjs +387 -0
  56. package/scripts/product_impact.mjs +167 -0
  57. package/scripts/sprint_trends.mjs +160 -0
  58. package/scripts/suggest_improvements.mjs +363 -0
  59. package/scripts/update_state.mjs +132 -0
  60. package/scripts/validate_bounce_readiness.mjs +152 -0
  61. package/scripts/validate_report.mjs +165 -0
  62. package/scripts/validate_sprint_plan.mjs +117 -0
  63. package/scripts/validate_state.mjs +99 -0
  64. package/scripts/vdoc_match.mjs +269 -0
  65. package/scripts/vdoc_staleness.mjs +199 -0
  66. package/scripts/verify_framework.mjs +122 -0
  67. package/scripts/verify_framework.sh +13 -0
  68. package/skills/agent-team/SKILL.md +579 -0
  69. package/skills/agent-team/references/cleanup.md +42 -0
  70. package/skills/agent-team/references/delivery-sync.md +43 -0
  71. package/skills/agent-team/references/discovery.md +97 -0
  72. package/skills/agent-team/references/git-strategy.md +52 -0
  73. package/skills/agent-team/references/mid-sprint-triage.md +85 -0
  74. package/skills/agent-team/references/report-naming.md +34 -0
  75. package/skills/doc-manager/SKILL.md +444 -0
  76. package/skills/file-organization/SKILL.md +146 -0
  77. package/skills/file-organization/TEST-RESULTS.md +193 -0
  78. package/skills/file-organization/evals/evals.json +41 -0
  79. package/skills/file-organization/references/gitignore-template.md +53 -0
  80. package/skills/file-organization/references/quick-checklist.md +48 -0
  81. package/skills/improve/SKILL.md +296 -0
  82. package/skills/lesson/SKILL.md +136 -0
  83. package/skills/product-graph/SKILL.md +102 -0
  84. package/skills/react-best-practices/SKILL.md +3014 -0
  85. package/skills/react-best-practices/rules/_sections.md +46 -0
  86. package/skills/react-best-practices/rules/_template.md +28 -0
  87. package/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  88. package/skills/react-best-practices/rules/advanced-init-once.md +42 -0
  89. package/skills/react-best-practices/rules/advanced-use-latest.md +39 -0
  90. package/skills/react-best-practices/rules/async-api-routes.md +38 -0
  91. package/skills/react-best-practices/rules/async-defer-await.md +80 -0
  92. package/skills/react-best-practices/rules/async-dependencies.md +51 -0
  93. package/skills/react-best-practices/rules/async-parallel.md +28 -0
  94. package/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  95. package/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  96. package/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  97. package/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  98. package/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  99. package/skills/react-best-practices/rules/bundle-preload.md +50 -0
  100. package/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  101. package/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  102. package/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  103. package/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  104. package/skills/react-best-practices/rules/js-batch-dom-css.md +107 -0
  105. package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  106. package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  107. package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  108. package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  109. package/skills/react-best-practices/rules/js-early-exit.md +50 -0
  110. package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  111. package/skills/react-best-practices/rules/js-index-maps.md +37 -0
  112. package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  113. package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  114. package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  115. package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  116. package/skills/react-best-practices/rules/rendering-activity.md +26 -0
  117. package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  118. package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  119. package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  120. package/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  121. package/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  122. package/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
  123. package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  124. package/skills/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
  125. package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  126. package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  127. package/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
  128. package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  129. package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  130. package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  131. package/skills/react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
  132. package/skills/react-best-practices/rules/rerender-memo.md +44 -0
  133. package/skills/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
  134. package/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
  135. package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  136. package/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
  137. package/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  138. package/skills/react-best-practices/rules/server-auth-actions.md +96 -0
  139. package/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  140. package/skills/react-best-practices/rules/server-cache-react.md +76 -0
  141. package/skills/react-best-practices/rules/server-dedup-props.md +65 -0
  142. package/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  143. package/skills/react-best-practices/rules/server-serialization.md +38 -0
  144. package/skills/vibe-code-review/SKILL.md +70 -0
  145. package/skills/vibe-code-review/references/deep-audit.md +259 -0
  146. package/skills/vibe-code-review/references/pr-review.md +234 -0
  147. package/skills/vibe-code-review/references/quick-scan.md +178 -0
  148. package/skills/vibe-code-review/references/report-template.md +189 -0
  149. package/skills/vibe-code-review/references/trend-check.md +224 -0
  150. package/skills/vibe-code-review/scripts/generate-snapshot.sh +89 -0
  151. package/skills/vibe-code-review/scripts/pr-analyze.sh +180 -0
  152. package/skills/write-skill/SKILL.md +133 -0
  153. package/templates/bug.md +100 -0
  154. package/templates/change_request.md +105 -0
  155. package/templates/charter.md +144 -0
  156. package/templates/delivery_plan.md +44 -0
  157. package/templates/epic.md +203 -0
  158. package/templates/hotfix.md +58 -0
  159. package/templates/risk_registry.md +87 -0
  160. package/templates/roadmap.md +174 -0
  161. package/templates/spike.md +143 -0
  162. package/templates/sprint.md +134 -0
  163. package/templates/sprint_context.md +61 -0
  164. package/templates/sprint_report.md +215 -0
  165. package/templates/story.md +193 -0
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: write-skill
3
+ description: Use when creating or updating Claude Code skills. Applies Anthropic best practices and persuasion principles for effective skill authoring.
4
+ ---
5
+
6
+ # Skill Authoring
7
+
8
+ Creates or updates Claude Code skills following Anthropic's best practices and tested persuasion principles.
9
+
10
+ **Core principle:** No skill without a failing test first. RED-GREEN-REFACTOR for process documentation.
11
+
12
+ ## Trigger
13
+
14
+ `/write-skill` OR `/write-skill [skill-name]` OR when creating/modifying any `.claude/skills/` content.
15
+
16
+ ## Announcement
17
+
18
+ When using this skill, state: "I'm using the write-skill skill to author an effective skill definition."
19
+
20
+ ## Action
21
+
22
+ ### 1. Baseline (RED Phase)
23
+
24
+ Before writing, establish that the skill is needed:
25
+ - What specific failure or gap does this skill address?
26
+ - Can you demonstrate the failure WITHOUT the skill?
27
+ - If you can't show a gap, you don't need a new skill.
28
+
29
+ ### 2. Write Minimal Skill (GREEN Phase)
30
+
31
+ Create the skill at `.claude/skills/[name]/SKILL.md` with this structure:
32
+
33
+ ```yaml
34
+ ---
35
+ name: [kebab-case-name]
36
+ description: [Use when... — must start with triggering conditions, not workflow summary]
37
+ ---
38
+ ```
39
+
40
+ **Structure requirements:**
41
+ - YAML frontmatter: `name` and `description` only
42
+ - Description MUST start with "Use when..."
43
+ - Include searchable keywords (errors, symptoms, tools)
44
+ - Clear overview with core principle
45
+ - Inline code for simple patterns; separate files for heavy reference
46
+
47
+ **Size constraints:**
48
+ - Keep SKILL.md under 500 lines
49
+ - Split into reference files when approaching limit
50
+ - Structure references one level deep from SKILL.md
51
+ - Include table of contents for reference files over 100 lines
52
+
53
+ ### 3. Apply Persuasion Principles
54
+
55
+ Use the right language patterns based on skill type:
56
+
57
+ | Skill Type | Use | Avoid |
58
+ |:---|:---|:---|
59
+ | **Discipline-enforcing** (TDD, verification) | Authority + Commitment + Social Proof | Liking, Reciprocity |
60
+ | **Guidance/technique** | Moderate Authority + Unity | Heavy authority |
61
+ | **Collaborative** | Unity + Commitment | Authority, Liking |
62
+ | **Reference** | Clarity only | All persuasion |
63
+
64
+ **Effective patterns:**
65
+ - Imperative: "YOU MUST", "Never", "Always", "No exceptions"
66
+ - Commitment: "Announce: I'm using [Skill Name]"
67
+ - Scarcity: "IMMEDIATELY after X", "Before proceeding"
68
+ - Social proof: "Every time", "X without Y = failure"
69
+ - Unity: "We're colleagues", "our codebase"
70
+
71
+ **Example — discipline skill:**
72
+ ```markdown
73
+ ✅ Write code before test? Delete it. Start over. No exceptions.
74
+ ❌ Consider writing tests first when feasible.
75
+ ```
76
+
77
+ ### 4. Refine (REFACTOR Phase)
78
+
79
+ - Test the skill across different scenarios
80
+ - Plug loopholes where the agent might rationalize skipping steps
81
+ - Add anti-rationalization language for critical rules
82
+ - Verify the skill works with the target model
83
+
84
+ ### 5. Skill Type Checklist
85
+
86
+ **Techniques** (step-by-step methods):
87
+ - [ ] Clear trigger conditions
88
+ - [ ] Ordered action steps
89
+ - [ ] Explicit wait points
90
+ - [ ] Output format example
91
+
92
+ **Patterns** (mental models):
93
+ - [ ] Recognition criteria
94
+ - [ ] When to apply vs. when not to
95
+ - [ ] Examples of correct application
96
+
97
+ **References** (API docs/guides):
98
+ - [ ] Table of contents
99
+ - [ ] Searchable headings
100
+ - [ ] Code examples with correct/incorrect pairs
101
+
102
+ ## Content Guidelines
103
+
104
+ - **Assume Claude's intelligence** — don't over-explain what can be inferred
105
+ - **Match specificity to fragility:**
106
+ - High freedom (text instructions) → flexible tasks
107
+ - Medium freedom (pseudocode) → preferred patterns
108
+ - Low freedom (exact scripts) → error-prone operations
109
+ - **Avoid time-sensitive information** — use "old patterns" sections for deprecated approaches
110
+ - **Use consistent terminology** — choose one term, not synonyms
111
+ - **Use checklists** for multi-step operations (copyable via TodoWrite)
112
+ - **Include validation loops** — run validator → fix → repeat
113
+
114
+ ## Anti-Patterns
115
+
116
+ - Narrative examples (use code pairs instead)
117
+ - Multi-language dilution (focus on the project's stack)
118
+ - Code in flowcharts (use real code blocks)
119
+ - Generic labels ("Step 1", "Step 2" without context)
120
+ - Vague skill names ("helper", "utility")
121
+ - Offering excessive options without clear defaults
122
+ - Deeply nested file references (one level deep max)
123
+
124
+ ## Deployment Checklist
125
+
126
+ Before marking complete:
127
+ - [ ] RED: Demonstrated the gap without the skill
128
+ - [ ] GREEN: Wrote minimal content addressing the gap
129
+ - [ ] REFACTOR: Tested and plugged loopholes
130
+ - [ ] Description starts with "Use when..."
131
+ - [ ] SKILL.md under 500 lines
132
+ - [ ] References one level deep
133
+ - [ ] Tested against real task scenarios
@@ -0,0 +1,100 @@
1
+ <instructions>
2
+ FOLLOW THIS EXACT STRUCTURE. This documents a defect found during or after sprint execution.
3
+
4
+ 1. **YAML Frontmatter**: Bug ID, Status, Severity, Found During, Affected Story, Reporter
5
+ 2. **§1 The Bug**: What's broken, reproduction steps, expected vs actual
6
+ 3. **§2 Impact**: What's affected, is it blocking?
7
+ 4. **§3 Fix Approach**: Proposed fix, affected files, estimated complexity
8
+ 5. **§4 Verification**: How to verify the fix
9
+
10
+ When to use this template:
11
+ - User reports something is broken mid-sprint
12
+ - QA discovers a defect not covered by acceptance criteria
13
+ - Post-sprint manual review finds an issue
14
+ - A previously working feature regresses
15
+
16
+ Triage rules (from mid-sprint-triage.md):
17
+ - If the bug is L1 (1-2 files, trivial fix) → use .vbounce/templates/hotfix.md instead
18
+ - If the bug is larger → use THIS template, add to current sprint as a fix task
19
+ - Bug fixes do NOT increment QA/Architect bounce counts
20
+
21
+ Output location: `product_plans/sprints/sprint-{XX}/BUG-{Date}-{Name}.md`
22
+ If no sprint is active: `product_plans/backlog/BUG-{Date}-{Name}.md`
23
+
24
+ Do NOT output these instructions.
25
+ </instructions>
26
+
27
+ ---
28
+ bug_id: "BUG-{YYYY-MM-DD}-{name}"
29
+ status: "Open / In Progress / Fixed / Wont Fix"
30
+ severity: "Critical / High / Medium / Low"
31
+ found_during: "Sprint S-{XX} / Post-Sprint Review / User Report"
32
+ affected_story: "STORY-{ID} / N/A (pre-existing)"
33
+ reporter: "{human / QA / user}"
34
+ ---
35
+
36
+ # BUG: {Short Description}
37
+
38
+ ## 1. The Bug
39
+
40
+ **Current Behavior:**
41
+ {What happens — be specific}
42
+
43
+ **Expected Behavior:**
44
+ {What should happen instead}
45
+
46
+ **Reproduction Steps:**
47
+ 1. {Step 1}
48
+ 2. {Step 2}
49
+ 3. {Observe: ...}
50
+
51
+ **Environment:**
52
+ - {Browser/OS/Node version if relevant}
53
+ - {Branch: sprint/S-XX or main}
54
+
55
+ ---
56
+
57
+ ## 2. Impact
58
+
59
+ - **Blocking?** {Yes — blocks STORY-{ID} / No — cosmetic / degraded}
60
+ - **Affected Areas:** {Which features, pages, or flows}
61
+ - **Users Affected:** {All users / specific persona / edge case only}
62
+ - **Data Impact:** {None / corrupted data / lost data}
63
+
64
+ ---
65
+
66
+ ## 3. Fix Approach
67
+
68
+ - **Root Cause:** {Why it's broken — if known}
69
+ - **Proposed Fix:** {What to change}
70
+ - **Files to Modify:** `{filepath1}`, `{filepath2}`
71
+ - **Complexity:** {L1 Trivial / L2 Standard / L3 Complex}
72
+
73
+ > If complexity is L1 → consider using `.vbounce/templates/hotfix.md` instead for faster resolution.
74
+
75
+ ---
76
+
77
+ ## 4. Verification
78
+
79
+ - [ ] {Reproduction steps no longer reproduce the bug}
80
+ - [ ] {Existing tests still pass}
81
+ - [ ] {New test covers the bug scenario — if applicable}
82
+ - [ ] Run `./.vbounce/scripts/hotfix_manager.sh ledger "BUG: {Name}" "{Brief description}"`
83
+
84
+ ---
85
+
86
+ ---
87
+
88
+ ## Token Usage
89
+ > Auto-populated by agents. Each agent runs `node .vbounce/scripts/count_tokens.mjs --self --append <this-file> --name <Agent>` before writing their report.
90
+
91
+ | Agent | Input | Output | Total |
92
+ |-------|-------|--------|-------|
93
+
94
+ ---
95
+
96
+ ## Change Log
97
+
98
+ | Date | Author | Change |
99
+ |------|--------|--------|
100
+ | {YYYY-MM-DD} | {name} | Created |
@@ -0,0 +1,105 @@
1
+ <instructions>
2
+ FOLLOW THIS EXACT STRUCTURE. This documents a scope change or new requirement discovered mid-sprint.
3
+
4
+ 1. **YAML Frontmatter**: CR ID, Status, Category, Urgency, Affected Stories, Requestor
5
+ 2. **§1 The Change**: What's being requested and why
6
+ 3. **§2 Impact Assessment**: What it affects, what breaks, what gets delayed
7
+ 4. **§3 Decision**: Approved action with rationale
8
+ 5. **§4 Execution Plan**: How the change will be handled
9
+
10
+ When to use this template:
11
+ - User requests a new feature or scope expansion mid-sprint
12
+ - User wants to change the technical approach of an active story
13
+ - External dependency change forces a pivot
14
+ - Requirements discovered during implementation that weren't in the original spec
15
+
16
+ Categories (from mid-sprint-triage.md):
17
+ - **Scope Change**: Adding/removing/modifying requirements → use THIS template
18
+ - **Approach Change**: Different technical path → use THIS template
19
+ - **Spec Clarification**: Just clarifying ambiguity → do NOT use this template (update story spec inline)
20
+ - **Bug**: Something is broken → use .vbounce/templates/bug.md instead
21
+
22
+ Triage rules:
23
+ - Scope changes PAUSE the active bounce until the human approves
24
+ - Approach changes reset the Dev pass
25
+ - All CRs are logged in Sprint Plan §4 Execution Log with event type "CR"
26
+ - CRs that can't fit in the current sprint go to backlog for next sprint planning
27
+
28
+ Output location: `product_plans/sprints/sprint-{XX}/CR-{Date}-{Name}.md`
29
+ If no sprint is active: `product_plans/backlog/CR-{Date}-{Name}.md`
30
+
31
+ Do NOT output these instructions.
32
+ </instructions>
33
+
34
+ ---
35
+ cr_id: "CR-{YYYY-MM-DD}-{name}"
36
+ status: "Open / Approved / Rejected / Deferred"
37
+ category: "Scope Change / Approach Change"
38
+ urgency: "Blocking / This Sprint / Next Sprint"
39
+ affected_stories: ["STORY-{ID}"]
40
+ requestor: "{human / AI / external}"
41
+ ---
42
+
43
+ # CR: {Short Description}
44
+
45
+ ## 1. The Change
46
+
47
+ **What is being requested:**
48
+ {Describe the change clearly}
49
+
50
+ **Why:**
51
+ {Business reason, user feedback, technical discovery, external dependency change}
52
+
53
+ **Original vs Proposed:**
54
+ | Aspect | Original | Proposed |
55
+ |--------|----------|----------|
56
+ | {Scope/Approach/Tech} | {What was planned} | {What's now requested} |
57
+
58
+ ---
59
+
60
+ ## 2. Impact Assessment
61
+
62
+ **Affected Stories:**
63
+ | Story | Current State | Impact |
64
+ |-------|--------------|--------|
65
+ | STORY-{ID} | {Bouncing / QA Passed / ...} | {Must restart Dev / Spec update only / Blocked} |
66
+
67
+ **Sprint Impact:**
68
+ - {Does this delay the sprint? By how much?}
69
+ - {Does this invalidate completed work?}
70
+ - {Does this require new stories?}
71
+
72
+ **Risk:**
73
+ - {What could go wrong if we make this change?}
74
+ - {What could go wrong if we DON'T make this change?}
75
+
76
+ ---
77
+
78
+ ## 3. Decision
79
+
80
+ > Filled by human after reviewing the impact assessment.
81
+
82
+ **Decision:** {Approved / Rejected / Deferred to S-{XX}}
83
+
84
+ **Rationale:** {Why this decision}
85
+
86
+ **Conditions:** {Any constraints on the approved change}
87
+
88
+ ---
89
+
90
+ ## 4. Execution Plan
91
+
92
+ > Filled after decision is approved.
93
+
94
+ - **Stories affected:** {Which stories need spec updates}
95
+ - **New stories needed:** {If any — add to backlog or current sprint}
96
+ - **Bounce impact:** {Which passes reset — Dev only / Dev + QA / full restart}
97
+ - **Timeline:** {Can it fit in current sprint or deferred?}
98
+
99
+ ---
100
+
101
+ ## Change Log
102
+
103
+ | Date | Author | Change |
104
+ |------|--------|--------|
105
+ | {YYYY-MM-DD} | {name} | Created |
@@ -0,0 +1,144 @@
1
+ <instructions>
2
+ FOLLOW THIS EXACT STRUCTURE. Output sections in order 1-9.
3
+
4
+ 1. **YAML Frontmatter**: Set status, ambiguity, and readiness
5
+ 2. **§1 Project Identity**: What it is, what it's NOT, success metrics
6
+ 3. **§2 Design Principles**: 3-5 numbered rules (these guide all future decisions)
7
+ 4. **§3 Architecture**: System diagram + Tech Stack table (mark unknown as `[TBD]`)
8
+ 5. **§4 Core Entities**: Table of data objects (nouns)
9
+ 6. **§5 Key Workflows**: Numbered steps for main flows (verbs)
10
+ 7. **§6 Constraints**: Known limitations and mitigations
11
+ 8. **§7 Open Questions**: Unanswered items that may block progress
12
+ 9. **§8-9 Glossary & References**: Terms and links
13
+
14
+ Ambiguity Score:
15
+ - 🔴 High: Missing "why" or primary flow → Blocked
16
+ - 🟡 Medium: Tech TBD but logic clear → Ready for Roadmap
17
+ - 🟢 Low: All filled → Ready for Epics
18
+
19
+ Output location: `product_plans/strategy/{project}_charter.md`
20
+
21
+ Document Hierarchy Position: ROOT
22
+ Charter is the source of truth for WHY. All downstream documents inherit from it:
23
+ Charter (why) → Roadmap (strategic what/when) → Epic (detailed what) → Story (how) → Delivery Plan (execution) → Risk Registry (risks)
24
+
25
+ Downstream consumers:
26
+ - Roadmap §1 pulls Vision, Goal, Users, and Success Metrics from Charter §1
27
+ - Roadmap §3 ADRs are constrained by Charter §3 Tech Stack choices
28
+ - Epic §1 Problem & Value traces back to Charter §1.1 and §5 Workflows
29
+ - Design Principles (§2) are referenced by ALL agents when making ambiguous decisions
30
+
31
+ Do NOT output these instructions.
32
+ </instructions>
33
+
34
+ ---
35
+ status: "🌱 Initial Draft / 🌿 Refining / 🌳 Approved"
36
+ ambiguity: "🔴 High / 🟡 Medium / 🟢 Low"
37
+ readiness: "Blocked / Ready for Roadmap / Ready for Epics"
38
+ ---
39
+
40
+ # Project Charter: [Project Name]
41
+
42
+ ## 1. Project Identity
43
+
44
+ ### 1.1 What It Is
45
+ > One paragraph: what the product does and for whom.
46
+
47
+ ### 1.2 What It Is NOT
48
+ > Explicit boundaries. Prevents scope creep and AI hallucination.
49
+ - Not a {similar product X}
50
+ - Does not handle {out-of-scope capability}
51
+
52
+ ### 1.3 Success Definition
53
+ > How do we know we won? Measurable outcomes.
54
+ - {Metric 1}
55
+ - {Metric 2}
56
+
57
+ ---
58
+
59
+ ## 2. Design Principles
60
+ > Numbered rules that guide ALL decisions. AI agents reference these when uncertain.
61
+
62
+ 1. **{Principle Name}**: {One sentence explanation}
63
+ 2. **{Principle Name}**: {One sentence explanation}
64
+ 3. **{Principle Name}**: {One sentence explanation}
65
+
66
+ ---
67
+
68
+ ## 3. Architecture Overview
69
+
70
+ ### 3.1 System Context
71
+ ```mermaid
72
+ flowchart LR
73
+ User --> Frontend
74
+ Frontend --> API
75
+ API --> Database
76
+ API --> ExternalService
77
+ ```
78
+
79
+ ### 3.2 Technical Foundation
80
+ | Component | Choice | Status | Notes |
81
+ |-----------|--------|--------|-------|
82
+ | **Frontend** | {e.g. Next.js} | Selected / TBD | {Reasoning} |
83
+ | **Backend** | {e.g. Python/FastAPI} | Selected / TBD | |
84
+ | **Database** | {e.g. Supabase} | Selected / TBD | |
85
+ | **AI/ML** | {e.g. Claude API} | Selected / TBD | |
86
+ | **Integrations** | {List External APIs} | Selected / TBD | |
87
+
88
+ ---
89
+
90
+ ## 4. Core Entities
91
+ > The nouns of your system. AI uses this to understand data flow.
92
+
93
+ | Entity | Purpose | Key Fields |
94
+ |--------|---------|------------|
95
+ | User | Account holder | id, email, role |
96
+ | {Entity} | {purpose} | {fields} |
97
+
98
+ ---
99
+
100
+ ## 5. Key Workflows
101
+ > The verbs of your system. Reference these in Epics.
102
+
103
+ ### 5.1 {Workflow Name}
104
+ 1. {Step}
105
+ 2. {Step}
106
+ 3. {Step}
107
+
108
+ ### 5.2 {Workflow Name}
109
+ 1. {Step}
110
+ 2. {Step}
111
+
112
+ ---
113
+
114
+ ## 6. Constraints & Edge Cases
115
+ | Constraint | Mitigation |
116
+ |------------|------------|
117
+ | {e.g., Rate limits on external API} | {how we handle it} |
118
+ | {e.g., Offline support required} | {approach} |
119
+ | {e.g., GDPR compliance} | {approach} |
120
+
121
+ ---
122
+
123
+ ## 7. Open Questions
124
+
125
+ > [!QUESTION]
126
+ > {Question that blocks progress}
127
+
128
+ | Question | Options | Impact | Status |
129
+ |----------|---------|--------|--------|
130
+ | {decision needed} | A: {x}, B: {y} | Blocks {X} | Open / Decided |
131
+
132
+ ---
133
+
134
+ ## 8. Glossary
135
+ | Term | Definition |
136
+ |------|------------|
137
+ | {term} | {what it means in THIS project} |
138
+
139
+ ---
140
+
141
+ ## 9. References
142
+ - Design Docs: {link}
143
+ - Competitor Analysis: {link}
144
+ - User Research: {link}
@@ -0,0 +1,44 @@
1
+ <instructions>
2
+ FOLLOW THIS EXACT STRUCTURE. Output sections in order 1-4.
3
+ 1. **Header**: Set Status, link to Roadmap + Risk Registry, Sprint Cadence
4
+ 2. **§1 Project Window**: Start/End dates, total sprints, team
5
+ 3. **§2 Epics Included**: Table of all Epics assigned to this delivery
6
+ 4. **§3 High-Level Backlog**: Unassigned stories (Epics being broken down)
7
+
8
+ Delivery Lifecycle:
9
+ - This document tracks the *milestone* across multiple sprints.
10
+ - Active sprint work happens inside `sprints/sprint-{XX}/sprint-{XX}.md`, not here.
11
+ - When the delivery is fully shipped, this entire document is archived.
12
+
13
+ Output location: `product_plans/D-{NN}_{release_name}/D-{NN}_DELIVERY_PLAN.md`
14
+ Do NOT output these instructions.
15
+ </instructions>
16
+ # Delivery Plan: {Project Name}
17
+ ---
18
+ > **Last Updated**: {YYYY-MM-DD}
19
+ > **Status**: Planning / In Delivery / Completed
20
+ > **Roadmap**: `product_plans/{project}_roadmap.md`
21
+ > **Risk Registry**: `product_plans/RISK_REGISTRY.md`
22
+ > **Delivery**: `D-{NN}_{release_name}`
23
+ > **Sprint Cadence**: 1-week sprints
24
+ ---
25
+ ## 1. Project Window
26
+ | Key | Value |
27
+ |-----|-------|
28
+ | **Start Date** | {YYYY-MM-DD} |
29
+ | **End Date** | {YYYY-MM-DD} |
30
+ | **Total Sprints** | {N} |
31
+ | **Team** | {CE name(s) / Agent config} |
32
+ ---
33
+ ## 2. Epics Included
34
+ | Epic | Name | Status | Stories | V-Bounce Phase |
35
+ |------|------|--------|---------|----------------|
36
+ | EPIC-XXX | {Name} | Draft / Refinement / Bouncing / Done | {Y}/{X} | {Phase Name} |
37
+ ---
38
+ ## 3. High-Level Backlog
39
+ > Stories prioritized for this delivery but not yet assigned to an active Sprint.
40
+ | Priority | Story | Epic | Label | Blocker |
41
+ |----------|-------|------|-------|---------|
42
+ | 1 | STORY-XXX-YY: {name} | EPIC-XXX | L2 | — |
43
+ ### Escalated / Parking Lot
44
+ - STORY-XXX-YY: {name} — Reason: {escalated / deferred}