@atlashub/smartstack-cli 4.19.0 → 4.21.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.
Files changed (73) hide show
  1. package/package.json +2 -2
  2. package/templates/skills/ba-generate-html/SKILL.md +60 -0
  3. package/templates/skills/{business-analyse → ba-generate-html}/html/ba-interactive.html +3 -3
  4. package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-risks.html +1 -1
  5. package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/02-navigation.js +1 -1
  6. package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/07-render-handoff.js +1 -1
  7. package/templates/skills/{business-analyse → ba-generate-html}/html/src/template.html +1 -1
  8. package/templates/skills/{business-analyse/references/deploy-data-build.md → ba-generate-html/references/data-build.md} +2 -2
  9. package/templates/skills/{business-analyse/references/html-data-mapping.md → ba-generate-html/references/data-mapping.md} +2 -2
  10. package/templates/skills/{business-analyse/references/deploy-modes.md → ba-generate-html/references/output-modes.md} +1 -1
  11. package/templates/skills/ba-generate-html/steps/step-01-collect.md +113 -0
  12. package/templates/skills/ba-generate-html/steps/step-02-build-data.md +237 -0
  13. package/templates/skills/ba-generate-html/steps/step-03-render.md +75 -0
  14. package/templates/skills/ba-generate-html/steps/step-04-verify.md +83 -0
  15. package/templates/skills/ba-review/SKILL.md +45 -0
  16. package/templates/skills/{business-analyse → ba-review}/references/review-data-mapping.md +2 -2
  17. package/templates/skills/{business-analyse/steps/step-06-review.md → ba-review/steps/step-01-apply.md} +7 -18
  18. package/templates/skills/business-analyse/SKILL.md +24 -59
  19. package/templates/skills/business-analyse/_shared.md +9 -14
  20. package/templates/skills/business-analyse/questionnaire/01-context.md +11 -157
  21. package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +9 -50
  22. package/templates/skills/business-analyse/questionnaire/03-data-ui.md +1 -3
  23. package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +4 -148
  24. package/templates/skills/business-analyse/questionnaire/05-cross-module.md +5 -5
  25. package/templates/skills/business-analyse/questionnaire.md +7 -8
  26. package/templates/skills/business-analyse/react/components.md +1 -1
  27. package/templates/skills/business-analyse/react/schema.md +1 -1
  28. package/templates/skills/business-analyse/references/acceptance-criteria.md +2 -7
  29. package/templates/skills/business-analyse/references/detection-strategies.md +3 -3
  30. package/templates/skills/business-analyse/references/naming-conventions.md +2 -2
  31. package/templates/skills/business-analyse/references/robustness-checks.md +2 -121
  32. package/templates/skills/business-analyse/references/validation-checklist.md +3 -4
  33. package/templates/skills/business-analyse/schemas/feature-schema.json +1 -1
  34. package/templates/skills/business-analyse/steps/step-00-init.md +6 -9
  35. package/templates/skills/business-analyse/steps/step-01-cadrage.md +9 -49
  36. package/templates/skills/business-analyse/steps/step-04-consolidate.md +13 -6
  37. package/templates/skills/business-analyse/templates/tpl-handoff.md +1 -1
  38. package/templates/skills/business-analyse/templates/tpl-launch-displays.md +1 -1
  39. package/templates/skills/documentation/SKILL.md +7 -0
  40. package/templates/skills/business-analyse/steps/step-05-deploy.md +0 -220
  41. /package/templates/skills/{business-analyse → ba-generate-html}/html/build-html.js +0 -0
  42. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-context.html +0 -0
  43. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-scope.html +0 -0
  44. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-stakeholders.html +0 -0
  45. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/cadrage-success.html +0 -0
  46. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-datamodel.html +0 -0
  47. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-flows.html +0 -0
  48. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-interactions.html +0 -0
  49. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/consol-permissions.html +0 -0
  50. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/decomp-dependencies.html +0 -0
  51. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/decomp-modules.html +0 -0
  52. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/handoff-summary.html +0 -0
  53. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/partials/module-spec-container.html +0 -0
  54. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/01-data-init.js +0 -0
  55. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/03-render-cadrage.js +0 -0
  56. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/04-render-modules.js +0 -0
  57. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/05-render-specs.js +0 -0
  58. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/06-render-consolidation.js +0 -0
  59. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/06-render-mockups.js +0 -0
  60. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/08-editing.js +0 -0
  61. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/09-export.js +0 -0
  62. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/10-comments.js +0 -0
  63. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/scripts/11-review-panel.js +0 -0
  64. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/01-variables.css +0 -0
  65. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/02-layout.css +0 -0
  66. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/03-navigation.css +0 -0
  67. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/04-cards.css +0 -0
  68. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/05-modules.css +0 -0
  69. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/06-wireframes.css +0 -0
  70. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/07-comments.css +0 -0
  71. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/08-review-panel.css +0 -0
  72. /package/templates/skills/{business-analyse → ba-generate-html}/html/src/styles/09-mockups-html.css +0 -0
  73. /package/templates/skills/{business-analyse → ba-generate-html}/references/wireframe-svg-style-guide.md +0 -0
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: step-04-verify
3
+ description: Post-check verification of generated HTML
4
+ model: opus
5
+ ---
6
+
7
+ # Step 4: Verify Generated HTML
8
+
9
+ ## YOUR TASK
10
+
11
+ Run 5 blocking validations on the generated HTML file and display the completion summary.
12
+
13
+ ---
14
+
15
+ ## EXECUTION SEQUENCE
16
+
17
+ ### 1. Blocking Validations
18
+
19
+ **Check 1 — File size > 100KB:**
20
+ ```
21
+ if [ $(stat --format=%s ba-interactive.html) -lt 100000 ]; then
22
+ BLOCKING_ERROR("ba-interactive.html not pre-populated — file too small")
23
+ fi
24
+ ```
25
+
26
+ **Check 2 — moduleSpecs present in HTML:**
27
+ ```
28
+ if ! grep -q '"moduleSpecs"' ba-interactive.html; then
29
+ BLOCKING_ERROR("moduleSpecs not found — FEATURE_DATA not serialized")
30
+ fi
31
+ ```
32
+
33
+ **Check 3 — cadrage.scope uses HTML keys (vital/important, NOT mustHave):**
34
+ ```
35
+ if grep -q '"mustHave"' ba-interactive.html; then
36
+ BLOCKING_ERROR("cadrage.scope still has JSON keys — conversion failed")
37
+ fi
38
+ ```
39
+
40
+ **Check 4 — Wireframe field names correct (format/content, NOT mockupFormat/mockup):**
41
+ ```
42
+ if grep -q '"mockupFormat"' ba-interactive.html; then
43
+ BLOCKING_ERROR("Wireframes use 'mockupFormat' — must be 'format'")
44
+ fi
45
+ ```
46
+
47
+ **Check 5 — All modules have specs AND wireframes:**
48
+ ```
49
+ FOR each module in FEATURE_DATA.modules:
50
+ IF FEATURE_DATA.moduleSpecs[module.code] undefined:
51
+ BLOCKING_ERROR("Module {module.code} not in moduleSpecs")
52
+ IF EMBEDDED_ARTIFACTS.wireframes[module.code] undefined:
53
+ BLOCKING_ERROR("Module {module.code} not in wireframes")
54
+ ```
55
+
56
+ > **IF any check fails:** fix the issue and re-run the failing step before completing.
57
+
58
+ ---
59
+
60
+ ### 2. Display Completion Summary
61
+
62
+ ```
63
+ ══════════════════════════════════════════════════════════════
64
+ [OK] HTML DEPLOY COMPLETE — {application_name}
65
+ ══════════════════════════════════════════════════════════════
66
+
67
+ Modules: {count} ({names})
68
+
69
+ [DIR] Artifact generated:
70
+ ba-interactive.html — Interactive document
71
+ Path: {output_path}
72
+ Pre-populated: {module_count} modules, {total_uc} use cases,
73
+ {total_br} business rules, {total_wireframes} wireframes
74
+
75
+ [NEXT] Review & Validation:
76
+ 1. Open ba-interactive.html in browser
77
+ 2. Review all modules, use cases, business rules
78
+ 3. Validate wireframes and permissions
79
+ 4. If OK: /derive-prd then /ralph-loop to begin development
80
+ 5. If changes needed: /business-analyse to iterate
81
+
82
+ ══════════════════════════════════════════════════════════════
83
+ ```
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: ba-review
3
+ description: "Apply client corrections from ba-review.json and regenerate the interactive HTML document"
4
+ model: opus
5
+ user_invocable: true
6
+ ---
7
+
8
+ # /ba-review
9
+
10
+ Apply corrections exported from the interactive HTML review (`ba-review.json`) to create a new version of the business analysis, then regenerate the HTML document.
11
+
12
+ ## Triggers
13
+
14
+ - Explicit invocation: `/ba-review`
15
+ - When `ba-review.json` is detected in the project root
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Required | Description |
20
+ |-----------|----------|-------------|
21
+ | `--path` | No | Path to ba-review.json (default: project root) |
22
+
23
+ ## Prerequisites
24
+
25
+ - `ba-review.json` must exist (exported from the interactive HTML)
26
+ - Business analysis JSON files must exist (at minimum `index.json` + `cadrage.json`)
27
+ - Feature status must be `consolidated` or `reviewed`
28
+
29
+ ## Workflow
30
+
31
+ | Step | File | Role |
32
+ |------|------|------|
33
+ | 01 | `steps/step-01-apply.md` | Read ba-review.json, create new version, apply corrections to JSON files |
34
+
35
+ After step-01 completes, delegate to `/ba-generate-html` to regenerate the interactive HTML document.
36
+
37
+ ## References
38
+
39
+ | File | Content |
40
+ |------|---------|
41
+ | `references/review-data-mapping.md` | Reverse mapping from ba-review.json to module JSON files |
42
+
43
+ ## Entry Point
44
+
45
+ **FIRST ACTION:** Load `steps/step-01-apply.md`
@@ -1,8 +1,8 @@
1
1
  # Review Data Mapping Reference (references/review-data-mapping.md)
