@fluentcommerce/ai-skills 0.2.0 → 0.3.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.
Potentially problematic release.
This version of @fluentcommerce/ai-skills might be problematic. Click here for more details.
- package/README.md +866 -616
- package/bin/cli.mjs +2112 -1973
- package/content/cli/agents/fluent-cli/agent.json +149 -149
- package/content/cli/agents/fluent-cli.md +132 -132
- package/content/cli/skills/fluent-bootstrap/SKILL.md +214 -190
- package/content/cli/skills/fluent-cli-index/SKILL.md +1 -1
- package/content/cli/skills/fluent-cli-mcp-cicd/SKILL.md +117 -1
- package/content/cli/skills/fluent-cli-reference/SKILL.md +1040 -623
- package/content/cli/skills/fluent-cli-retailer/SKILL.md +27 -2
- package/content/cli/skills/fluent-cli-settings/SKILL.md +21 -1
- package/content/cli/skills/fluent-connect/SKILL.md +937 -886
- package/content/cli/skills/fluent-module-deploy/SKILL.md +181 -17
- package/content/cli/skills/fluent-profile/SKILL.md +73 -0
- package/content/cli/skills/fluent-workflow/SKILL.md +360 -310
- package/content/dev/agents/fluent-backend-dev/AGENT.md +58 -0
- package/content/dev/agents/fluent-backend-dev/agent.json +69 -0
- package/content/dev/agents/fluent-backend-dev.md +287 -0
- package/content/dev/agents/fluent-dev/AGENT.md +98 -76
- package/content/dev/agents/fluent-dev/agent.json +24 -2
- package/content/dev/agents/fluent-dev.md +194 -524
- package/content/dev/agents/fluent-frontend-dev/AGENT.md +63 -0
- package/content/dev/agents/fluent-frontend-dev/agent.json +52 -0
- package/content/dev/agents/fluent-frontend-dev.md +323 -0
- package/content/dev/skills/fluent-archive/SKILL.md +234 -0
- package/content/dev/skills/fluent-build/SKILL.md +312 -170
- package/content/dev/skills/fluent-connection-analysis/SKILL.md +422 -386
- package/content/dev/skills/fluent-custom-code/SKILL.md +15 -9
- package/content/dev/skills/fluent-data-module-scaffold/SKILL.md +731 -0
- package/content/dev/skills/fluent-e2e-test/SKILL.md +501 -394
- package/content/dev/skills/fluent-event-api/SKILL.md +962 -945
- package/content/dev/skills/fluent-feature-explain/SKILL.md +680 -603
- package/content/dev/skills/fluent-feature-plan/PLAN_TEMPLATE.md +40 -11
- package/content/dev/skills/fluent-feature-plan/SKILL.md +478 -221
- package/content/dev/skills/fluent-feature-status/SKILL.md +335 -0
- package/content/dev/skills/fluent-feedback/SKILL.md +221 -0
- package/content/dev/skills/fluent-implementation-map/SKILL.md +644 -0
- package/content/dev/skills/fluent-job-batch/SKILL.md +10 -0
- package/content/dev/skills/fluent-module-scaffold/SKILL.md +134 -3
- package/content/dev/skills/fluent-module-validate/SKILL.md +778 -775
- package/content/dev/skills/fluent-mystique-analyze/SKILL.md +817 -0
- package/content/dev/skills/fluent-mystique-builder/COMPONENT_TEMPLATE.md +81 -0
- package/content/dev/skills/fluent-mystique-builder/README.md +63 -0
- package/content/dev/skills/fluent-mystique-builder/SKILL.md +1294 -0
- package/content/dev/skills/fluent-mystique-builder/components/INDEX.md +92 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.accordion.md +48 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.fulfilmentpack.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.multiparcel.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.returnitems.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.wavepick.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.inline.md +24 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.activity.entity.md +25 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.analytics.viz.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.column.md +111 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.json.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.jsoneditor.md +54 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.locationId.md +51 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.retailerId.md +52 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.bar.md +57 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.download.md +53 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.inline.compatibility.md +60 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.inline.md +53 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.md +24 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.pick.md +61 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.buttons.add.reject.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.attribute.md +73 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.attributes.grid.md +40 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.image.md +37 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.map.point.md +24 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.multi.md +79 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.product.md +27 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.area.md +34 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.area.wrapper.feed.md +98 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.bar.md +52 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.bar.wrapper.source.md +104 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.gauge.md +28 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.gauge.wrapper.threshold.md +118 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.line.md +32 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.conditional.md +62 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.dashboard.threshold.md +65 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.daterange.wrapper.forwarder.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.drawer.button.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.event.detail.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.events.search.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.daterange.md +83 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.filterComplex.md +106 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.intrange.md +82 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.multistring.md +50 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.filterPanel.md +53 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.json.editor.md +22 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.json.viewer.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.customAction.md +79 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.md +116 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.bppmetrics.md +69 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.feed.md +65 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.source.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.modal.button.addItem.md +60 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.modal.button.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mutation.inline.md +88 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.collapsible.attributes.md +83 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.collapsible.text.md +33 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.link.md +30 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.order.itemDetails.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.order.shipmentDetails.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.filter.select.md +87 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.refresh.md +48 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.column.md +71 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.header.md +61 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.md +59 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.wizard.md +45 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.wizard.summary.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.progress.circular.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.provider.graphql.md +71 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.quantity.list.md +87 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.repeater.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.reports.ipuipc.md +54 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.return.rowExpansion.md +19 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.barcode.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.barcodeFilter.md +72 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.camera.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.settingForm.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.profile.drawer.button.md +19 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.profile.modal.button.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.strategy.modal.button.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.stepper.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tab.content.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tabs.card.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tabs.md +69 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tile.metric.md +73 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.workflow.provider.md +77 -0
- package/content/dev/skills/fluent-mystique-builder/validate-docs.ps1 +260 -0
- package/content/dev/skills/fluent-mystique-scaffold/SKILL.md +1830 -0
- package/content/dev/skills/fluent-mystique-validate/SKILL.md +646 -0
- package/content/dev/skills/fluent-pre-deploy-check/SKILL.md +1144 -1090
- package/content/dev/skills/fluent-retailer-config/SKILL.md +1162 -1120
- package/content/dev/skills/fluent-rollback/SKILL.md +387 -0
- package/content/dev/skills/fluent-rule-scaffold/SKILL.md +515 -394
- package/content/dev/skills/fluent-scope-decompose/SKILL.md +1123 -1021
- package/content/dev/skills/fluent-session-audit-export/SKILL.md +880 -632
- package/content/dev/skills/fluent-session-summary/SKILL.md +320 -195
- package/content/dev/skills/fluent-settings/SKILL.md +151 -2
- package/content/dev/skills/fluent-source-onboard/SKILL.md +23 -4
- package/content/dev/skills/fluent-sourcing/SKILL.md +14 -0
- package/content/dev/skills/fluent-system-monitoring/SKILL.md +771 -767
- package/content/dev/skills/fluent-test-data/SKILL.md +514 -513
- package/content/dev/skills/fluent-trace/SKILL.md +1169 -1143
- package/content/dev/skills/fluent-transition-api/SKILL.md +364 -346
- package/content/dev/skills/fluent-use-case-discover/SKILL.md +593 -471
- package/content/dev/skills/fluent-use-case-discover/SPEC_TEMPLATE.md +22 -1
- package/content/dev/skills/fluent-version-manage/SKILL.md +44 -3
- package/content/dev/skills/fluent-workflow-analyzer/SKILL.md +995 -959
- package/content/dev/skills/fluent-workflow-builder/SKILL.md +668 -326
- package/content/dev/skills/fluent-workflow-deploy/SKILL.md +480 -0
- package/content/dev/skills/fluent-workspace-tree/SKILL.md +281 -0
- package/content/mcp-extn/agents/fluent-mcp.md +133 -132
- package/content/mcp-extn/skills/fluent-mcp-tools/SKILL.md +812 -800
- package/content/mcp-official/agents/fluent-mcp-core.md +91 -91
- package/content/mcp-official/skills/fluent-mcp-core/SKILL.md +94 -94
- package/content/rfl/skills/fluent-rfl-assess/SKILL.md +172 -172
- package/docs/CAPABILITY_MAP.md +106 -73
- package/docs/DEPLOYMENT_PROMOTION_RUNBOOK.md +218 -0
- package/docs/DESIGN-implementation-map.md +698 -0
- package/docs/DEV_WORKFLOW.md +814 -802
- package/docs/FLOW_RUN.md +142 -142
- package/docs/GETTING_STARTED.md +427 -0
- package/docs/USE_CASES.md +906 -50
- package/metadata.json +184 -155
- package/package.json +7 -2
- package/docs/USE_CASES.pdf +0 -0
|
@@ -1,471 +1,593 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: fluent-use-case-discover
|
|
3
|
-
description: Interactive requirements gathering wizard that produces a structured Business Specification. Walks through use cases, actors, business rules, integrations, and acceptance criteria. Supports interactive mode and document analysis mode. Triggers on "discover use case", "gather requirements", "business spec", "use case discovery", "what are we building", "requirements gathering", "spec wizard", "analyze requirements".
|
|
4
|
-
user-invocable: true
|
|
5
|
-
allowed-tools: Bash, Read, Write, Edit, Glob, Grep
|
|
6
|
-
argument-hint: [--analyze <path-or-paste>] [--profile PROFILE] [--retailer RETAILER_REF]
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Use Case Discovery Wizard
|
|
10
|
-
|
|
11
|
-
Gather structured business requirements through interactive questioning or document analysis. Produces a Business Specification document that feeds directly into `/fluent-feature-plan` for technical implementation planning.
|
|
12
|
-
|
|
13
|
-
## Ownership Boundary
|
|
14
|
-
|
|
15
|
-
This skill owns requirements elicitation, use case definition, business rule capture, and the Business Spec output artifact.
|
|
16
|
-
|
|
17
|
-
Other skills own:
|
|
18
|
-
- Technical implementation planning --> `/fluent-feature-plan`
|
|
19
|
-
- Scope document decomposition (ADD format) --> `/fluent-scope-decompose`
|
|
20
|
-
- Feature reverse-engineering (existing features) --> `/fluent-feature-explain`
|
|
21
|
-
- Workflow building --> `/fluent-workflow-builder`
|
|
22
|
-
- Rule scaffolding --> `/fluent-rule-scaffold`
|
|
23
|
-
|
|
24
|
-
This skill produces the business spec; `/fluent-feature-plan` translates it into a technical plan.
|
|
25
|
-
|
|
26
|
-
## When to Use
|
|
27
|
-
|
|
28
|
-
- User has a business need but hasn't structured it into formal requirements
|
|
29
|
-
- Starting a new feature and need to capture use cases before planning
|
|
30
|
-
- A requirements document exists but needs completeness validation and gap filling
|
|
31
|
-
- Before running `/fluent-feature-plan` — to ensure all business context is gathered
|
|
32
|
-
- When multiple stakeholders have provided fragmented requirements that need consolidation
|
|
33
|
-
|
|
34
|
-
**Do NOT use** when:
|
|
35
|
-
- Requirements are already structured in ADD scope format → use `/fluent-scope-decompose`
|
|
36
|
-
- You need to understand an existing feature → use `/fluent-feature-explain`
|
|
37
|
-
- Requirements are clear and you're ready to plan → go directly to `/fluent-feature-plan`
|
|
38
|
-
|
|
39
|
-
## Template Reference
|
|
40
|
-
|
|
41
|
-
**The Business Spec output template lives at: `SPEC_TEMPLATE.md` (in this skill directory).**
|
|
42
|
-
|
|
43
|
-
Read that file before producing any spec. It defines:
|
|
44
|
-
- The 13-section structure with traceability matrix
|
|
45
|
-
- Section descriptions and worked examples
|
|
46
|
-
- Completeness scoring criteria
|
|
47
|
-
|
|
48
|
-
##
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
**
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
| # | Question | Type | Required |
|
|
125
|
-
|---|----------|------|----------|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
| |
|
|
130
|
-
|
|
|
131
|
-
|
|
|
132
|
-
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
|
153
|
-
|
|
154
|
-
|
|
|
155
|
-
| |
|
|
156
|
-
|
|
|
157
|
-
|
|
|
158
|
-
|
|
|
159
|
-
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
**
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
**
|
|
177
|
-
|
|
178
|
-
|
|
|
179
|
-
|
|
180
|
-
|
|
|
181
|
-
| |
|
|
182
|
-
|
|
|
183
|
-
| |
|
|
184
|
-
|
|
|
185
|
-
|
|
|
186
|
-
| | Probe:
|
|
187
|
-
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
**
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
**
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
**
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
|
302
|
-
|
|
303
|
-
|
|
|
304
|
-
|
|
|
305
|
-
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
|
322
|
-
|
|
323
|
-
|
|
|
324
|
-
| |
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
|
344
|
-
|
|
345
|
-
|
|
|
346
|
-
|
|
|
347
|
-
| 3
|
|
348
|
-
| 4
|
|
349
|
-
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
1
|
+
---
|
|
2
|
+
name: fluent-use-case-discover
|
|
3
|
+
description: Interactive requirements gathering wizard that produces a structured Business Specification. Walks through use cases, actors, business rules, integrations, and acceptance criteria. Supports interactive mode and document analysis mode. Triggers on "discover use case", "gather requirements", "business spec", "use case discovery", "what are we building", "requirements gathering", "spec wizard", "analyze requirements".
|
|
4
|
+
user-invocable: true
|
|
5
|
+
allowed-tools: Bash, Read, Write, Edit, Glob, Grep
|
|
6
|
+
argument-hint: [--analyze <path-or-paste>] [--profile PROFILE] [--retailer RETAILER_REF]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Use Case Discovery Wizard
|
|
10
|
+
|
|
11
|
+
Gather structured business requirements through interactive questioning or document analysis. Produces a Business Specification document that feeds directly into `/fluent-feature-plan` for technical implementation planning.
|
|
12
|
+
|
|
13
|
+
## Ownership Boundary
|
|
14
|
+
|
|
15
|
+
This skill owns requirements elicitation, use case definition, business rule capture, and the Business Spec output artifact.
|
|
16
|
+
|
|
17
|
+
Other skills own:
|
|
18
|
+
- Technical implementation planning --> `/fluent-feature-plan`
|
|
19
|
+
- Scope document decomposition (ADD format) --> `/fluent-scope-decompose`
|
|
20
|
+
- Feature reverse-engineering (existing features) --> `/fluent-feature-explain`
|
|
21
|
+
- Workflow building --> `/fluent-workflow-builder`
|
|
22
|
+
- Rule scaffolding --> `/fluent-rule-scaffold`
|
|
23
|
+
|
|
24
|
+
This skill produces the business spec; `/fluent-feature-plan` translates it into a technical plan.
|
|
25
|
+
|
|
26
|
+
## When to Use
|
|
27
|
+
|
|
28
|
+
- User has a business need but hasn't structured it into formal requirements
|
|
29
|
+
- Starting a new feature and need to capture use cases before planning
|
|
30
|
+
- A requirements document exists but needs completeness validation and gap filling
|
|
31
|
+
- Before running `/fluent-feature-plan` — to ensure all business context is gathered
|
|
32
|
+
- When multiple stakeholders have provided fragmented requirements that need consolidation
|
|
33
|
+
|
|
34
|
+
**Do NOT use** when:
|
|
35
|
+
- Requirements are already structured in ADD scope format → use `/fluent-scope-decompose`
|
|
36
|
+
- You need to understand an existing feature → use `/fluent-feature-explain`
|
|
37
|
+
- Requirements are clear and you're ready to plan → go directly to `/fluent-feature-plan`
|
|
38
|
+
|
|
39
|
+
## Template Reference
|
|
40
|
+
|
|
41
|
+
**The Business Spec output template lives at: `SPEC_TEMPLATE.md` (in this skill directory).**
|
|
42
|
+
|
|
43
|
+
Read that file before producing any spec. It defines:
|
|
44
|
+
- The 13-section structure with traceability matrix
|
|
45
|
+
- Section descriptions and worked examples
|
|
46
|
+
- Completeness scoring criteria
|
|
47
|
+
|
|
48
|
+
## Progress
|
|
49
|
+
|
|
50
|
+
Emit this block at each phase transition to show progress (Mode A — interactive wizard):
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
▸ /fluent-use-case-discover [1/11]
|
|
54
|
+
✓ Mode detection → Feature identity
|
|
55
|
+
○ Actors & triggers ○ User journey
|
|
56
|
+
○ Entities & data ○ Business rules
|
|
57
|
+
○ Integrations ○ UI & actions
|
|
58
|
+
○ Constraints & risks ○ Acceptance criteria
|
|
59
|
+
○ Review & gap analysis
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Update the block as each phase completes — mark completed phases with `✓`, the active phase with `→`, and remaining phases with `○`. Replace `[1/11]` with the current phase number.
|
|
63
|
+
|
|
64
|
+
## Two Input Modes
|
|
65
|
+
|
|
66
|
+
### Mode A: Interactive Wizard (default)
|
|
67
|
+
|
|
68
|
+
Run with `/fluent-use-case-discover` or when the user describes a vague feature idea.
|
|
69
|
+
|
|
70
|
+
The wizard walks through 10 phases of structured questions, each building on previous answers. Uses progressive disclosure — only asks questions relevant to the feature type.
|
|
71
|
+
|
|
72
|
+
> **Offline limitation:** If no Fluent profile is connected (`FLUENT_PROFILE` not set), Phase 4 environment discovery is SKIPPED. The spec may contain assumptions about available rules, workflows, and entity types. Feature planning will discover the live environment, but spec completeness will be lower without Phase 4 context. Recommend connecting a profile via `/fluent-profile` before running this wizard.
|
|
73
|
+
|
|
74
|
+
### Mode B: Document Analysis
|
|
75
|
+
|
|
76
|
+
Run with `/fluent-use-case-discover --analyze <path>` or when the user pastes/provides an existing requirements document (PRD, Jira epic, scope doc, email brief, meeting notes).
|
|
77
|
+
|
|
78
|
+
The wizard:
|
|
79
|
+
1. Reads and parses the provided document
|
|
80
|
+
2. Extracts what it can into the spec template sections
|
|
81
|
+
3. Scores completeness against the 10-phase framework
|
|
82
|
+
4. Presents the extracted spec + gap report to the user
|
|
83
|
+
5. Enters interactive mode ONLY for HIGH-priority gaps
|
|
84
|
+
6. Produces the same Business Spec output as Mode A
|
|
85
|
+
|
|
86
|
+
Mode B = "parse what you have" + "ask only what's missing".
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Phase 0: Mode Detection & Setup
|
|
91
|
+
|
|
92
|
+
**Detect mode:**
|
|
93
|
+
- If `--analyze` flag or user provided a document → Mode B
|
|
94
|
+
- Otherwise → Mode A
|
|
95
|
+
|
|
96
|
+
**Check profile connection:**
|
|
97
|
+
```
|
|
98
|
+
environment.discover include=retailer
|
|
99
|
+
```
|
|
100
|
+
If connected → note profile + retailer for Phase 4 live discovery.
|
|
101
|
+
If not connected → skip live discovery, note in output as limitation.
|
|
102
|
+
|
|
103
|
+
**Check for existing specs:**
|
|
104
|
+
```bash
|
|
105
|
+
ls accounts/<PROFILE>/features/*/spec.md
|
|
106
|
+
```
|
|
107
|
+
If related specs exist → show to user, ask if this is an update or new spec.
|
|
108
|
+
|
|
109
|
+
**Slug handling protocol:**
|
|
110
|
+
- The slug is NOT asked upfront — it's auto-generated from the feature name in Phase 10 after the full spec is gathered
|
|
111
|
+
- If `--feature <slug>` is provided, use that slug (for resuming an existing spec)
|
|
112
|
+
- If no slug is provided, generate one automatically in Phase 10 after the feature is fully understood
|
|
113
|
+
- Users should NEVER need to memorize slug naming rules — the wizard handles this
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Phase 1: Feature Identity
|
|
118
|
+
|
|
119
|
+
**Purpose:** Establish what we're building and why.
|
|
120
|
+
**Feeds → Spec:** §1 Problem Statement, §2 Feature Summary, §3 Scope
|
|
121
|
+
|
|
122
|
+
Ask these questions (all at once or conversationally based on user engagement):
|
|
123
|
+
|
|
124
|
+
| # | Question | Type | Required |
|
|
125
|
+
|---|----------|------|----------|
|
|
126
|
+
| 1.1 | **What is the feature in one sentence?** | Open | YES |
|
|
127
|
+
| 1.2 | **What business problem does this solve?** Why is it needed? What pain exists today? | Open | YES |
|
|
128
|
+
| 1.3 | **What type of change is this?** | Selection | YES |
|
|
129
|
+
| | Options: New capability / Enhancement to existing / Bug fix / External integration / Data migration / Process change | | |
|
|
130
|
+
| 1.4 | **Who requested this and why now?** Stakeholder, team, or business driver. | Open | No |
|
|
131
|
+
| 1.5 | **How will you measure success?** What KPIs or metrics prove the feature works? | Open | YES |
|
|
132
|
+
| 1.6 | **What is explicitly OUT of scope?** What should this feature NOT do? | Open | Recommended |
|
|
133
|
+
|
|
134
|
+
**Conditional branching after Phase 1:**
|
|
135
|
+
- Type = "Bug fix" → shortened flow: skip Phases 5-7, focus on root cause + fix scenario
|
|
136
|
+
- Type = "External integration" → Phase 6 (Integrations) becomes REQUIRED
|
|
137
|
+
- Type = "Data migration" → add batch/volume questions to Phase 8
|
|
138
|
+
|
|
139
|
+
**WAIT gate:** Summarize the feature identity and confirm with the user before proceeding to Phase 2. The slug is NOT generated here — it is auto-generated in Phase 10 after the full spec is gathered.
|
|
140
|
+
|
|
141
|
+
If the feature builds on an existing one (user said "extend X" or "add to X"):
|
|
142
|
+
- Set `basedOn: "<parent-slug>"` in the eventual status.json
|
|
143
|
+
- Note this for the §3a Existing State section
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Phase 2: Actors & Triggers
|
|
148
|
+
|
|
149
|
+
**Purpose:** Who's involved and what starts the process.
|
|
150
|
+
**Feeds → Spec:** §4 Actors & Triggers
|
|
151
|
+
|
|
152
|
+
| # | Question | Type | Required |
|
|
153
|
+
|---|----------|------|----------|
|
|
154
|
+
| 2.1 | **Who are the actors involved?** Who interacts with or is affected by this feature? | Multi-select + open | YES |
|
|
155
|
+
| | Suggest from: Store associate, Warehouse picker/packer, Admin/operations, Customer, External system (OMS/WMS/ERP/TMS), Scheduled job, Automated workflow | | |
|
|
156
|
+
| 2.2 | **What triggers this feature?** What event or action kicks it off? | Selection + open | YES |
|
|
157
|
+
| | Suggest from: New order placed, User clicks a button, External system sends data, Scheduled time/cron, Entity reaches a specific status, Manual batch upload, Customer action (app/web) | | |
|
|
158
|
+
| 2.3 | **Which Fluent UI modules are involved?** | Multi-select | If human actors |
|
|
159
|
+
| | Options: Admin Console, Service Point (store app), Fluent OMS App, No UI (backend only) | | |
|
|
160
|
+
| 2.4 | **Is this feature retailer-specific or account-wide?** | Selection | YES |
|
|
161
|
+
| | Options: Single retailer, All retailers (account-wide) | | |
|
|
162
|
+
|
|
163
|
+
**WAIT gate:** Present actors + trigger summary as a table. Confirm before proceeding.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Phase 3: User Journey & Use Cases
|
|
168
|
+
|
|
169
|
+
**Purpose:** Define the actual scenarios — the core of the spec.
|
|
170
|
+
**Feeds → Spec:** §5 Use Cases, §13 Acceptance Criteria
|
|
171
|
+
|
|
172
|
+
This is the most important phase. Take time here.
|
|
173
|
+
|
|
174
|
+
| # | Question | Type | Required |
|
|
175
|
+
|---|----------|------|----------|
|
|
176
|
+
| 3.1 | **Walk me through the happy path.** Step by step: what happens from trigger to completion? | Open | YES |
|
|
177
|
+
| 3.2 | **Are there alternative paths?** Conditions where the flow branches differently? | Open | If applicable |
|
|
178
|
+
| | Probe: What condition causes the branch? What's different about the outcome? | | |
|
|
179
|
+
| 3.3 | **What are the failure/exception scenarios?** | Open | YES |
|
|
180
|
+
| | Probe with domain-aware questions based on Phase 1 type: | | |
|
|
181
|
+
| | - Order flow: What if stock is unavailable? What if payment fails? What if address is invalid? | | |
|
|
182
|
+
| | - Fulfilment: What if the item can't be found? What if the carrier rejects it? | | |
|
|
183
|
+
| | - Integration: What if the external system is down? What if data format is wrong? | | |
|
|
184
|
+
| | - General: What if the user cancels midway? Can this be partially completed? | | |
|
|
185
|
+
| 3.4 | **Are there time-sensitive aspects?** | Open | If applicable |
|
|
186
|
+
| | Probe: Auto-cancel after X hours? SLA deadlines? Scheduled retries? Escalation rules? | | |
|
|
187
|
+
| 3.5 | **Can this be triggered multiple times for the same entity?** Should it be idempotent? | Yes/No + explain | Recommended |
|
|
188
|
+
|
|
189
|
+
**Output:** After gathering answers, synthesize into numbered use cases:
|
|
190
|
+
```
|
|
191
|
+
UC-01: [Happy Path] <title> — <one-line summary>
|
|
192
|
+
UC-02: [Alternative] <title> — <one-line summary>
|
|
193
|
+
UC-03: [Exception] <title> — <one-line summary>
|
|
194
|
+
UC-04: [Edge Case] <title> — <one-line summary>
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**WAIT gate:** Present the use case list. Ask: "Are these use cases complete? Any missing scenarios?"
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Phase 4: Entities & Data
|
|
202
|
+
|
|
203
|
+
**Purpose:** Map use cases to Fluent's entity model.
|
|
204
|
+
**Feeds → Spec:** §6 Entity Model
|
|
205
|
+
|
|
206
|
+
| # | Question | Type | Required |
|
|
207
|
+
|---|----------|------|----------|
|
|
208
|
+
| 4.1 | **Which entity types are involved?** | Multi-select | YES |
|
|
209
|
+
| | Options: Order, Fulfilment, Fulfilment Options / Fulfilment Choice, Article, Location, Inventory Position, Wave, Consignment, Return Order, Product, Customer, Carrier, Virtual Catalogue | | |
|
|
210
|
+
| 4.2 | **For each entity — what subtypes?** | Per-entity | YES |
|
|
211
|
+
| | Common subtypes: HD (home delivery), CC (click & collect), SFS (ship from store), RETURN, DEFAULT | | |
|
|
212
|
+
| 4.3 | **Are any new entity subtypes needed?** Something that doesn't exist today? | Yes/No + describe | If applicable |
|
|
213
|
+
| 4.4 | **What custom data (attributes) needs to be stored on each entity?** | Per-entity open | Recommended |
|
|
214
|
+
| | Probe: Set at creation or updated later? Where does the value come from (user input, calculated, external system)? What data type? | | |
|
|
215
|
+
| 4.5 | **How do entities relate in this feature?** | Open | If multi-entity |
|
|
216
|
+
| | Probe: Does the order create fulfilments? Does a fulfilment update the order? Are there parent-child event chains? | | |
|
|
217
|
+
|
|
218
|
+
### Live Environment Discovery
|
|
219
|
+
|
|
220
|
+
After the user answers 4.1 and 4.2, **validate entity types against the live environment** before proceeding:
|
|
221
|
+
|
|
222
|
+
```
|
|
223
|
+
environment.discover include=workflows,locations,settings
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
For each entity type + subtype selected by the user, query workflows to confirm they exist:
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
workflow.transitions triggers=[{type: "<ENTITY>", subtype: "<SUBTYPE>", retailerId: "<ID>"}]
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
If a selected entity type has **no workflow** in the live environment:
|
|
233
|
+
- Flag it clearly: "No workflow found for `<ENTITY>::<SUBTYPE>`. This means a new workflow must be created."
|
|
234
|
+
- Ask the user to confirm: "Is this a new entity type that doesn't exist yet, or did you mean a different subtype?"
|
|
235
|
+
|
|
236
|
+
This prevents assumptions about existing workflows that don't actually exist, which would lead to invalid feature plans downstream.
|
|
237
|
+
|
|
238
|
+
Also query the rule registry:
|
|
239
|
+
```
|
|
240
|
+
plugin.list compact=true
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Present findings to the user:
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
--- Environment Context ---
|
|
247
|
+
|
|
248
|
+
ORDER::HD workflow:
|
|
249
|
+
Status: EXISTS (v12, 14 rulesets)
|
|
250
|
+
Current statuses: CREATED → BOOKED → IN_PROGRESS → FULFILLED → COMPLETE
|
|
251
|
+
User actions at CREATED: ConfirmOrder, CancelOrder
|
|
252
|
+
|
|
253
|
+
FULFILMENT::HD_WH workflow:
|
|
254
|
+
Status: EXISTS (v8, 10 rulesets)
|
|
255
|
+
Current statuses: CREATED → ASSIGNED → PICKING → PACKED → SHIPPED → DELIVERED
|
|
256
|
+
|
|
257
|
+
Available OOTB rules: 47 total (12 match ORDER, 9 match FULFILMENT)
|
|
258
|
+
Locations: 3 warehouses, 12 stores
|
|
259
|
+
Settings: 8 relevant (WEBHOOK_*, ALLOCATION_*)
|
|
260
|
+
---
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
This context helps the user in Phases 5-7. They can say "reuse the existing allocation" or "add a new status between PICKING and PACKED" instead of describing from scratch.
|
|
264
|
+
|
|
265
|
+
If no profile is connected, skip discovery and note:
|
|
266
|
+
```
|
|
267
|
+
Note: No Fluent profile connected. Environment discovery skipped.
|
|
268
|
+
The feature plan phase will discover the live environment.
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
#### 4.3 Validate Entity Types
|
|
272
|
+
|
|
273
|
+
After the user identifies entity types in their use cases (ORDER, FULFILMENT, ARTICLE, etc.), validate they exist in the connected environment:
|
|
274
|
+
|
|
275
|
+
1. Query available workflows to extract supported entity types:
|
|
276
|
+
```
|
|
277
|
+
workflow.list (MCP fluent-mcp-extn or fluent-mcp)
|
|
278
|
+
```
|
|
279
|
+
2. Extract unique entity types from workflow names (format: `ENTITY_TYPE::SUBTYPE`)
|
|
280
|
+
3. Cross-reference against entity types mentioned in the user's use cases
|
|
281
|
+
4. **If an entity type has NO matching workflows:** WARN the user: "Entity type `<TYPE>` has no workflows in this environment. This may indicate a missing module or incorrect entity type. Verify before proceeding."
|
|
282
|
+
5. **If all entity types match:** Confirm: "All referenced entity types have active workflows."
|
|
283
|
+
|
|
284
|
+
This prevents use cases from referencing entity types that don't exist in the target environment, which would cause downstream skill failures during workflow building and deployment.
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Phase 5: Business Rules & Conditions
|
|
289
|
+
|
|
290
|
+
**Purpose:** Capture the decision logic.
|
|
291
|
+
**Feeds → Spec:** §7 Business Rules
|
|
292
|
+
**CONDITIONAL:** Skip if type = "Bug fix" or no decision points emerged in Phase 3.
|
|
293
|
+
|
|
294
|
+
| # | Question | Type | Required |
|
|
295
|
+
|---|----------|------|----------|
|
|
296
|
+
| 5.1 | **What conditions determine the flow?** List each decision point. | Open | YES |
|
|
297
|
+
| | Probe: Based on order type? Location type? Item attributes? Customer segment? Monetary threshold? External data? | | |
|
|
298
|
+
| 5.2 | **Are there validation rules?** What must be true before proceeding? | Open | If applicable |
|
|
299
|
+
| | Probe: Stock check? Address validation? Payment confirmed? Minimum order value? Weight/dimension limits? | | |
|
|
300
|
+
| 5.3 | **Are there calculations or allocations?** | Open | If applicable |
|
|
301
|
+
| | Probe: Inventory allocation strategy? Fulfilment splitting logic? Location selection/routing? Shipping cost calculation? | | |
|
|
302
|
+
| 5.4 | **Are there approval or review gates?** | Yes/No + describe | If applicable |
|
|
303
|
+
| | Probe: Manager approval? Fraud review? Quality check? | | |
|
|
304
|
+
| 5.5 | **Are there automated time-based actions?** | Yes/No + describe | If applicable |
|
|
305
|
+
| | Examples: Auto-cancel after 2 hours, retry webhook every 15 min, daily reconciliation batch, SLA escalation | | |
|
|
306
|
+
|
|
307
|
+
**Entity-aware smart probing** (based on Phase 4 selections):
|
|
308
|
+
- ORDER selected → also ask about: payment validation, fraud check, order splitting, customer notification
|
|
309
|
+
- FULFILMENT selected → also ask about: pick/pack logic, carrier selection, label generation, partial fulfilment
|
|
310
|
+
- INVENTORY selected → also ask about: reservation strategy, safety stock, recount triggers, virtual position updates
|
|
311
|
+
- LOCATION selected → also ask about: capacity rules, operating hours, zone routing, store-vs-warehouse logic
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Phase 6: Integrations
|
|
316
|
+
|
|
317
|
+
**Purpose:** External system touchpoints.
|
|
318
|
+
**Feeds → Spec:** §8 Integrations
|
|
319
|
+
**CONDITIONAL:** Skip if no external systems identified in Phase 2. REQUIRED if type = "External integration".
|
|
320
|
+
|
|
321
|
+
| # | Question | Type | Required |
|
|
322
|
+
|---|----------|------|----------|
|
|
323
|
+
| 6.1 | **Which external systems interact with this feature?** | Multi-select + open | YES |
|
|
324
|
+
| | Suggest: OMS, WMS, TMS/Carrier, ERP/Finance, Payment gateway, Notification service (email/SMS/push), Analytics/BI, Custom middleware, POS | | |
|
|
325
|
+
| 6.2 | **For each system — what direction is the data flow?** | Per-system | YES |
|
|
326
|
+
| | Options: Fluent → External (outbound push), External → Fluent (inbound receive), Bidirectional | | |
|
|
327
|
+
| 6.3 | **For each system — what integration method?** | Per-system | YES |
|
|
328
|
+
| | Options: Webhook (real-time push), REST API call (pull on demand), Batch file upload/download, Event/message queue, GraphQL mutation from external | | |
|
|
329
|
+
| 6.4 | **What happens when an external system is unavailable?** | Per-system | YES |
|
|
330
|
+
| | Options: Retry automatically, Skip and continue, Fail the whole process, Queue for manual retry, Alert the operator | | |
|
|
331
|
+
| 6.5 | **Is there an existing integration to reuse or extend?** | Yes/No + describe | Recommended |
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
## Phase 7: User Interface & Actions
|
|
336
|
+
|
|
337
|
+
**Purpose:** What humans see and do in Fluent UI.
|
|
338
|
+
**Feeds → Spec:** §9 User Actions
|
|
339
|
+
**CONDITIONAL:** Skip if no human actors (backend-only feature).
|
|
340
|
+
|
|
341
|
+
| # | Question | Type | Required |
|
|
342
|
+
|---|----------|------|----------|
|
|
343
|
+
| 7.1 | **What actions can users take?** List each button or action. | Open | YES |
|
|
344
|
+
| | Probe: What's the button label? When is it available (at which status)? Does it need a confirmation dialog? | | |
|
|
345
|
+
| 7.2 | **Does the user fill in data when taking an action?** | Per-action | If applicable |
|
|
346
|
+
| | Probe: What fields? Required or optional? Dropdowns, free text, date picker, number? | | |
|
|
347
|
+
| 7.3 | **Are there bulk actions?** Acting on multiple items at once? | Yes/No + describe | If applicable |
|
|
348
|
+
| 7.4 | **Should any actions be restricted by user role?** | Yes/No + describe | If applicable |
|
|
349
|
+
| | Probe: Which roles can see/use each action? Admin only? Store manager? Any associate? | | |
|
|
350
|
+
|
|
351
|
+
### Strict User Action Capture (Anti-Hallucination)
|
|
352
|
+
|
|
353
|
+
When gathering UI action requirements, capture this contract explicitly for each action:
|
|
354
|
+
|
|
355
|
+
1. **`eventName`** — exact event to send (do not infer from button label).
|
|
356
|
+
2. **Scope alignment** — intended `type`, `subtype`, and `flexType` branch where the action appears.
|
|
357
|
+
3. **`context[]` contract** — `label`, `type` (`PRIMARY` or `SECONDARY`), `modules[]`, optional `confirm`.
|
|
358
|
+
4. **`attributes[]` contract** — each field name, type, mandatory flag, and optional `source/options`.
|
|
359
|
+
5. **Module visibility** — if module-specific, confirm expected modules are valid against `fc.mystique.apps`.
|
|
360
|
+
6. **Schema discipline** — do not introduce undocumented user-action keys.
|
|
361
|
+
|
|
362
|
+
If any of the above is unknown, mark it as an open question in the spec before handoff to `/fluent-feature-plan`.
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## Phase 8: Constraints & Risks
|
|
367
|
+
|
|
368
|
+
**Purpose:** Boundaries, assumptions, and concerns.
|
|
369
|
+
**Feeds → Spec:** §10 Constraints & Risks, §11 Assumptions
|
|
370
|
+
**RECOMMENDED:** Always ask briefly, even if answers are "none".
|
|
371
|
+
|
|
372
|
+
| # | Question | Type | Required |
|
|
373
|
+
|---|----------|------|----------|
|
|
374
|
+
| 8.1 | **Volume/scale expectations?** | Open | Recommended |
|
|
375
|
+
| | Probe: Orders per day? Concurrent users? Inventory positions? Peak vs normal? | | |
|
|
376
|
+
| 8.2 | **Must this work alongside existing features without breaking them?** | Yes/No + describe | Recommended |
|
|
377
|
+
| 8.3 | **Is there data to migrate from an old process?** | Yes/No + describe | If applicable |
|
|
378
|
+
| 8.4 | **Are there known risks or concerns?** | Open | Recommended |
|
|
379
|
+
| 8.5 | **What assumptions are you making?** What do you believe is true but haven't confirmed? | Open | Recommended |
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## Phase 9: Acceptance Criteria
|
|
384
|
+
|
|
385
|
+
**Purpose:** Testable success criteria for every use case.
|
|
386
|
+
**Feeds → Spec:** §13 Acceptance Criteria Summary
|
|
387
|
+
|
|
388
|
+
| # | Question | Type | Required |
|
|
389
|
+
|---|----------|------|----------|
|
|
390
|
+
| 9.1 | **For each use case — what's the acceptance criterion?** | Structured | YES |
|
|
391
|
+
| | Guide the user into Given/When/Then format: | | |
|
|
392
|
+
| | Given [precondition], When [action/event], Then [expected result] | | |
|
|
393
|
+
| 9.2 | **Which criteria are must-have vs nice-to-have?** | Categorize | YES |
|
|
394
|
+
| 9.3 | **Are there non-functional requirements?** | Open | If applicable |
|
|
395
|
+
| | Probe: Response time expectations? Uptime requirements? Data retention? Audit trail needs? Compliance requirements? | | |
|
|
396
|
+
|
|
397
|
+
If the user struggles with Given/When/Then, help them by converting their natural language descriptions:
|
|
398
|
+
- "The order should be fulfilled within 4 hours" → Given an order in BOOKED status, When 4 hours elapse without fulfilment completion, Then escalate to operations team
|
|
399
|
+
|
|
400
|
+
---
|
|
401
|
+
|
|
402
|
+
## Phase 10: Review & Gap Analysis
|
|
403
|
+
|
|
404
|
+
**Purpose:** Automated completeness assessment and gap identification.
|
|
405
|
+
|
|
406
|
+
This phase is generated by the wizard, not asked to the user.
|
|
407
|
+
|
|
408
|
+
### Steps:
|
|
409
|
+
|
|
410
|
+
1. **Compile all gathered information** into the spec template sections (read `SPEC_TEMPLATE.md`)
|
|
411
|
+
|
|
412
|
+
2. **Score completeness** using this rubric:
|
|
413
|
+
|
|
414
|
+
| Phase | Weight | Scoring |
|
|
415
|
+
|-------|--------|---------|
|
|
416
|
+
| 1. Feature Identity | 15% | All REQUIRED answered = full marks |
|
|
417
|
+
| 2. Actors & Triggers | 10% | At least 1 actor + 1 trigger = full marks |
|
|
418
|
+
| 3. Use Cases | 20% | Happy path + 1 exception = full; happy path only = half |
|
|
419
|
+
| 4. Entities & Data | 15% | All entities identified with subtypes = full |
|
|
420
|
+
| 5. Business Rules | 15% | Decision points per UC branch = full; 0% if N/A |
|
|
421
|
+
| 6. Integrations | 5% | All systems identified = full; 0% if N/A |
|
|
422
|
+
| 7. UI Actions | 5% | Actions per actor = full; 0% if N/A (backend-only) |
|
|
423
|
+
| 8. Constraints | 5% | Risks or assumptions documented = full |
|
|
424
|
+
| 9. Acceptance Criteria | 10% | AC per use case = full; happy path only = half |
|
|
425
|
+
|
|
426
|
+
3. **Generate the recommendation:**
|
|
427
|
+
- Score >= 75%: "Ready for `/fluent-feature-plan`"
|
|
428
|
+
- Score 50-74%: "Can proceed but sections [X, Y] will rely on assumptions"
|
|
429
|
+
- Score < 50%: "Address gaps [X, Y, Z] before proceeding"
|
|
430
|
+
|
|
431
|
+
4. **List open questions** (things that came up but weren't answered)
|
|
432
|
+
|
|
433
|
+
5. **List assumptions** (things inferred from context but not explicitly confirmed)
|
|
434
|
+
|
|
435
|
+
6. **Build the traceability matrix** (UC → entities → rules → integrations → actions)
|
|
436
|
+
|
|
437
|
+
7. **Generate feature slug** from the feature title (Phase 1, question 1.1):
|
|
438
|
+
|
|
439
|
+
**Slug generation rules:**
|
|
440
|
+
- Take the one-sentence feature description from Q1.1
|
|
441
|
+
- Extract 2-4 key nouns/verbs (drop articles, prepositions, generic words like "feature", "flow", "process")
|
|
442
|
+
- Convert to lowercase kebab-case
|
|
443
|
+
- Max 4 words, no dates, no skill prefixes
|
|
444
|
+
|
|
445
|
+
**Examples:**
|
|
446
|
+
| Feature Description | Generated Slug |
|
|
447
|
+
|---|---|
|
|
448
|
+
| "Curbside pickup for click and collect orders" | `curbside-pickup` |
|
|
449
|
+
| "Return order processing with refund automation" | `return-order-refund` |
|
|
450
|
+
| "Multi-location inventory allocation" | `multi-location-allocation` |
|
|
451
|
+
| "Send SMS notifications when order ships" | `sms-ship-notify` |
|
|
452
|
+
|
|
453
|
+
**Present to user for confirmation:**
|
|
454
|
+
```
|
|
455
|
+
Suggested feature slug: `curbside-pickup`
|
|
456
|
+
This will create: accounts/<PROFILE>/features/curbside-pickup/
|
|
457
|
+
|
|
458
|
+
Accept this slug or provide a different one? [Enter to accept]
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
If user provides a different slug, validate it:
|
|
462
|
+
- Must be lowercase kebab-case
|
|
463
|
+
- Max 4 words
|
|
464
|
+
- No dates, no skill prefixes
|
|
465
|
+
- If invalid, explain the rules and re-suggest
|
|
466
|
+
|
|
467
|
+
**Check for collisions:**
|
|
468
|
+
```bash
|
|
469
|
+
ls accounts/<PROFILE>/features/
|
|
470
|
+
```
|
|
471
|
+
If the slug already exists, warn: "Feature `<slug>` already exists (status: <status>). Options: (1) Update the existing spec (2) Choose a different slug"
|
|
472
|
+
|
|
473
|
+
8. **Write the spec to file:**
|
|
474
|
+
```
|
|
475
|
+
accounts/<PROFILE>/features/<slug>/spec.md
|
|
476
|
+
```
|
|
477
|
+
Use the SPEC_TEMPLATE.md format. Set status = DRAFT.
|
|
478
|
+
|
|
479
|
+
9. **Present the spec to the user** with completeness score and recommendation.
|
|
480
|
+
|
|
481
|
+
10. **Update status.json** — set `status: "PLANNING"`, `spec: "DRAFT"`, `next: "/fluent-feature-plan"`.
|
|
482
|
+
|
|
483
|
+
**MANDATORY REVIEW GATE — STOP HERE AND WAIT:**
|
|
484
|
+
|
|
485
|
+
The agent MUST stop and wait for explicit user approval before proceeding. This gate is non-negotiable.
|
|
486
|
+
|
|
487
|
+
1. Present the spec to the user with the completeness score
|
|
488
|
+
2. Ask: *"Please review this Business Spec. When you're satisfied, say 'approved' and I'll proceed to feature planning."*
|
|
489
|
+
3. **WAIT.** Do not proceed to `/fluent-feature-plan` or any other skill.
|
|
490
|
+
4. If the user asks questions → answer them, keep waiting
|
|
491
|
+
5. If the user requests changes → apply them, re-present, keep waiting
|
|
492
|
+
6. Only when the user explicitly says "approved", "looks good", "go ahead", or similar affirmative:
|
|
493
|
+
- Update `status.json` to `spec: "APPROVED"`
|
|
494
|
+
- Emit: `→ READY: accounts/<PROFILE>/features/<slug>/spec.md`
|
|
495
|
+
- Recommend: `→ NEXT: /fluent-feature-plan --feature <slug>`
|
|
496
|
+
7. **NEVER auto-advance** past this gate. The spec approval decision belongs to the user.
|
|
497
|
+
|
|
498
|
+
---
|
|
499
|
+
|
|
500
|
+
## Mode B: Document Analysis Flow
|
|
501
|
+
|
|
502
|
+
When analyzing an existing document:
|
|
503
|
+
|
|
504
|
+
### Step B.1: Read the Document
|
|
505
|
+
Read the file at the provided path, or accept pasted content.
|
|
506
|
+
|
|
507
|
+
### Step B.2: Extract Into Template
|
|
508
|
+
Map document content to spec sections:
|
|
509
|
+
- Look for problem statements, objectives, goals → §1, §2
|
|
510
|
+
- Look for user stories, scenarios, workflows → §5
|
|
511
|
+
- Look for system names, APIs, webhooks → §8
|
|
512
|
+
- Look for acceptance criteria, test cases → §13
|
|
513
|
+
- Look for entity references (order, fulfilment, inventory) → §6
|
|
514
|
+
|
|
515
|
+
### Step B.3: Score Completeness
|
|
516
|
+
Apply the same 10-phase scoring rubric. Identify which phases have:
|
|
517
|
+
- **Full coverage** (enough detail extracted)
|
|
518
|
+
- **Partial coverage** (some info but gaps)
|
|
519
|
+
- **No coverage** (phase not addressed in document)
|
|
520
|
+
|
|
521
|
+
### Step B.4: Present Gap Report
|
|
522
|
+
```
|
|
523
|
+
Document Analysis: "PRD - Curbside Pickup v2.docx"
|
|
524
|
+
|
|
525
|
+
Extracted:
|
|
526
|
+
Phase 1 (Identity): FULL — clear problem statement and success metrics
|
|
527
|
+
Phase 2 (Actors): FULL — store associate + customer identified
|
|
528
|
+
Phase 3 (Use Cases): PARTIAL — happy path clear, no exception scenarios
|
|
529
|
+
Phase 4 (Entities): PARTIAL — mentions orders and fulfilments, no subtypes
|
|
530
|
+
Phase 5 (Rules): NONE — no business rules documented
|
|
531
|
+
Phase 6 (Integrations): PARTIAL — mentions POS but no failure handling
|
|
532
|
+
Phase 7 (UI Actions): NONE — no UI requirements
|
|
533
|
+
Phase 8 (Constraints): PARTIAL — volume mentioned, no risks
|
|
534
|
+
Phase 9 (Acceptance): PARTIAL — 2 criteria, need more
|
|
535
|
+
|
|
536
|
+
Completeness: 52% (Partial)
|
|
537
|
+
Gaps requiring follow-up: Phases 3 (exceptions), 4 (subtypes), 5 (rules), 7 (UI), 9 (AC)
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
### Step B.5: Interactive Follow-Up
|
|
541
|
+
Enter interactive mode ONLY for phases with NONE or PARTIAL coverage. Ask targeted questions — not the full phase, just what's missing.
|
|
542
|
+
|
|
543
|
+
### Step B.6: Produce Spec
|
|
544
|
+
Same output as Mode A — complete Business Spec written to file.
|
|
545
|
+
|
|
546
|
+
---
|
|
547
|
+
|
|
548
|
+
## Output Conventions
|
|
549
|
+
|
|
550
|
+
### File Path
|
|
551
|
+
```
|
|
552
|
+
accounts/<PROFILE>/features/<slug>/spec.md
|
|
553
|
+
```
|
|
554
|
+
- `<PROFILE>` — active Fluent CLI profile
|
|
555
|
+
- `<slug>` — auto-generated from the feature title in Phase 10 step 7 and confirmed by the user. Rules: lowercase kebab-case, 2-4 words, no dates, no skill prefixes. The slug is IMMUTABLE after spec approval — changing it would break all downstream references.
|
|
556
|
+
|
|
557
|
+
If no profile is connected, use:
|
|
558
|
+
```
|
|
559
|
+
.fluent-ai-skills/features/<slug>/spec.md
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
### Handoff to Feature Plan
|
|
563
|
+
|
|
564
|
+
**Only after the user has explicitly approved the spec**, recommend:
|
|
565
|
+
```
|
|
566
|
+
/fluent-feature-plan --feature <slug>
|
|
567
|
+
```
|
|
568
|
+
The agent MUST NOT auto-invoke `/fluent-feature-plan` — present the recommendation and let the user decide when to proceed.
|
|
569
|
+
|
|
570
|
+
The feature plan skill reads the spec and maps sections:
|
|
571
|
+
|
|
572
|
+
| Spec Section | Feature Plan Section(s) |
|
|
573
|
+
|---|---|
|
|
574
|
+
| §1 Problem Statement | → §1 Business Context |
|
|
575
|
+
| §2 Feature Summary | → §1 Business Context, §2 Scope |
|
|
576
|
+
| §3 Scope | → §2 Scope |
|
|
577
|
+
| §4 Actors & Triggers | → §3 Architecture, §16 Test Plan |
|
|
578
|
+
| §5 Use Cases | → §4 Workflows, §5 Statuses, §6 Rulesets, §16 Test Plan |
|
|
579
|
+
| §6 Entity Model | → §4 Workflows, §12 GraphQL, §13 Cross-Entity |
|
|
580
|
+
| §7 Business Rules | → §6 Rulesets, §7 Rules Inventory, §8 Detailed Design |
|
|
581
|
+
| §8 Integrations | → §10 Webhooks, §9 Settings, §11 Scheduled Events |
|
|
582
|
+
| §9 User Actions | → §4 Workflows (user actions), §5 Statuses |
|
|
583
|
+
| §10 Constraints & Risks | → §2 Scope, §15 Risks, §18 Rollback |
|
|
584
|
+
| §11 Assumptions | → §15 Risks |
|
|
585
|
+
| §12 Open Questions | → blocks feature plan until resolved |
|
|
586
|
+
| §13 Acceptance Criteria | → §16 Test Plan |
|
|
587
|
+
| Traceability Matrix | → §14 Files, §17 Deployment |
|
|
588
|
+
|
|
589
|
+
---
|
|
590
|
+
|
|
591
|
+
## Planning Gate
|
|
592
|
+
|
|
593
|
+
This skill has a **MANDATORY REVIEW GATE** (not a Planning Gate in the implementation sense). It does not modify code or Fluent environments — it produces a Business Spec document. At the end of Phase 10, the spec must receive explicit user approval before any handoff occurs. The spec approval is both this skill's final gate and a mandatory prerequisite for `/fluent-feature-plan`'s Pre-flight Requirements Check.
|