2
2
 
3
- > **Used by:** step-06-review (Apply Review Corrections)
3
+ > **Used by:** /ba-review step-01-apply (Apply Review Corrections)
4
4
  > **Purpose:** Reverse mapping from ba-review.json (HTML export) back to module JSON files format
5
- > **Complement of:** `references/html-data-mapping.md` (forward mapping)
5
+ > **Complement of:** `/ba-generate-html/references/data-mapping.md` (forward mapping)
6
6
 
7
7
  ---
8
8
 
@@ -1,12 +1,12 @@
1
1
  ---
2
- name: step-06-review
2
+ name: step-01-apply
3
3
  description: Apply review corrections from ba-review.json, create new version, regenerate all artifacts
4
4
  model: opus
5
5
  ---
6
6
 
7
- > **Context files:** `_shared.md`, `references/review-data-mapping.md`, `references/html-data-mapping.md`
7
+ > **Context files:** `references/review-data-mapping.md`
8
8
 
9
- # Step 06: Apply Review Corrections
9
+ # Step 01: Apply Review Corrections
10
10
 
11
11
  Apply corrections exported from the interactive HTML review (`ba-review.json`) to create a new version of the business analysis with all downstream artifacts regenerated.
12
12
 
@@ -182,23 +182,12 @@ Create review.json with review_section and update hash in index.json
182
182
 
183
183
  ## Step 8: Regenerate Interactive HTML
184
184
 
185
- > **Reference:** `references/html-data-mapping.md` for FEATURE_DATA and EMBEDDED_ARTIFACTS mapping
185
+ Delegate HTML generation to `/ba-generate-html` skill:
186
186
 
187
187
  ```
188
- 1. Read ba-interactive.html template from skill templates
189
- 2. Build FEATURE_DATA from NEW version:
190
- - Read index.json for metadata
191
- - Read cadrage.json for cadrage section
192
- - Read entities.json, rules.json, usecases.json, etc.
193
- (follow exact mapping from html-data-mapping.md)
194
- 3. Build EMBEDDED_ARTIFACTS from thematic files
195
- (wireframes, e2eFlows, dependencyGraph)
196
- 4. Replace placeholders:
197
- - {{FEATURE_DATA}} → serialized FEATURE_DATA JSON
198
- - {{EMBEDDED_ARTIFACTS}} → serialized EMBEDDED_ARTIFACTS JSON
199
- - {{APPLICATION_NAME}} → application_name
200
- - {{APPLICATION_ID}} → feature_id
201
- 5. Write to new version directory: {new_version_dir}/ba-interactive.html
188
+ 1. Load skill: /ba-generate-html with feature_id
189
+ 2. The skill handles: collect → build → render → verify
190
+ 3. Output: {new_version_dir}/ba-interactive.html
202
191
  ```
203
192
 
204
193
  ## Step 9: Update Manifest
@@ -9,7 +9,7 @@ user_invocable: true
9
9
 
10
10
  ## Architecture
11
11
 
12
- **2 phases, 7 steps** — "Macro vers Specification"
12
+ **2 phases, 5 steps** — "Macro vers Specification"
13
13
 
14
14
  ### Phase 1 — Macro (Identification + Challenge)
15
15
 
@@ -19,29 +19,28 @@ user_invocable: true
19
19
  | 01 | `step-01-cadrage.md` | Opus | Context, stakeholders, scope, risks. ~40 core questions |
20
20
  | 02 | `step-02-structure.md` | Opus | Identify App > Module > Section > Resource hierarchy, CHALLENGE each element |
21
21
 
22
- ### Phase 2 — Specification (Deep dive + Client enrichment)
22
+ ### Phase 2 — Specification (Deep dive + Consolidation)
23
23
 
24
24
  | Step | File | Model | Role |
25
25
  |------|------|-------|------|
26
26
  | 03 | `step-03-specify.md` | Opus | Deep dive per module: entities, BRs, UCs, permissions, screens. Sequential internal loop |
27
27
  | 04 | `step-04-consolidate.md` | Opus | Cross-module validation: data model, permission coherence, E2E flows |
28
- | 05 | `step-05-deploy.md` | Sonnet | Deploy interactive HTML document |
29
- | 06 | `step-06-review.md` | Opus | Apply client corrections from ba-review.json exported from HTML |
30
28
 
31
- ### IA + Client Loop
29
+ ### Post-BA Workflow
32
30
  ```
33
- Phase 1 (steps 00-02) → Phase 2 (steps 03-05) → Client reviews HTML
34
-
35
- Client comments/enriches
36
-
37
- Export ba-review.json
38
-
39
- Step 06 re-deploy HTML
40
-
41
- /derive-prd → /ralph-loop
31
+ Phase 1 (steps 00-02) → Phase 2 (steps 03-04) → /ba-generate-html → Client reviews HTML
32
+
33
+ Client comments/enriches
34
+
35
+ Export ba-review.json
36
+
37
+ /ba-review/ba-generate-html
38
+
39
+ /derive-prd → /ralph-loop
42
40
  ```
43
41
 
44
- > **PRD generation:** Handoff data and PRD files are generated by the `/derive-prd` skill, not by step-05.
42
+ > After step-04, invoke `/ba-generate-html` to generate the HTML, then `/ba-review` for the client correction cycle.
43
+ > **PRD generation:** Handoff data and PRD files are generated by the `/derive-prd` skill.
45
44
 
46
45
  ## JSON Architecture — Granular files + Index
47
46
 
@@ -83,7 +82,6 @@ docs/
83
82
  Each step loads only the files it needs via `index.json`:
84
83
  - Step 03 (specify): loads `index.json` + `entities.json` for current module only
85
84
  - Step 04 (consolidate): loads all `index.json` files for summary counts
86
- - Step 05 (deploy): assembles all files into unified FEATURE_DATA for HTML
87
85
 
88
86
  ## Workflow Modes
89
87
 
@@ -91,7 +89,6 @@ Each step loads only the files it needs via `index.json`:
91
89
  |------|-----------|----------|
92
90
  | `new` | No existing index.json | Full analysis from step 00 |
93
91
  | `update` | Existing index.json found | Delta analysis, skip completed sections |
94
- | `review` | ba-review.json provided | Apply corrections (step 06 only) |
95
92
 
96
93
  ## Context Loading Rules
97
94
 
@@ -104,8 +101,6 @@ Each step loads ONLY what it needs:
104
101
  | 02 | `_shared.md`, `step-02-structure.md` | cadrage.json from step 01 |
105
102
  | 03 | `_shared.md`, `step-03-specify.md` | current module's index.json + relevant files |
106
103
  | 04 | `_shared.md`, `step-04-consolidate.md` | all module index.json files |
107
- | 05 | `_shared.md`, `step-05-deploy.md` | all JSON files for HTML assembly |
108
- | 06 | `_shared.md`, `step-06-review.md` | ba-review.json + current feature files |
109
104
 
110
105
  ## Agents
111
106
 
@@ -116,27 +111,7 @@ Each step loads ONLY what it needs:
116
111
 
117
112
  ## HTML Output
118
113
 
119
- **Single unified HTML** document (`ba-interactive.html`) with:
120
- - Multi-app navigation (4 levels: App > Module > Section > Resource)
121
- - Inline editing (UC, BR, entities, sections/resources)
122
- - HTML mockups from `screens[]` specs (SmartTable, SmartForm, SmartCard, SmartKanban, SmartDashboard)
123
- - Wireframe fallback from EMBEDDED_ARTIFACTS
124
- - Comment system with review panel
125
- - Export: ba-review.json for step 06 loop
126
-
127
- ### FEATURE_DATA structure
128
-
129
- ```javascript
130
- {
131
- metadata: { projectName, version, ... },
132
- applications: [{ code, name, icon, route, modules: [...] }],
133
- cadrage: { context, scope, stakeholders, risks, criteria },
134
- modules: [{ code, applicationCode, name, ... }],
135
- moduleSpecs: { [code]: { useCases, businessRules, entities, permissions, screens, sections, resources } },
136
- consolidation: { interactions, e2eFlows },
137
- comments: []
138
- }
139
- ```
114
+ HTML generation is handled by the `/ba-generate-html` skill. After step-04, invoke `/ba-generate-html` to produce the interactive HTML document. For client review corrections, use `/ba-review`.
140
115
 
141
116
  ## Step Execution
142
117
 
@@ -164,31 +139,21 @@ STEP 03 (specify) — SEQUENTIAL MODULE LOOP
164
139
  → Output: entities.json, rules.json, usecases.json, permissions.json, screens.json
165
140
  → No team mode — sequential ensures 100% context per module
166
141
 
167
- STEP 04 (consolidate)
142
+ STEP 04 (consolidate) — FINAL BA STEP
168
143
  → Load: _shared.md, step-04-consolidate.md, all index.json
169
144
  → Execute: Data model validation, permission coherence, E2E flows
170
145
  → Output: validation.json, consolidated data
171
-
172
- STEP 05 (deploy)
173
- → Load: _shared.md, step-05-deploy.md, all JSON files
174
- → Execute: Assemble FEATURE_DATA, generate HTML
175
- → Output: ba-interactive.html (single file)
176
-
177
- STEP 06 (review) — CLIENT LOOP ENTRY
178
- → Load: _shared.md, step-06-review.md, ba-review.json
179
- → Execute: Apply corrections, create new version
180
- → Output: Updated JSON files, regenerated HTML
146
+ → Next: invoke /ba-generate-html, then /ba-review for client cycle
181
147
  ```
182
148
 
183
149
  ## References
184
150
 
185
151
  | File | Content |
186
152
  |------|---------|
187
- | `references/html-data-mapping.md` | FEATURE_DATA mapping for HTML generation |
153
+ | `/ba-generate-html` skill | HTML generation (FEATURE_DATA mapping, build, render, verify) |
154
+ | `/ba-review` skill | Apply client corrections from ba-review.json |
188
155
  | `references/naming-conventions.md` | SmartStack naming rules |
189
- | `references/wireframe-svg-style-guide.md` | SVG wireframe rendering guide |
190
156
  | `references/validation-checklist.md` | Validation criteria checklist |
191
- | `references/deploy-modes.md` | Deployment configuration |
192
157
  | `references/acceptance-criteria.md` | Acceptance criteria patterns |
193
158
 
194
159
  > **Cross-reference:** Handoff data, PRD generation, file templates, and BR-to-code mappings are in the `/derive-prd` skill.
@@ -197,11 +162,11 @@ STEP 06 (review) — CLIENT LOOP ENTRY
197
162
 
198
163
  | File | Questions | Focus |
199
164
  |------|-----------|-------|
200
- | `questionnaire/01-context.md` | ~20 | Problem, current state, vision, triggers |
201
- | `questionnaire/02-stakeholders-scope.md` | ~25 | User profiles, priorities, scope boundaries |
202
- | `questionnaire/03-data-ui.md` | ~20 | Data entities, UI expectations, integrations |
203
- | `questionnaire/04-risks-metrics.md` | ~15 | Risks, success criteria, constraints |
204
- | `questionnaire/05-cross-module.md` | ~10 | Cross-module dependencies, shared data |
165
+ | `questionnaire/01-context.md` | 3 | Business process, friction points, vision |
166
+ | `questionnaire/02-stakeholders-scope.md` | 10 | User profiles, access levels, scope boundaries |
167
+ | `questionnaire/03-data-ui.md` | ~15 | Data entities, UI expectations, dashboards |
168
+ | `questionnaire/04-risks-metrics.md` | | NOT USED (risks/metrics out of BA scope) |
169
+ | `questionnaire/05-cross-module.md` | ~8 | Cross-module dependencies, integration impact |
205
170
 
206
171
  ## Entry Point
207
172
 
@@ -68,16 +68,16 @@ Steps load only the files they need:
68
68
  |------|---------|-------------|
69
69
  | `new` | No existing index.json | Full analysis from scratch |
70
70
  | `update` | Existing index.json found | Delta analysis (add modules, update specs) |
71
- | `review` | ba-review.json provided | Apply client corrections from HTML export |
72
71
 
73
72
  ### Workflow detection
74
73
 
75
74
  ```
76
- 1. Check for ba-review.json in project root → mode = "review"
77
- 2. Check for existing docs/**/index.json → mode = "update"
78
- 3. Otherwise → mode = "new"
75
+ 1. Check for existing docs/**/index.json → mode = "update"
76
+ 2. Otherwise → mode = "new"
79
77
  ```
80
78
 
79
+ > **Note:** Review mode (`ba-review.json`) is handled by the `/ba-review` skill.
80
+
81
81
  ## Navigation Hierarchy
82
82
 
83
83
  Maps to SmartStack DB tables:
@@ -138,24 +138,19 @@ draft → identified → specified → validated → reviewed
138
138
  | identified | Step 02 | Hierarchy identified (App > Module > Section > Resource) |
139
139
  | specified | Step 03 | Module fully specified (entities, UCs, BRs, permissions, screens) |
140
140
  | validated | Step 04 | Cross-module validation passed |
141
- | reviewed | Step 06 | Client review applied |
141
+ | reviewed | `/ba-review` | Client review applied |
142
142
 
143
143
  ## Handoff & PRD Generation
144
144
 
145
- Handoff data and PRD files are generated by the `/derive-prd` skill, not by step-05. Step-05 only deploys the interactive HTML document. The workflow is:
145
+ Handoff data and PRD files are generated by the `/derive-prd` skill. The workflow is:
146
146
 
147
147
  ```
148
- /business-analyse (steps 00-05) → /derive-prd → /ralph-loop
148
+ /business-analyse (steps 00-04) → /ba-generate-html → /ba-review (if needed) → /derive-prd → /ralph-loop
149
149
  ```
150
150
 
151
- ## HTML Integration
152
-
153
- Single unified HTML (`ba-interactive.html`) generated in step 05:
154
-
155
- - **Single-app**: `docs/{app}/business-analyse/v{X.Y}/ba-interactive.html`
156
- - **Multi-app**: `docs/business-analyse/v{X.Y}/ba-interactive.html`
151
+ ## HTML Generation
157
152
 
158
- The HTML embeds all data as `FEATURE_DATA` JavaScript object. See `references/html-data-mapping.md` for the complete mapping.
153
+ For HTML generation, use the `/ba-generate-html` skill after step-04 consolidation. For client review corrections, use `/ba-review`.
159
154
 
160
155
  ## Resume Protocol
161
156
 
@@ -1,157 +1,32 @@
1
1
  # Categorie 1 : Contexte metier
2
2
 
3
- > **Usage :** Questions fondamentales pour comprendre le besoin metier en profondeur
3
+ > **Usage :** Questions fondamentales pour comprendre le besoin metier
4
4
  > **Quand charger :** TOUJOURS (noyau)
5
- > **Objectif :** Comprendre le POURQUOI avant de parler du QUOI
5
+ > **Objectif :** Comprendre le processus metier, les frictions, et la vision cible
6
6
 
7
7
  ---
8
8
 
9
- ## 1.1 Le probleme a resoudre
10
-
11
- > **But :** Identifier la douleur reelle, pas la solution imaginee.
9
+ ## 1.1 Le processus metier
12
10
 
13
11
  | # | Question | Type de reponse |
14
12
  |---|----------|-----------------|
15
- | Q1.1 | Decrivez en quelques phrases le probleme que vous rencontrez aujourd'hui. Qu'est-ce qui ne fonctionne pas, ou pas assez bien ? | Texte libre |
16
- | Q1.2 | Qui souffre le plus de ce probleme au quotidien ? Quel impact a-t-il sur leur travail ? | Description des personnes impactees |
17
- | Q1.3 | Depuis combien de temps ce probleme existe-t-il ? A-t-il empire recemment ? | Historique et evolution |
18
-
19
- **Reformulation guidee pour Q1.1 :**
20
- ```
21
- question: "Decrivez le probleme que vous rencontrez aujourd'hui"
22
- header: "Probleme"
23
- options:
24
- - label: "Processus trop lent"
25
- description: "Des taches repetitives prennent trop de temps et ralentissent le travail quotidien"
26
- - label: "Informations dispersees"
27
- description: "Les donnees sont eparpillees entre plusieurs outils, fichiers ou personnes"
28
- - label: "Manque de visibilite"
29
- description: "Impossible de suivre l'avancement, les chiffres ou l'etat d'une situation en temps reel"
30
- - label: "Erreurs frequentes"
31
- description: "Des erreurs humaines se produisent regulierement par manque d'outil adapte"
32
- ```
13
+ | Q1.1 | Decrivez en quelques phrases le processus metier que cette application doit gerer. Qu'est-ce qui se passe, qui intervient, et quel est le resultat attendu ? | Texte libre |
33
14
 
34
15
  ---
35
16
 
36
- ## 1.2 La situation actuelle
37
-
38
- > **But :** Comprendre comment les choses se passent AUJOURD'HUI, concretement.
17
+ ## 1.2 Les points de friction
39
18
 
40
19
  | # | Question | Type de reponse |
41
20
  |---|----------|-----------------|
42
- | Q1.4 | Comment gerez-vous ce sujet aujourd'hui ? Avec quels outils (tableur, email, papier, logiciel) ? | Description des outils et methodes actuels |
43
- | Q1.5 | Decrivez les etapes principales de votre processus actuel, du debut a la fin. | Liste d'etapes ordonnees |
44
- | Q1.6 | Quelles sont les etapes les plus penibles ou les plus longues dans ce processus ? | Points de douleur precis |
45
- | Q1.7 | Quelles erreurs ou problemes reviennent regulierement ? Donnez 2 a 3 exemples concrets. | Exemples de dysfonctionnements |
46
-
47
- **Reformulation guidee pour Q1.4 :**
48
- ```
49
- question: "Comment gerez-vous ce sujet aujourd'hui ?"
50
- header: "Outils"
51
- options:
52
- - label: "Tableur (Excel, Sheets)"
53
- description: "Fichiers Excel ou Google Sheets partages ou individuels"
54
- - label: "Email et documents"
55
- description: "Echanges par email avec pieces jointes, documents Word ou PDF"
56
- - label: "Logiciel existant"
57
- description: "Un logiciel est deja en place mais ne repond plus aux besoins"
58
- - label: "Processus manuel"
59
- description: "Papier, appels telephoniques, reunions en personne"
60
- ```
21
+ | Q1.4 | Quels sont les points de friction actuels ? Qu'est-ce qui bloque, ralentit, ou genere des erreurs dans ce processus ? | Description des frictions |
61
22
 
62
23
  ---
63
24
 
64
- ## 1.3 La situation souhaitee
65
-
66
- > **But :** Definir clairement ce que le client veut OBTENIR, pas ce qu'il veut CONSTRUIRE.
25
+ ## 1.3 La vision souhaitee
67
26
 
68
27
  | # | Question | Type de reponse |
69
28
  |---|----------|-----------------|
70
- | Q1.8 | Si le probleme etait resolu demain, que feriez-vous differemment dans votre journee de travail ? | Description du changement concret |
71
- | Q1.9 | Quels resultats concrets attendez-vous ? Citez 2 a 3 ameliorations mesurables (gain de temps, reduction d'erreurs, meilleure visibilite...). | Liste de resultats attendus |
72
- | Q1.10 | Comment saurez-vous que le projet est un succes ? Quel est le signe visible qui montrera que le probleme est resolu ? | Critere de succes observable |
73
-
74
- **Reformulation guidee pour Q1.8 :**
75
- ```
76
- question: "Si le probleme etait resolu demain, que changeriez-vous dans votre journee ?"
77
- header: "Vision"
78
- options:
79
- - label: "Gain de temps"
80
- description: "Des taches qui prennent des heures se feraient en quelques minutes"
81
- - label: "Decisions plus rapides"
82
- description: "Les informations seraient disponibles immediatement pour decider"
83
- - label: "Moins d'erreurs"
84
- description: "Les controles automatiques empecheraient les erreurs courantes"
85
- - label: "Meilleure collaboration"
86
- description: "Tout le monde verrait les memes informations a jour en temps reel"
87
- ```
88
-
89
- ---
90
-
91
- ## 1.4 Le declencheur et l'urgence
92
-
93
- > **But :** Comprendre pourquoi MAINTENANT et calibrer les attentes.
94
-
95
- | # | Question | Type de reponse |
96
- |---|----------|-----------------|
97
- | Q1.11 | Qu'est-ce qui a declenche cette demande ? Pourquoi maintenant et pas il y a 6 mois ? | Evenement declencheur |
98
- | Q1.12 | Que se passerait-il si ce projet n'etait PAS realise ? Quelles consequences a court et moyen terme ? | Impact de l'inaction |
99
-
100
- **Reformulation guidee pour Q1.11 :**
101
- ```
102
- question: "Qu'est-ce qui a declenche cette demande maintenant ?"
103
- header: "Declencheur"
104
- options:
105
- - label: "Croissance de l'activite"
106
- description: "Le volume de travail a augmente et les outils actuels ne suivent plus"
107
- - label: "Obligation reglementaire"
108
- description: "Une nouvelle regle ou loi impose de changer la facon de travailler"
109
- - label: "Probleme critique"
110
- description: "Un incident recent a mis en lumiere un dysfonctionnement grave"
111
- - label: "Opportunite strategique"
112
- description: "Un changement d'organisation ou de strategie ouvre une fenetre d'action"
113
- ```
114
-
115
- ---
116
-
117
- ## Guide d'elicitation approfondi
118
-
119
- ### Techniques de relance par question
120
-
121
- | Question | Si la reponse est vague ou insuffisante | Relance recommandee |
122
- |----------|----------------------------------------|---------------------|
123
- | Q1.1 (probleme) | Le client decrit une solution au lieu d'un probleme | "Oublions la solution un instant. Fermez les yeux et pensez a un moment recent ou ce probleme vous a frustre. Racontez-moi cette situation." |
124
- | Q1.2 (qui souffre) | Reponse generique "tout le monde" | "Prenons une personne precise, celle qui est la plus impactee. Quel est son poste ? Que fait-elle quand elle est bloquee par ce probleme ?" |
125
- | Q1.4 (outils actuels) | "On se debrouille" sans details | "Prenons un exemple concret : la derniere fois que ce probleme s'est presente, qu'avez-vous fait exactement, etape par etape ?" |
126
- | Q1.5 (processus actuel) | Moins de 3 etapes decrites | "Reprenons depuis le debut : quelqu'un a besoin de faire cette tache. Qu'est-ce qu'il fait en premier ? Puis ensuite ? Qui d'autre intervient ? Quand considere-t-on que c'est termine ?" |
127
- | Q1.6 (etapes penibles) | "Tout va bien sauf..." (minimisation) | "Si je chronometrais chaque etape de votre processus, laquelle prendrait le plus de temps ? Laquelle fait le plus soupirer vos equipes ?" |
128
- | Q1.7 (erreurs frequentes) | "Ca arrive rarement" | "La derniere fois qu'une erreur s'est produite, quel a ete l'impact ? Combien de temps pour la corriger ? Qui a du intervenir ?" |
129
- | Q1.8 (vision) | Reponse vague "ca irait mieux" | "Concretement, imaginez que vous arrivez lundi matin et que tout fonctionne parfaitement. Quelle est la premiere chose que vous faites differemment de d'habitude ?" |
130
- | Q1.9 (resultats) | Pas de chiffres ni de mesures | "Aujourd'hui, combien de temps prend ce processus ? Combien d'erreurs par mois ? Si on divisait par deux, est-ce que ca suffirait ?" |
131
- | Q1.10 (critere succes) | "Que les utilisateurs soient contents" | "Imaginons que 3 mois apres le lancement, je vous demande si le projet est un succes. Que me montrez-vous concretement comme preuve ?" |
132
- | Q1.12 (consequences inaction) | "Ca continuera comme avant" | "Et si ca continue encore 1 an comme ca ? 2 ans ? Quels risques voyez-vous : perte de clients, surcharge des equipes, non-conformite ?" |
133
-
134
- ### Signaux d'alerte a detecter
135
-
136
- | Signal du client | Probleme sous-jacent | Action de l'analyste |
137
- |------------------|---------------------|----------------------|
138
- | "Il faudrait un bouton pour..." ou "On a besoin d'un ecran qui..." | **Le client decrit une solution, pas un besoin** | Reformuler : "Quel probleme ce bouton/ecran resoudrait-il ? Qu'est-ce qui est difficile aujourd'hui sans lui ?" |
139
- | "C'est evident" ou "Tout le monde le sait" | **Hypothese implicite non validee** | "Pouvez-vous me l'expliquer comme si c'etait ma premiere journee dans votre entreprise ? Je veux etre sur de bien comprendre." |
140
- | "On verra plus tard" ou "C'est pas prioritaire" | **Sujet potentiellement critique esquive** | "Je comprends. Pouvez-vous quand meme me donner un exemple pour que je le note ? On decidera ensemble de la priorite." |
141
- | Mots vagues : "optimiser", "ameliorer", "moderniser" | **Besoin non concretise** | "Quand vous dites 'optimiser', pouvez-vous me donner un exemple precis de ce qui serait different ?" |
142
- | "On fait comme le concurrent X" | **Besoin copie sans reflexion** | "Qu'est-ce qui fonctionne bien chez le concurrent X selon vous ? Et qu'est-ce qui ne vous conviendrait pas dans leur approche ?" |
143
- | Pas de reponse a Q1.12 (consequences inaction) | **Besoin possiblement artificiel** | Approfondir : si l'absence de solution n'a pas de consequence, le besoin est-il reel ? |
144
-
145
- ### Regles d'enchainement
146
-
147
- | Apres | Si la reponse indique... | Alors |
148
- |-------|-------------------------|-------|
149
- | Q1.1 | Le client decrit un besoin technique | Poser Q1.2 pour recentrer sur les personnes impactees |
150
- | Q1.4 | Aucun outil existant | Sauter Q1.7 (pas d'erreurs a corriger dans un processus inexistant) |
151
- | Q1.5 | Processus tres simple (< 3 etapes) | Reduire la profondeur sur Q1.6, accelerer vers la vision (Q1.8) |
152
- | Q1.9 | Resultats non mesurables | Revenir a Q1.10 et insister sur le critere de succes observable |
153
- | Q1.11 | Obligation reglementaire | Charger le questionnaire de securite (categorie 06) en priorite |
154
- | Q1.12 | Consequences graves | Marquer le projet comme priorite haute, insister sur les risques dans le cadrage |
29
+ | Q1.8 | Qu'est-ce qui doit changer ? Si le probleme etait resolu demain, que feriez-vous differemment dans votre journee de travail ? | Description du changement concret |
155
30
 
156
31
  ---
157
32
 
@@ -159,27 +34,6 @@ options:
159
34
 
160
35
  | Reponse | Alimente |
161
36
  |---------|----------|
162
- | Q1.1, Q1.2, Q1.3 | `cadrage.problem` |
163
- | Q1.4, Q1.5, Q1.6, Q1.7 | `cadrage.asIs` |
164
- | Q1.8, Q1.9, Q1.10 | `cadrage.toBe` + `cadrage.acceptanceCriteria` |
165
- | Q1.11, Q1.12 | `cadrage.trigger` + `cadrage.risks` |
166
-
167
- ---
168
-
169
- ## Strategie de questionnement
170
-
171
- ### Ordre des questions en 3 lots
172
-
173
- **Lot 1 (Q1.1, Q1.2, Q1.3, Q1.4) : Comprendre le probleme**
174
- - Commencer par le probleme et les personnes impactees
175
- - Poser ensuite la question des outils actuels pour ancrer dans le concret
176
-
177
- **Lot 2 (Q1.5, Q1.6, Q1.7) : Cartographier le processus actuel**
178
- - Detailler les etapes du processus existant
179
- - Identifier les points de friction et les erreurs recurrentes
180
- - Ce lot peut etre raccourci si le processus est simple
181
-
182
- **Lot 3 (Q1.8, Q1.9, Q1.10, Q1.11, Q1.12) : Definir la vision et l'urgence**
183
- - Projeter le client dans l'avenir : que changerait une solution ?
184
- - Quantifier les attentes : resultats mesurables
185
- - Comprendre le declencheur et les consequences de l'inaction
37
+ | Q1.1 | `cadrage.problem` |
38
+ | Q1.4 | `cadrage.asIs` |
39
+ | Q1.8 | `cadrage.toBe` |