@fluentcommerce/ai-skills 0.1.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.
Files changed (168) hide show
  1. package/README.md +866 -622
  2. package/bin/cli.mjs +2112 -1973
  3. package/content/cli/agents/fluent-cli/agent.json +149 -149
  4. package/content/cli/agents/fluent-cli.md +132 -132
  5. package/content/cli/skills/fluent-bootstrap/SKILL.md +214 -181
  6. package/content/cli/skills/fluent-cli-index/SKILL.md +1 -1
  7. package/content/cli/skills/fluent-cli-mcp-cicd/SKILL.md +117 -1
  8. package/content/cli/skills/fluent-cli-reference/SKILL.md +1040 -1031
  9. package/content/cli/skills/fluent-cli-retailer/SKILL.md +27 -2
  10. package/content/cli/skills/fluent-cli-settings/SKILL.md +21 -1
  11. package/content/cli/skills/fluent-connect/SKILL.md +937 -886
  12. package/content/cli/skills/fluent-module-deploy/SKILL.md +63 -5
  13. package/content/cli/skills/fluent-profile/SKILL.md +73 -0
  14. package/content/cli/skills/fluent-workflow/SKILL.md +360 -310
  15. package/content/dev/agents/fluent-backend-dev/AGENT.md +58 -0
  16. package/content/dev/agents/fluent-backend-dev/agent.json +69 -0
  17. package/content/dev/agents/fluent-backend-dev.md +287 -0
  18. package/content/dev/agents/fluent-dev/AGENT.md +98 -0
  19. package/content/dev/agents/fluent-dev/agent.json +14 -2
  20. package/content/dev/agents/fluent-dev.md +194 -525
  21. package/content/dev/agents/fluent-frontend-dev/AGENT.md +63 -0
  22. package/content/dev/agents/fluent-frontend-dev/agent.json +52 -0
  23. package/content/dev/agents/fluent-frontend-dev.md +323 -0
  24. package/content/dev/skills/fluent-archive/SKILL.md +234 -0
  25. package/content/dev/skills/fluent-build/SKILL.md +312 -192
  26. package/content/dev/skills/fluent-connection-analysis/SKILL.md +422 -386
  27. package/content/dev/skills/fluent-custom-code/SKILL.md +15 -9
  28. package/content/dev/skills/fluent-data-module-scaffold/SKILL.md +19 -2
  29. package/content/dev/skills/fluent-e2e-test/SKILL.md +501 -394
  30. package/content/dev/skills/fluent-event-api/SKILL.md +962 -945
  31. package/content/dev/skills/fluent-feature-explain/SKILL.md +680 -603
  32. package/content/dev/skills/fluent-feature-plan/PLAN_TEMPLATE.md +27 -2
  33. package/content/dev/skills/fluent-feature-plan/SKILL.md +478 -227
  34. package/content/dev/skills/fluent-feature-status/SKILL.md +335 -0
  35. package/content/dev/skills/fluent-feedback/SKILL.md +221 -0
  36. package/content/dev/skills/fluent-implementation-map/SKILL.md +644 -0
  37. package/content/dev/skills/fluent-job-batch/SKILL.md +10 -0
  38. package/content/dev/skills/fluent-module-scaffold/SKILL.md +64 -2
  39. package/content/dev/skills/fluent-module-validate/SKILL.md +778 -775
  40. package/content/dev/skills/fluent-mystique-analyze/SKILL.md +817 -0
  41. package/content/dev/skills/fluent-mystique-builder/COMPONENT_TEMPLATE.md +81 -0
  42. package/content/dev/skills/fluent-mystique-builder/README.md +63 -0
  43. package/content/dev/skills/fluent-mystique-builder/SKILL.md +1294 -0
  44. package/content/dev/skills/fluent-mystique-builder/components/INDEX.md +92 -0
  45. package/content/dev/skills/fluent-mystique-builder/components/fc.accordion.md +48 -0
  46. package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.fulfilmentpack.md +20 -0
  47. package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.multiparcel.md +21 -0
  48. package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.returnitems.md +21 -0
  49. package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.wavepick.md +21 -0
  50. package/content/dev/skills/fluent-mystique-builder/components/fc.action.inline.md +24 -0
  51. package/content/dev/skills/fluent-mystique-builder/components/fc.activity.entity.md +25 -0
  52. package/content/dev/skills/fluent-mystique-builder/components/fc.analytics.viz.md +20 -0
  53. package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.column.md +111 -0
  54. package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.json.md +20 -0
  55. package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.jsoneditor.md +54 -0
  56. package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.locationId.md +51 -0
  57. package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.retailerId.md +52 -0
  58. package/content/dev/skills/fluent-mystique-builder/components/fc.button.bar.md +57 -0
  59. package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.download.md +53 -0
  60. package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.inline.compatibility.md +60 -0
  61. package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.inline.md +53 -0
  62. package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.md +24 -0
  63. package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.pick.md +61 -0
  64. package/content/dev/skills/fluent-mystique-builder/components/fc.buttons.add.reject.md +20 -0
  65. package/content/dev/skills/fluent-mystique-builder/components/fc.card.attribute.md +73 -0
  66. package/content/dev/skills/fluent-mystique-builder/components/fc.card.attributes.grid.md +40 -0
  67. package/content/dev/skills/fluent-mystique-builder/components/fc.card.image.md +37 -0
  68. package/content/dev/skills/fluent-mystique-builder/components/fc.card.map.point.md +24 -0
  69. package/content/dev/skills/fluent-mystique-builder/components/fc.card.multi.md +79 -0
  70. package/content/dev/skills/fluent-mystique-builder/components/fc.card.product.md +27 -0
  71. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.area.md +34 -0
  72. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.area.wrapper.feed.md +98 -0
  73. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.bar.md +52 -0
  74. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.bar.wrapper.source.md +104 -0
  75. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.gauge.md +28 -0
  76. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.gauge.wrapper.threshold.md +118 -0
  77. package/content/dev/skills/fluent-mystique-builder/components/fc.chart.line.md +32 -0
  78. package/content/dev/skills/fluent-mystique-builder/components/fc.conditional.md +62 -0
  79. package/content/dev/skills/fluent-mystique-builder/components/fc.dashboard.threshold.md +65 -0
  80. package/content/dev/skills/fluent-mystique-builder/components/fc.daterange.wrapper.forwarder.md +56 -0
  81. package/content/dev/skills/fluent-mystique-builder/components/fc.drawer.button.md +21 -0
  82. package/content/dev/skills/fluent-mystique-builder/components/fc.event.detail.md +20 -0
  83. package/content/dev/skills/fluent-mystique-builder/components/fc.events.search.md +21 -0
  84. package/content/dev/skills/fluent-mystique-builder/components/fc.field.daterange.md +83 -0
  85. package/content/dev/skills/fluent-mystique-builder/components/fc.field.filterComplex.md +106 -0
  86. package/content/dev/skills/fluent-mystique-builder/components/fc.field.intrange.md +82 -0
  87. package/content/dev/skills/fluent-mystique-builder/components/fc.field.multistring.md +50 -0
  88. package/content/dev/skills/fluent-mystique-builder/components/fc.filterPanel.md +53 -0
  89. package/content/dev/skills/fluent-mystique-builder/components/fc.json.editor.md +22 -0
  90. package/content/dev/skills/fluent-mystique-builder/components/fc.json.viewer.md +21 -0
  91. package/content/dev/skills/fluent-mystique-builder/components/fc.list.customAction.md +79 -0
  92. package/content/dev/skills/fluent-mystique-builder/components/fc.list.md +116 -0
  93. package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.bppmetrics.md +69 -0
  94. package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.feed.md +65 -0
  95. package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.source.md +64 -0
  96. package/content/dev/skills/fluent-mystique-builder/components/fc.modal.button.addItem.md +60 -0
  97. package/content/dev/skills/fluent-mystique-builder/components/fc.modal.button.md +21 -0
  98. package/content/dev/skills/fluent-mystique-builder/components/fc.mutation.inline.md +88 -0
  99. package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.collapsible.attributes.md +83 -0
  100. package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.collapsible.text.md +33 -0
  101. package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.link.md +30 -0
  102. package/content/dev/skills/fluent-mystique-builder/components/fc.order.itemDetails.md +20 -0
  103. package/content/dev/skills/fluent-mystique-builder/components/fc.order.shipmentDetails.md +20 -0
  104. package/content/dev/skills/fluent-mystique-builder/components/fc.page.filter.select.md +87 -0
  105. package/content/dev/skills/fluent-mystique-builder/components/fc.page.md +64 -0
  106. package/content/dev/skills/fluent-mystique-builder/components/fc.page.refresh.md +48 -0
  107. package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.column.md +71 -0
  108. package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.header.md +61 -0
  109. package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.md +59 -0
  110. package/content/dev/skills/fluent-mystique-builder/components/fc.page.wizard.md +45 -0
  111. package/content/dev/skills/fluent-mystique-builder/components/fc.page.wizard.summary.md +56 -0
  112. package/content/dev/skills/fluent-mystique-builder/components/fc.progress.circular.md +20 -0
  113. package/content/dev/skills/fluent-mystique-builder/components/fc.provider.graphql.md +71 -0
  114. package/content/dev/skills/fluent-mystique-builder/components/fc.quantity.list.md +87 -0
  115. package/content/dev/skills/fluent-mystique-builder/components/fc.repeater.md +56 -0
  116. package/content/dev/skills/fluent-mystique-builder/components/fc.reports.ipuipc.md +54 -0
  117. package/content/dev/skills/fluent-mystique-builder/components/fc.return.rowExpansion.md +19 -0
  118. package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.barcode.md +21 -0
  119. package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.barcodeFilter.md +72 -0
  120. package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.camera.md +20 -0
  121. package/content/dev/skills/fluent-mystique-builder/components/fc.settingForm.md +64 -0
  122. package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.profile.drawer.button.md +19 -0
  123. package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.profile.modal.button.md +64 -0
  124. package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.strategy.modal.button.md +20 -0
  125. package/content/dev/skills/fluent-mystique-builder/components/fc.stepper.md +20 -0
  126. package/content/dev/skills/fluent-mystique-builder/components/fc.tab.content.md +56 -0
  127. package/content/dev/skills/fluent-mystique-builder/components/fc.tabs.card.md +64 -0
  128. package/content/dev/skills/fluent-mystique-builder/components/fc.tabs.md +69 -0
  129. package/content/dev/skills/fluent-mystique-builder/components/fc.tile.metric.md +73 -0
  130. package/content/dev/skills/fluent-mystique-builder/components/fc.workflow.provider.md +77 -0
  131. package/content/dev/skills/fluent-mystique-builder/validate-docs.ps1 +260 -0
  132. package/content/dev/skills/fluent-mystique-scaffold/SKILL.md +1830 -0
  133. package/content/dev/skills/fluent-mystique-validate/SKILL.md +646 -0
  134. package/content/dev/skills/fluent-pre-deploy-check/SKILL.md +1144 -1108
  135. package/content/dev/skills/fluent-retailer-config/SKILL.md +1162 -1111
  136. package/content/dev/skills/fluent-rollback/SKILL.md +387 -0
  137. package/content/dev/skills/fluent-rule-scaffold/SKILL.md +515 -385
  138. package/content/dev/skills/fluent-scope-decompose/SKILL.md +1123 -1021
  139. package/content/dev/skills/fluent-session-audit-export/SKILL.md +880 -632
  140. package/content/dev/skills/fluent-session-summary/SKILL.md +320 -195
  141. package/content/dev/skills/fluent-settings/SKILL.md +160 -1
  142. package/content/dev/skills/fluent-source-onboard/SKILL.md +31 -3
  143. package/content/dev/skills/fluent-sourcing/SKILL.md +1185 -0
  144. package/content/dev/skills/fluent-system-monitoring/SKILL.md +771 -767
  145. package/content/dev/skills/fluent-test-data/SKILL.md +514 -513
  146. package/content/dev/skills/fluent-trace/SKILL.md +1169 -1143
  147. package/content/dev/skills/fluent-transition-api/SKILL.md +364 -346
  148. package/content/dev/skills/fluent-use-case-discover/SKILL.md +593 -0
  149. package/content/dev/skills/fluent-use-case-discover/SPEC_TEMPLATE.md +281 -0
  150. package/content/dev/skills/fluent-version-manage/SKILL.md +53 -2
  151. package/content/dev/skills/fluent-workflow-analyzer/SKILL.md +995 -959
  152. package/content/dev/skills/fluent-workflow-builder/SKILL.md +668 -319
  153. package/content/dev/skills/fluent-workflow-deploy/SKILL.md +480 -267
  154. package/content/dev/skills/fluent-workspace-tree/SKILL.md +281 -0
  155. package/content/mcp-extn/agents/fluent-mcp.md +133 -69
  156. package/content/mcp-extn/skills/fluent-mcp-tools/SKILL.md +812 -461
  157. package/content/mcp-official/agents/fluent-mcp-core.md +91 -91
  158. package/content/mcp-official/skills/fluent-mcp-core/SKILL.md +94 -94
  159. package/content/rfl/skills/fluent-rfl-assess/SKILL.md +172 -172
  160. package/docs/CAPABILITY_MAP.md +106 -77
  161. package/docs/DEPLOYMENT_PROMOTION_RUNBOOK.md +218 -0
  162. package/docs/DESIGN-implementation-map.md +698 -0
  163. package/docs/DEV_WORKFLOW.md +814 -802
  164. package/docs/FLOW_RUN.md +142 -142
  165. package/docs/GETTING_STARTED.md +427 -0
  166. package/docs/USE_CASES.md +909 -52
  167. package/metadata.json +184 -156
  168. package/package.json +3 -2
package/README.md CHANGED
@@ -1,622 +1,866 @@
1
- # @fluentcommerce/ai-skills
2
-
3
- [![npm version](https://img.shields.io/npm/v/@fluentcommerce/ai-skills.svg)](https://www.npmjs.com/package/@fluentcommerce/ai-skills)
4
- [![license](https://img.shields.io/npm/l/@fluentcommerce/ai-skills.svg)](https://opensource.org/licenses/MIT)
5
- [![node](https://img.shields.io/node/v/@fluentcommerce/ai-skills.svg)](https://nodejs.org/)
6
-
7
- > **Alpha** — This package is under active development. Skill content, CLI options, and supported targets may change between releases without notice. Use in non-production environments and pin to a specific version if stability matters.
8
-
9
- Modular [Fluent Commerce](https://fluentcommerce.com) AI skill packs for coding assistants.
10
- Install all groups, or only what each project needs.
11
-
12
- **What this does:** AI coding assistants (Claude Code, Cursor, Copilot, etc.) are general-purpose — they don't know Fluent Commerce. This package injects Fluent-specific domain knowledge (workflows, events, rules, GraphQL patterns, CLI commands, deployment procedures) into your assistant so it can analyze workflows, scaffold rules, run E2E tests, debug failed events, and manage settings — all through natural language.
13
-
14
- **New here?** See [What Can You Do With Fluent AI Skills?](docs/USE_CASES.md) for scenario-based examples from debugging stuck orders to building new workflows to go-live readiness checks.
15
-
16
- **What is a "skill"?** A skill is a structured instruction file that teaches the AI how to perform a specific Fluent task. For example, `/fluent-workflow-analyzer` teaches the AI how to read workflow JSON, map status graphs, detect orphaned rulesets, and generate Mermaid diagrams. Skills are installed into your assistant's native format (Claude agents/skills, Cursor rules, Copilot instructions, etc.).
17
-
18
- ## What Can You Do?
19
-
20
- | Persona | Example prompt | What happens |
21
- |---------|---------------|-------------|
22
- | New developer | "Explain how Home Delivery works" | Feature Architecture Document with diagrams, rules, settings |
23
- | Debugging | "Why is order HD-001 stuck?" | Event forensics, NO_MATCH analysis, remediation options |
24
- | Building | "Build an ORDER::RETURN workflow" | Plan modestate machinerulesets → deploy → E2E test |
25
- | Pre-go-live | "Run a Ready For Launch assessment" | Scored report across workflows, rules, settings, integrations |
26
- | Ops | "Show event failure rates for the last hour" | Metrics anomaly detection with threshold alerts |
27
-
28
- See [full scenario guide](docs/USE_CASES.md) for 11 detailed walkthroughs.
29
-
30
- ## Quick Start
31
-
32
- ```bash
33
- # Install all skill groups (default target: Claude Code)
34
- npx @fluentcommerce/ai-skills install
35
-
36
- # Configure MCP server entries for your project
37
- npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE
38
-
39
- # Verify what's installed
40
- npx @fluentcommerce/ai-skills status
41
- ```
42
-
43
- ### Quick Start by Target
44
-
45
- Run from your project root:
46
-
47
- Primary target is **Claude**. The adapters below are **beta**.
48
-
49
- ```bash
50
- # Cursor
51
- npx @fluentcommerce/ai-skills install --target cursor
52
- npx @fluentcommerce/ai-skills status --target cursor
53
-
54
- # VS Code (Copilot instructions format)
55
- npx @fluentcommerce/ai-skills install --target vscode
56
- npx @fluentcommerce/ai-skills status --target vscode
57
-
58
- # GitHub Copilot
59
- npx @fluentcommerce/ai-skills install --target copilot
60
- npx @fluentcommerce/ai-skills status --target copilot
61
-
62
- # Windsurf
63
- npx @fluentcommerce/ai-skills install --target windsurf
64
- npx @fluentcommerce/ai-skills status --target windsurf
65
-
66
- # Codex
67
- npx @fluentcommerce/ai-skills install --target codex
68
- npx @fluentcommerce/ai-skills status --target codex
69
-
70
- # Gemini CLI
71
- npx @fluentcommerce/ai-skills install --target gemini
72
- npx @fluentcommerce/ai-skills status --target gemini
73
- ```
74
-
75
- Tip: to keep instruction size lighter, install only needed groups (for example `npx @fluentcommerce/ai-skills install --target cursor cli mcp-extn`).
76
-
77
- ## Requirements
78
-
79
- - Node.js 18+
80
- - Fluent CLI (`npm i -g @fluentcommerce/cli`) — needed for official MCP server
81
-
82
- ## Supported Targets
83
-
84
- Skills install into your coding assistant's native format:
85
-
86
- | Target | Output location | Scope | Status |
87
- |---|---|---|---|
88
- | `claude` (default) | `~/.claude/agents/` + `~/.claude/skills/` | Global (shared across projects) | **Primary** |
89
- | `cursor` | `.cursor/rules/*.mdc` | Project | Beta |
90
- | `copilot` | `.github/copilot-instructions.md` | Project | Beta |
91
- | `vscode` | `.github/copilot-instructions.md` (alias of `copilot`) | Project | Beta |
92
- | `windsurf` | `.windsurfrules` | Project | Beta |
93
- | `codex` | `AGENTS.md` | Project | Beta |
94
- | `gemini` | `GEMINI.md` | Project | Beta |
95
-
96
- > Claude Code is the primary target with full support (agents, skills, slash commands, MCP integration). Other targets receive the same domain knowledge as merged instruction content and are tested where possible, but may have limited functionality compared to Claude Code.
97
-
98
- ```bash
99
- # Install for a specific target
100
- npx @fluentcommerce/ai-skills install --target cursor
101
-
102
- # Install specific groups only
103
- npx @fluentcommerce/ai-skills install --target copilot cli mcp-extn
104
- ```
105
-
106
- For non-Claude targets, the installer writes a managed block (`<!-- fluent-ai-skills:start --> ... <!-- fluent-ai-skills:end -->`). Uninstall removes only managed content and preserves anything else in the file.
107
-
108
- ## Available Groups
109
-
110
- | Group | What it provides | Claude Code slash commands |
111
- |---|---|---|
112
- | `cli` | Fluent CLI command-family coverage (index routing, reference, account connect, profile, retailer, settings, modules, workflows, MCP/CI-CD, bootstrap) | `/fluent-cli-index` `/fluent-cli-reference` `/fluent-connect` `/fluent-cli-mcp-cicd` `/fluent-bootstrap` `/fluent-cli-retailer` `/fluent-cli-settings` `/fluent-module-deploy` `/fluent-profile` `/fluent-workflow` |
113
- | `mcp-official` | Official Fluent CLI MCP server operations | `/fluent-mcp-core` |
114
- | `mcp-extn` | Extension MCP tools (events, transitions, GraphQL, metrics, batch) | `/fluent-mcp-tools` |
115
- | `rfl` | Ready For Launch assessments | `/fluent-rfl-assess` |
116
- | `dev` | Feature planning (with universal NEW/EXISTING/MODIFIED/REUSED/OOTB classification), workflow builder, workflow deploy, analyzer, connection analysis (with `--validate` static-vs-dynamic comparison and cross-entity event tracing), custom code analysis, transition API, rule scaffold, module scaffold, data module scaffold, source onboarding, module validation, build, version management, trace, event API (model + causality analysis), system monitoring, batch ingestion, E2E, test data, settings (with Phase 2B value format validation and cascading scope resolution), environment setup, pre-deploy checks, session summary, session audit export, scope decomposition, feature explanation, Mermaid diagram validation | `/fluent-feature-plan` `/fluent-workflow-builder` `/fluent-workflow-deploy` `/fluent-workflow-analyzer` `/fluent-connection-analysis` `/fluent-custom-code` `/fluent-transition-api` `/fluent-rule-scaffold` `/fluent-module-scaffold` `/fluent-data-module-scaffold` `/fluent-source-onboard` `/fluent-module-validate` `/fluent-build` `/fluent-version-manage` `/fluent-trace` `/fluent-event-api` `/fluent-system-monitoring` `/fluent-job-batch` `/fluent-e2e-test` `/fluent-test-data` `/fluent-settings` `/fluent-retailer-config` `/fluent-session-summary` `/fluent-scope-decompose` `/fluent-pre-deploy-check` `/fluent-session-audit-export` `/fluent-feature-explain` |
117
-
118
- > Slash commands are Claude Code specific. Other targets receive the same knowledge as merged instruction content.
119
-
120
- For detailed command-family and guide-section coverage status (`full/partial/missing`), see [docs/CLI_COVERAGE.md](docs/CLI_COVERAGE.md).
121
-
122
- ### Group Aliases
123
-
124
- | Alias | Resolves to |
125
- |---|---|
126
- | `mcp` | `mcp-extn` |
127
- | `extn` | `mcp-extn` |
128
- | `extension` | `mcp-extn` |
129
- | `mcp-core` | `mcp-official` |
130
- | `official` | `mcp-official` |
131
-
132
- ## Autonomous Development Workflow
133
-
134
- The `dev` skill group enables AI agents to run a full closed-loop development lifecycle with a mandatory planning gate:
135
-
136
- ```
137
- ANALYZE → EXPLAIN (if requested) or PLAN → [USER APPROVAL] → IMPLEMENT → BUILD → DEPLOY → TEST → DIAGNOSE → FIX → (loop back)
138
- ```
139
-
140
- After analysis, the agent presents a structured implementation plan (workflow changes, settings, rules, Mermaid diagrams, risk assessment, test plan) and waits for explicit user approval before making changes. The agent then continues iterating until all E2E tests pass or an unresolvable blocker is hit.
141
-
142
- Event API source docs are curated into skills via selective extraction; they are not mirrored wholesale.
143
-
144
- | Phase | Skill / Command | What the agent does |
145
- |-------|----------------|---------------------|
146
- | Analyze | `/fluent-workflow-analyzer`, `/fluent-connection-analysis` | Map status graphs, trace event chains, detect orphans, verify connectivity; `--validate` mode compares static workflow paths with runtime events, traces cross-entity propagation, and produces timing analysis |
147
- | Custom code analysis | `/fluent-custom-code` | Scan custom source, generate reusable analysis artifacts (source-map, workflow-rule-map, constraints, behavior-map, extension-plan) |
148
- | Discover | `/fluent-transition-api` | Query available user actions at each status, map required attributes |
149
- | Scope decomposition | `/fluent-scope-decompose` | Parse scope documents into ordered task lists with dependency DAG, skill mappings, and ambiguity detection |
150
- | Feature plan | `/fluent-feature-plan` | Produce comprehensive implementation plan with universal source classification (NEW/EXISTING/MODIFIED/REUSED/OOTB) across all artifacts — rules, workflows, settings, webhooks, cross-entity flows, deployment sequence |
151
- | Plan & Approve | *(check gate)* | Present structured implementation plan (workflows, settings, rules, Mermaid diagrams, risks, test plan). **Wait for user approval.** |
152
- | Implement | `/fluent-workflow-builder`, `/fluent-rule-scaffold` | Edit workflow JSON, scaffold Java rules, update settings |
153
- | Scaffold module | `/fluent-module-scaffold` | Generate complete Maven module skeleton (POMs, module.json, rule classes, build scripts) |
154
- | Onboard source | `/fluent-source-onboard` | Restructure existing Java source (loose files, decompiled JARs, non-standard layouts) into proper Fluent module format; validate and build |
155
- | Validate | `/fluent-module-validate` | Check module structure, version consistency, rule wiring, test coverage; cached report with content hash |
156
- | Version | `/fluent-version-manage` | Read, bump, sync, and tag versions across POM files, module.json, and CHANGELOG |
157
- | Build | `/fluent-build` | Version bump, Maven compile, ZIP packaging |
158
- | Pre-deploy | `/fluent-pre-deploy-check` | 26 quality gates across 8 phases (env, module, workflow, connections, settings, target, risk, completeness) |
159
- | Deploy module | `/fluent-module-deploy` or `flow-run` | Module install via CLI |
160
- | Deploy workflow | `/fluent-workflow-deploy` | Workflow upload via MCP tool, REST API fallback, CLI last resort |
161
- | Test | `/fluent-e2e-test` | Create entities, fire events, poll states, assert transitions |
162
- | Test data | `/fluent-test-data` | Discover retailer environment and generate valid test entity payloads |
163
- | Settings | `/fluent-settings` | Manage retailer settings discover, audit (with Phase 2B value format validation), create/update, migrate; cascading scope resolution (RETAILER -> ACCOUNT) for module-installed settings |
164
- | Environment | `/fluent-retailer-config` | Configure retailer environments locations, networks, catalogues, inventory, carriers |
165
- | Diagnose | `/fluent-trace`, `/fluent-event-api` | Trace failed events, correlate with rulesets, and build causality chains across parent/child events |
166
- | Fix | (routes back to Implement/Build/Deploy) | Apply fix based on diagnosis, re-test |
167
- | Explain | `/fluent-feature-explain` | Reverse-engineer existing feature into a Feature Architecture Document with Mermaid diagrams, data flow, and runtime evidence; tiered analysis (plugin.list decompiled JAR / source code → runtime), auto-discovers entities, JAR decompilation fallback, Analysis Confidence section; saved to `accounts/<PROFILE>/analysis/features/` |
168
- | Audit | `/fluent-session-summary`, `/fluent-session-audit-export` | Track all changes made during session; export machine-readable JSON audit trail |
169
-
170
- Artifacts from custom code analysis are written to `accounts/<PROFILE>/analysis/custom-code/` and reused by other skills (workflow-analyzer, trace, rule-scaffold, etc.). A `fingerprint.json` file is used to detect input changes and skip re-parsing when nothing changed. Module validation reports are written to `accounts/<PROFILE>/analysis/module-validate/` with a content hash re-validation is skipped when the module source is unchanged.
171
-
172
- Account workspace convention see [Workspace Setup](#workspace-setup) for the full guide.
173
-
174
- ### Settings Update Quick Recipe
175
-
176
- For safe setting updates, use this exact flow with `/fluent-settings`:
177
-
178
- 1. Resolve by `name` + `context/contextId` to fetch `id`, `valueType`, and current value.
179
- 2. Update by `id` (never guessed) using:
180
- - `value` for `STRING`/`BOOLEAN`
181
- - `lobValue` for `LOB`/`JSON`
182
- 3. Re-query the same `name` + scope and confirm the value changed.
183
- 4. If no setting exists, create it with the same scope (upsert behavior).
184
-
185
- See [docs/DEV_WORKFLOW.md](docs/DEV_WORKFLOW.md) for the complete orchestration protocol with decision trees, tool chains, and error recovery patterns.
186
-
187
- ### Deep Analysis Fallback (Vague Ruleset/Rule Intent)
188
-
189
- When workflow/ruleset descriptions are too generic to explain behavior confidently, the skills escalate evidence in this order:
190
-
191
- 1. Ask focused clarification questions (trigger, expected state, actual outcome).
192
- 2. Request source (`module.json` + Java rule classes).
193
- 3. If source is unavailable, first check for JAR/ZIP already present under `accounts/<PROFILE>/SOURCE/`, then decompile targeted rule classes.
194
- 4. Correlate decompiled logic with workflow props and runtime event/log evidence.
195
-
196
- This keeps end-to-end analysis grounded in executable rule logic rather than names/descriptions only.
197
-
198
- ## Workspace Setup
199
-
200
- Skills expect implementation source code, workflows, and analysis artifacts to be organized under an `accounts/` directory in your workspace root, keyed by Fluent CLI profile name.
201
-
202
- ### Directory Structure
203
-
204
- ```
205
- accounts/
206
- <PROFILE>/ # matches your FLUENT_PROFILE name
207
- SOURCE/ # account-level, shared across retailers
208
- <repo-name>/ # git-cloned custom plugin repo
209
- resources/module.json
210
- pom.xml
211
- src/main/java/...
212
- <reference-module>/ # reference module package (module.json + JAR)
213
- module.json
214
- assets/rules/*.jar
215
- .decompiled/<jar-basename>/ # auto-generated from JAR decompilation
216
- DECOMPILED.md # marker with source JAR, date, decompiler
217
- com/fluentcommerce/... # decompiled Java classes
218
- workflows/ # retailer-scoped workflow definitions
219
- <RETAILER_REF>/
220
- ORDER__HD.json
221
- FULFILMENT__HD_WH.json
222
- workflow-context.json # download metadata
223
- analysis/ # generated analysis artifacts
224
- custom-code/source-map.json
225
- module-validate/*.report.json
226
- plans/ # persisted implementation plans (audit trail)
227
- 2026-02-23-rule-scaffold-curbside-pickup.md
228
- 2026-02-23-workflow-builder-order-hd-returns.md
229
- workspace-state.json # cached state for idempotent re-runs
230
- workspace-index.json # cross-profile index
231
- ```
232
-
233
- **Why this layout:**
234
- - `SOURCE/` is at the profile (account) level because plugin code is deployed per-account and shared across retailers.
235
- - `workflows/` are scoped by retailer ref inside subdirectories because workflow definitions can differ per retailer.
236
- - `analysis/` holds generated artifacts that other skills reuse (source maps, module validation reports, etc.).
237
- - `plans/` stores implementation plans created by the Planning Gate. Each plan is a markdown file with status tracking (`PENDING` → `APPROVED`/`REJECTED`), Mermaid diagrams, file lists, environment impact, tasks, risks, and test plans. Plans persist across sessions for audit trail and re-use.
238
-
239
- ### Guided Onboarding (`/fluent-connect`)
240
-
241
- The fastest way to set up a workspace is the guided connect wizard. In Claude Code:
242
-
243
- ```
244
- /fluent-connect
245
- ```
246
-
247
- Or with explicit arguments to skip interactive selection:
248
-
249
- ```
250
- /fluent-connect --profile MYPROFILE --retailer MY_RETAILER
251
- ```
252
-
253
- The wizard runs through 5 phases:
254
-
255
- 1. **Profile Discovery** — scans `~/.fluentcommerce/` for CLI profiles, presents a table with account name and environment tier
256
- 2. **Retailer Selection** — reads retailer files for the selected profile, asks which retailer to target
257
- 3. **MCP Wiring** runs `mcp-setup`, verifies `.mcp.json`, prompts IDE reload, validates connectivity
258
- 4. **Workspace Readiness** — creates directories, downloads workflows, scans source repos, decompiles JARs if needed, builds a deployed rule inventory by cross-referencing `plugin.list` with local source
259
- 5. **Persist & Report** — writes `workspace-state.json` (with content hash for caching), updates `workspace-index.json`, prints a readiness report with next-step suggestions
260
-
261
- Re-running `/fluent-connect` is safe and instant if nothing changed (content hash match). Use `--force` to re-run full discovery.
262
-
263
- ### Adding Source Code
264
-
265
- Clone your custom plugin repositories into `accounts/<PROFILE>/SOURCE/`:
266
-
267
- ```bash
268
- cd accounts/MYPROFILE/SOURCE
269
- git clone https://bitbucket.org/yourorg/fc-module-extensions.git
270
- git clone https://bitbucket.org/yourorg/fc-module-returns.git
271
- ```
272
-
273
- Each repo should contain at minimum:
274
- - `resources/module.json` — module metadata and rule registrations
275
- - `pom.xml` — Maven build configuration
276
- - `src/main/java/` — Java rule classes
277
-
278
- Skills automatically detect repos by searching recursively for `module.json`, `pom.xml`, or `src/main/java/`. Nested directory structures (including double-nested git clone artifacts like `repo/repo/`) are handled.
279
-
280
- ### Adding JAR Files
281
-
282
- When original source code is not available, place compiled module JARs directly in `SOURCE/`:
283
-
284
- ```bash
285
- cp fc-module-extensions-1.2.3.jar accounts/MYPROFILE/SOURCE/
286
- ```
287
-
288
- Skills will:
289
- 1. Auto-detect JAR files during workspace setup
290
- 2. Decompile them (using CFR or Fernflower if available) into `SOURCE/.decompiled/<jar-basename>/`
291
- 3. Extract `module.json` from the JAR if present
292
- 4. Create a `DECOMPILED.md` marker noting the source JAR, date, and confidence level
293
-
294
- **Decompiled source is read-only.** Skills can analyze it for rule discovery, behavior explanation, and workflow-rule mapping, but will never suggest editing decompiled files. To modify code, provide original source or scaffold a new module.
295
-
296
- ### Reference Modules
297
-
298
- Reference (OOTB) modules that ship as a `module.json` + JAR package can also be placed in `SOURCE/`:
299
-
300
- ```bash
301
- cp -r fluent-module-order/ accounts/MYPROFILE/SOURCE/
302
- # Contains: module.json + assets/rules/*.jar
303
- ```
304
-
305
- Skills read rule names, descriptions, and version directly from `module.json` no decompilation needed for metadata. Decompilation is only triggered if deep analysis of rule implementation logic is requested.
306
-
307
- ### Adding a New Account
308
-
309
- ```bash
310
- # Create the directory structure
311
- mkdir -p accounts/NEW_PROFILE/SOURCE
312
- mkdir -p accounts/NEW_PROFILE/workflows
313
- mkdir -p accounts/NEW_PROFILE/analysis
314
-
315
- # Clone plugin repos
316
- cd accounts/NEW_PROFILE/SOURCE
317
- git clone <repo-url>
318
-
319
- # Download workflows (after setting up profile)
320
- fluent workflow download -p NEW_PROFILE -r RETAILER_REF -w all \
321
- -o accounts/NEW_PROFILE/workflows/RETAILER_REF/
322
- ```
323
-
324
- Or let `/fluent-connect` do all of this interactively.
325
-
326
- ### How Analysis Works
327
-
328
- Once the workspace is populated, skills build a holistic view of what's deployed:
329
-
330
- 1. **Live environment** `plugin.list` queries all registered orchestration rules
331
- 2. **Local source** — repos with full Java source (modifiable, buildable)
332
- 3. **Local JARs** — decompiled bytecode (analyzable, read-only)
333
- 4. **Workflow definitions** downloaded JSON files
334
-
335
- Cross-referencing these produces a **deployed rule inventory**:
336
-
337
- | Status | Meaning | What you can do |
338
- |--------|---------|-----------------|
339
- | Full source | Rule class found in a git repo | Analyze, modify, build, redeploy |
340
- | Decompiled | Rule class found in decompiled JAR | Analyze behavior, cannot modify |
341
- | Missing | Deployed rule with no local source or JAR | Blind spot — provide source or JAR |
342
-
343
- This inventory is persisted in `workspace-state.json` and powers downstream skills like `/fluent-custom-code`, `/fluent-workflow-analyzer`, and `/fluent-rfl-assess`.
344
-
345
- ### .gitignore
346
-
347
- The `accounts/` directory should be in `.gitignore` it may contain credentials (via profile references), downloaded workflows, and customer-specific source code:
348
-
349
- ```gitignore
350
- accounts/
351
- ```
352
-
353
- ## Setup Guide
354
-
355
- ### Option A Fastest (no source clone)
356
-
357
- ```bash
358
- npx @fluentcommerce/ai-skills install
359
- npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE
360
-
361
- # Multi-retailer profile (retailer ref for extension server)
362
- npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE --profile-retailer YOUR_RETAILER_REF
363
- ```
364
-
365
- When `--profile` is provided, both MCP servers are wired with `FLUENT_PROFILE` automatically.
366
- You can run immediately with profile auth, or override with explicit OAuth/token env vars.
367
-
368
- For explicit env auth in `.mcp.json`, fill:
369
-
370
- - `FLUENT_BASE_URL` your tenant API URL
371
- - `FLUENT_RETAILER_ID` target retailer ID
372
- - `FLUENT_CLIENT_ID` / `FLUENT_CLIENT_SECRET` OAuth credentials
373
- - `FLUENT_USERNAME` / `FLUENT_PASSWORD` user credentials (if using password grant)
374
- - `FLUENT_PROFILE_RETAILER` — optional retailer ref for profile-scoped user overrides
375
-
376
- Restart your IDE after editing `.mcp.json`.
377
-
378
- ### Option B Extension source clone + local build
379
-
380
- ```bash
381
- npx @fluentcommerce/ai-skills mcp-setup --install-extn-source --profile YOUR_PROFILE
382
- ```
383
-
384
- This clones the `fluent-mcp-extn` source into your project, builds it, and wires `.mcp.json` to the local build. Use this if you want to debug or customize the extension server.
385
-
386
- ### Option C — Install from tarball
387
-
388
- ```bash
389
- # Create tarball
390
- cd fluent-ai-skills && npm pack
391
-
392
- # Install from tarball on any machine
393
- npx ./fluentcommerce-ai-skills-0.0.1.tgz install
394
- ```
395
-
396
- ## End-to-End Validation (Recommended)
397
-
398
- Validate the full setup path (skills bootstrap -> MCP config -> extension runtime smoke):
399
-
400
- ```bash
401
- # 1) Install skills + generate MCP config
402
- npx @fluentcommerce/ai-skills install
403
- npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE --profile-retailer YOUR_RETAILER_REF
404
-
405
- # 2) Verify generated env in .mcp.json (extension server)
406
- # FLUENT_PROFILE=YOUR_PROFILE
407
- # FLUENT_PROFILE_RETAILER=YOUR_RETAILER_REF
408
-
409
- # 3) Run extension end-to-end smoke
410
- cd fluent-mcp-extn
411
- npm install
412
- npm run build
413
- npm test
414
- npm run e2e:smoke -- --wizard
415
- npm run e2e:smoke -- --profile YOUR_PROFILE
416
- npm run e2e:smoke -- --profile YOUR_PROFILE --retailer YOUR_RETAILER_REF_OR_ID
417
-
418
- # 4) Optional: run one smoke cycle per profile retailer
419
- npm run e2e:smoke -- --profile YOUR_PROFILE --all-retailers
420
- ```
421
-
422
- This verifies both MCP servers are configured and that `fluent-mcp-extn` can execute real API smoke checks in profile mode.
423
-
424
- Notes:
425
- - `--wizard` is for interactive local runs (guided profile/account + retailer selection).
426
- - `--retailer` accepts retailer ID or retailer ref.
427
- - CI/non-interactive runs should use explicit flags (`--profile <name> --retailer <id|ref>` or `--profile <name> --all-retailers`).
428
- - `flow-run` is diagnostics + optional guarded deploy; use `fluent-mcp-extn` smoke for runtime E2E checks.
429
-
430
- ## CLI Reference
431
-
432
- ```
433
- npx @fluentcommerce/ai-skills <command> [--target <target>] [groups...]
434
- ```
435
-
436
- | Command | Description |
437
- |---|---|
438
- | `install [groups...]` | Install all groups (default) or selected groups |
439
- | `uninstall [groups...]` | Uninstall all groups or selected groups |
440
- | `status [groups...]` | Show install status |
441
- | `list` | List available groups |
442
- | `mcp-setup [options]` | Generate `.mcp.json` for official + extension MCP servers |
443
- | `flow-run [options]` | Run diagnostics and optional guarded module deploy |
444
- | `--version` | Show package version |
445
- | `--help` | Show help |
446
-
447
- ### `mcp-setup` Options
448
-
449
- ```bash
450
- # Basic generates .mcp.json with both servers
451
- npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE
452
-
453
- # Profile + retailer ref (for fluent-mcp-extn profile-scoped user overrides)
454
- npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE --profile-retailer YOUR_RETAILER_REF
455
-
456
- # Clone and build extension source locally
457
- npx @fluentcommerce/ai-skills mcp-setup --install-extn-source --profile YOUR_PROFILE
458
-
459
- # Custom source location and repo
460
- npx @fluentcommerce/ai-skills mcp-setup \
461
- --install-extn-source \
462
- --extn-dir tools/fluent-mcp-extn \
463
- --extn-repo https://bitbucket.org/fluentcommerce/fluent-mcp-extn.git
464
-
465
- # Custom server names
466
- npx @fluentcommerce/ai-skills mcp-setup \
467
- --official-server-name fluent-mcp \
468
- --extn-server-name fluent-mcp-extn
469
- ```
470
-
471
- `--profile-retailer` expects a retailer **ref** (for example `RETAILER_REF`), not retailer ID.
472
-
473
- ### `flow-run` Options
474
-
475
- `flow-run` runs pre-deploy diagnostics and optionally deploys a module:
476
-
477
- ```bash
478
- # Diagnostics only (no deploy)
479
- npx @fluentcommerce/ai-skills flow-run \
480
- --profile YOUR_PROFILE \
481
- --retailer YOUR_RETAILER \
482
- --module dist/module.zip \
483
- --config config/module.config.json
484
-
485
- # Diagnostics + guarded deploy
486
- npx @fluentcommerce/ai-skills flow-run \
487
- --profile YOUR_PROFILE \
488
- --retailer YOUR_RETAILER \
489
- --module dist/module.zip \
490
- --config config/module.config.json \
491
- --deploy --yes --exclude-workflows
492
- ```
493
-
494
- Steps executed: config checks, CLI preflight, module/workflow listing, optional deploy, JSON report.
495
-
496
- Report output: `./.fluent-ai-skills/flow-run-report-<timestamp>.json`
497
-
498
- ## Usage Examples
499
-
500
- ### Claude Code — full install + MCP
501
-
502
- ```bash
503
- npx @fluentcommerce/ai-skills install
504
- npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE
505
- npx @fluentcommerce/ai-skills status
506
- ```
507
-
508
- ### Cursor — operations focused
509
-
510
- ```bash
511
- cd your-project
512
- npx @fluentcommerce/ai-skills install --target cursor cli mcp-extn
513
- npx @fluentcommerce/ai-skills status --target cursor
514
- ```
515
-
516
- ### GitHub Copilot — shared repo instructions
517
-
518
- ```bash
519
- cd your-project
520
- npx @fluentcommerce/ai-skills install --target copilot cli rfl
521
- ```
522
-
523
- ### Uninstall
524
-
525
- ```bash
526
- # Uninstall all groups from default target
527
- npx @fluentcommerce/ai-skills uninstall
528
-
529
- # Uninstall specific groups from specific target
530
- npx @fluentcommerce/ai-skills uninstall --target windsurf cli
531
- ```
532
-
533
- ## Size Guidance
534
-
535
- Single-file targets (`copilot`, `vscode`, `windsurf`, `codex`, `gemini`) concatenate all content into one file. If prompt size becomes a concern, install only the groups you need:
536
-
537
- ```bash
538
- npx @fluentcommerce/ai-skills install --target codex cli mcp-extn
539
- ```
540
-
541
- ## Advanced
542
-
543
- ### Override install location
544
-
545
- For Claude target, override the default `~/.claude/` location:
546
-
547
- ```bash
548
- FLUENT_AI_SKILLS_HOME=/custom/path npx @fluentcommerce/ai-skills install
549
- ```
550
-
551
- ```powershell
552
- # PowerShell
553
- $env:FLUENT_AI_SKILLS_HOME = "C:\custom\path"; npx @fluentcommerce/ai-skills install
554
- ```
555
-
556
- ```cmd
557
- # Windows CMD
558
- set FLUENT_AI_SKILLS_HOME=C:\custom\path && npx @fluentcommerce/ai-skills install
559
- ```
560
-
561
- ### MCP config locations by client
562
-
563
- | Client | Where to put `.mcp.json` |
564
- |---|---|
565
- | Claude Code | Workspace root `.mcp.json` |
566
- | Cursor | Workspace root `.mcp.json` or `.cursor/mcp.json` |
567
- | VS Code Copilot | `.vscode/mcp.json` |
568
- | Windsurf | Workspace/app MCP settings |
569
-
570
- ## Diagrams
571
-
572
- ### Install Flow
573
-
574
- ```mermaid
575
- flowchart TD
576
- A["npx @fluentcommerce/ai-skills install"] --> B{"--target"}
577
- B -->|"claude (default)"| C["~/.claude/agents + ~/.claude/skills"]
578
- B -->|"cursor"| D[".cursor/rules/*.mdc"]
579
- B -->|"copilot"| E[".github/copilot-instructions.md"]
580
- B -->|"vscode"| F[".github/copilot-instructions.md"]
581
- B -->|"windsurf"| G[".windsurfrules"]
582
- B -->|"codex"| H["AGENTS.md"]
583
- B -->|"gemini"| I["GEMINI.md"]
584
- A --> J{"groups specified?"}
585
- J -->|"no"| K["install all groups"]
586
- J -->|"yes"| L["install selected groups only"]
587
- ```
588
-
589
- ### flow-run Execution
590
-
591
- ```mermaid
592
- flowchart LR
593
- subgraph Local
594
- A["Check .mcp.json"]
595
- B["Scan config placeholders"]
596
- end
597
- subgraph CLI
598
- C["fluent --version"]
599
- D["fluent profile active"]
600
- E["fluent module describe/list"]
601
- F["fluent workflow list"]
602
- end
603
- subgraph Deploy
604
- G{"--deploy --yes?"}
605
- H["fluent module install"]
606
- I["post-deploy verify"]
607
- end
608
- A --> B --> C --> D --> E --> F --> G
609
- G -->|"yes"| H --> I
610
- G -->|"no"| J["write diagnostics report only"]
611
- ```
612
-
613
- ## Companion Packages
614
-
615
- | Package | Purpose |
616
- |---|---|
617
- | [`@fluentcommerce/fluent-mcp-extn`](https://www.npmjs.com/package/@fluentcommerce/fluent-mcp-extn) | MCP extension server (events, transitions, GraphQL, metrics, batch, webhooks) |
618
- | Fluent CLI (`@fluentcommerce/cli`) | Official CLI and built-in MCP server |
619
-
620
- ## License
621
-
622
- MIT
1
+ # @fluentcommerce/ai-skills
2
+
3
+ > **Alpha** — This package is under active development. Skill content, CLI options, and supported targets may change between releases without notice. Use in non-production environments and pin to a specific version if stability matters.
4
+
5
+ Modular [Fluent Commerce](https://fluentcommerce.com) AI skill packs for coding assistants.
6
+ Install all groups, or only what each project needs.
7
+
8
+ **What this does:** AI coding assistants (Claude Code, Cursor, Copilot, etc.) are general-purpose — they don't know Fluent Commerce. This package injects Fluent-specific domain knowledge (workflows, events, rules, GraphQL patterns, CLI commands, deployment procedures) into your assistant so it can analyze workflows, scaffold rules, run E2E tests, debug failed events, and manage settings — all through natural language.
9
+
10
+ **New here?** Start with the [Getting Started Guide](docs/GETTING_STARTED.md) for a hands-on walkthrough, then see [What Can You Do?](docs/USE_CASES.md) for 21 scenario-based examples.
11
+
12
+ **Need release guidance?** Use the [Deployment and Promotion Runbook](docs/DEPLOYMENT_PROMOTION_RUNBOOK.md) for end-user, step-by-step promotion commands, artifacts created, verification gates, and rollback steps.
13
+
14
+ **What is a "skill"?** A skill is a structured instruction file that teaches the AI how to perform a specific Fluent task. For example, `/fluent-workflow-analyzer` teaches the AI how to read workflow JSON, map status graphs, detect orphaned rulesets, and generate Mermaid diagrams. Skills are installed into your assistant's native format (Claude agents/skills, Cursor rules, Copilot instructions, etc.).
15
+
16
+ ## What Can You Do?
17
+
18
+ | Persona | Example prompt | What happens |
19
+ |---------|---------------|-------------|
20
+ | New developer | "Explain how Home Delivery works" | Feature Architecture Document with diagrams, rules, settings |
21
+ | Debugging | "Why is order HD-001 stuck?" | Event forensics, NO_MATCH analysis, remediation options |
22
+ | Building | "Build an ORDER::RETURN workflow" | Plan mode state machine rulesets → deploy → E2E test |
23
+ | Frontend | "Build a manifest page for order details" | Compose OOTB Mystique components, validate manifest, deploy to UX App |
24
+ | UI building | "Build an order tracking page" | Manifest buildercomponent compositionvalidation → deploy |
25
+ | Pre-go-live | "Run a Ready For Launch assessment" | Scored report across workflows, rules, settings, integrations |
26
+ | Ops | "Show event failure rates for the last hour" | Metrics anomaly detection with threshold alerts |
27
+
28
+ See [full scenario guide](docs/USE_CASES.md) for 21 detailed walkthroughs.
29
+
30
+ ## Quick Start
31
+
32
+ ```bash
33
+ # Install all skill groups (default target: Claude Code)
34
+ npx @fluentcommerce/ai-skills install
35
+
36
+ # Configure MCP server entries for your project
37
+ npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE
38
+
39
+ # Verify what's installed
40
+ npx @fluentcommerce/ai-skills status
41
+ ```
42
+
43
+ ### Quick Start by Target
44
+
45
+ Run from your project root:
46
+
47
+ Primary target is **Claude**. The adapters below are **beta**.
48
+
49
+ ```bash
50
+ # Cursor
51
+ npx @fluentcommerce/ai-skills install --target cursor
52
+ npx @fluentcommerce/ai-skills status --target cursor
53
+
54
+ # VS Code (Copilot instructions format)
55
+ npx @fluentcommerce/ai-skills install --target vscode
56
+ npx @fluentcommerce/ai-skills status --target vscode
57
+
58
+ # GitHub Copilot
59
+ npx @fluentcommerce/ai-skills install --target copilot
60
+ npx @fluentcommerce/ai-skills status --target copilot
61
+
62
+ # Windsurf
63
+ npx @fluentcommerce/ai-skills install --target windsurf
64
+ npx @fluentcommerce/ai-skills status --target windsurf
65
+
66
+ # Codex
67
+ npx @fluentcommerce/ai-skills install --target codex
68
+ npx @fluentcommerce/ai-skills status --target codex
69
+
70
+ # Gemini CLI
71
+ npx @fluentcommerce/ai-skills install --target gemini
72
+ npx @fluentcommerce/ai-skills status --target gemini
73
+ ```
74
+
75
+ Tip: to keep instruction size lighter, install only needed groups (for example `npx @fluentcommerce/ai-skills install --target cursor cli mcp-extn`).
76
+
77
+ ## Requirements
78
+
79
+ - Node.js 18+
80
+ - Fluent CLI (`npm i -g @fluentcommerce/cli`) — needed for official MCP server
81
+
82
+ ## Supported Targets
83
+
84
+ Skills install into your coding assistant's native format:
85
+
86
+ | Target | Output location | Scope | Status |
87
+ |---|---|---|---|
88
+ | `claude` (default) | `~/.claude/agents/` + `~/.claude/skills/` | Global (shared across projects) | **Primary** |
89
+ | `cursor` | `.cursor/rules/*.mdc` | Project | Beta |
90
+ | `copilot` | `.github/copilot-instructions.md` | Project | Beta |
91
+ | `vscode` | `.github/copilot-instructions.md` (alias of `copilot`) | Project | Beta |
92
+ | `windsurf` | `.windsurfrules` | Project | Beta |
93
+ | `codex` | `AGENTS.md` | Project | Beta |
94
+ | `gemini` | `GEMINI.md` | Project | Beta |
95
+
96
+ > Claude Code is the primary target with full support (agents, skills, slash commands, MCP integration). Other targets receive the same domain knowledge as merged instruction content and are tested where possible, but may have limited functionality compared to Claude Code.
97
+
98
+ ```bash
99
+ # Install for a specific target
100
+ npx @fluentcommerce/ai-skills install --target cursor
101
+
102
+ # Install specific groups only
103
+ npx @fluentcommerce/ai-skills install --target copilot cli mcp-extn
104
+ ```
105
+
106
+ For non-Claude targets, the installer writes a managed block (`<!-- fluent-ai-skills:start --> ... <!-- fluent-ai-skills:end -->`). Uninstall removes only managed content and preserves anything else in the file.
107
+
108
+ ## Available Groups
109
+
110
+ | Group | What it provides | Claude Code slash commands |
111
+ |---|---|---|
112
+ | `cli` | Fluent CLI command-family coverage (index routing, reference, account connect, profile, retailer, settings, modules, workflows, MCP/CI-CD, bootstrap) | `/fluent-cli-index` `/fluent-cli-reference` `/fluent-connect` `/fluent-cli-mcp-cicd` `/fluent-bootstrap` `/fluent-cli-retailer` `/fluent-cli-settings` `/fluent-module-deploy` `/fluent-profile` `/fluent-workflow` |
113
+ | `mcp-official` | Official Fluent CLI MCP server operations | `/fluent-mcp-core` |
114
+ | `mcp-extn` | Extension MCP tools (events, transitions, GraphQL, metrics, batch) | `/fluent-mcp-tools` |
115
+ | `rfl` | Ready For Launch assessments | `/fluent-rfl-assess` |
116
+ | `dev` | **Backend:** workflow builder, analyzer, connection analysis (with `--validate` static-vs-dynamic comparison), custom code analysis, transition API, rule scaffold, module scaffold, source onboarding, module validation, build, version management, trace, event API (model + causality analysis), system monitoring, batch ingestion, settings (with Phase 2B value format validation and cascading scope resolution), environment setup, deploy, pre-deploy checks, workflow deploy. **Frontend (Mystique):** manifest validation (73 OOTB components, 49 rules), manifest builder (6 operations, 7 composition patterns), SDK component scaffolding, manifest analysis (complexity scoring, Mermaid diagrams). **Cross-cutting:** feature planning (with universal NEW/EXISTING/MODIFIED/REUSED/OOTB classification), feature status dashboard, feature archival, deployment rollback, implementation mapping, E2E test, test data, session summary, session audit export, scope decomposition (with batch feature stubbing), feature explanation, sourcing framework reference | `/fluent-feature-plan` `/fluent-feature-status` `/fluent-implementation-map` `/fluent-archive` `/fluent-rollback` `/fluent-workflow-builder` `/fluent-workflow-analyzer` `/fluent-connection-analysis` `/fluent-custom-code` `/fluent-transition-api` `/fluent-rule-scaffold` `/fluent-module-scaffold` `/fluent-source-onboard` `/fluent-module-validate` `/fluent-build` `/fluent-version-manage` `/fluent-trace` `/fluent-event-api` `/fluent-system-monitoring` `/fluent-job-batch` `/fluent-e2e-test` `/fluent-test-data` `/fluent-settings` `/fluent-retailer-config` `/fluent-session-summary` `/fluent-scope-decompose` `/fluent-pre-deploy-check` `/fluent-session-audit-export` `/fluent-feature-explain` `/fluent-sourcing` `/fluent-use-case-discover` `/fluent-data-module-scaffold` `/fluent-mermaid-validate` `/fluent-workflow-deploy` `/fluent-workspace-tree` `/fluent-mystique-validate` `/fluent-mystique-builder` `/fluent-mystique-scaffold` `/fluent-mystique-analyze` |
117
+
118
+ > Slash commands are Claude Code specific. Other targets receive the same knowledge as merged instruction content.
119
+
120
+ For detailed command-family and guide-section coverage status (`full/partial/missing`), see [docs/CLI_COVERAGE.md](docs/CLI_COVERAGE.md).
121
+
122
+ ### Agent Architecture
123
+
124
+ The `dev` group uses a three-agent architecture for clear separation of concerns:
125
+
126
+ | Agent | Role | Skills |
127
+ |-------|------|--------|
128
+ | `fluent-dev` | Lightweight orchestrator — routes requests to backend or frontend agents; owns cross-cutting skills (feature planning, implementation mapping, E2E testing, session tracking) | Cross-cutting: `/fluent-feature-plan`, `/fluent-feature-status`, `/fluent-implementation-map`, `/fluent-use-case-discover`, `/fluent-scope-decompose`, `/fluent-archive`, `/fluent-session-summary`, `/fluent-pre-deploy-check`, `/fluent-e2e-test`, `/fluent-workspace-tree` |
129
+ | `fluent-backend-dev` | Backend specialist — Java rules, Maven modules, workflow JSON, settings, events, deployment | 24 skills including `/fluent-workflow-builder`, `/fluent-rule-scaffold`, `/fluent-module-scaffold`, `/fluent-build`, `/fluent-trace`, `/fluent-settings` |
130
+ | `fluent-frontend-dev` | Frontend specialist — Mystique manifest building, validation, SDK component scaffolding, manifest analysis | `/fluent-mystique-builder`, `/fluent-mystique-validate`, `/fluent-mystique-scaffold`, `/fluent-mystique-analyze` |
131
+
132
+ Routing is automatic — mention "workflow", "rule", "module", "event", "settings" for backend; mention "manifest", "page", "component", "UI", "Mystique" for frontend. Cross-domain features use the orchestrator's unified planning gate.
133
+
134
+ ### Group Aliases
135
+
136
+ | Alias | Resolves to |
137
+ |---|---|
138
+ | `mcp` | `mcp-extn` |
139
+ | `extn` | `mcp-extn` |
140
+ | `extension` | `mcp-extn` |
141
+ | `mcp-core` | `mcp-official` |
142
+ | `official` | `mcp-official` |
143
+
144
+ ## Autonomous Development Workflow
145
+
146
+ The `dev` skill group enables AI agents to run a full closed-loop development lifecycle with a mandatory planning gate:
147
+
148
+ ```
149
+ ANALYZE EXPLAIN (if requested) or PLAN [USER APPROVAL] IMPLEMENT BUILD DEPLOY TEST DIAGNOSE FIX → (loop back)
150
+ ```
151
+
152
+ After analysis, the agent presents a structured implementation plan (workflow changes, settings, rules, Mermaid diagrams, risk assessment, test plan) and waits for explicit user approval before making changes. The agent then continues iterating until all E2E tests pass or an unresolvable blocker is hit.
153
+
154
+ Event API source docs are curated into skills via selective extraction; they are not mirrored wholesale.
155
+
156
+ | Phase | Skill / Command | What the agent does |
157
+ |-------|----------------|---------------------|
158
+ | Analyze | `/fluent-workflow-analyzer`, `/fluent-connection-analysis` | Map status graphs, trace event chains, detect orphans, verify connectivity; `--validate` mode compares static workflow paths with runtime events, traces cross-entity propagation, and produces timing analysis |
159
+ | Custom code analysis | `/fluent-custom-code` | Scan custom source, generate reusable analysis artifacts (source-map, workflow-rule-map, constraints, behavior-map, extension-plan) |
160
+ | Discover | `/fluent-transition-api` | Query available user actions at each status, map required attributes |
161
+ | Scope decomposition | `/fluent-scope-decompose` | Parse scope documents into ordered task lists with dependency DAG, skill mappings, and ambiguity detection |
162
+ | Feature plan | `/fluent-feature-plan` | Produce comprehensive implementation plan with universal source classification (NEW/EXISTING/MODIFIED/REUSED/OOTB) across all artifacts — rules, workflows, settings, webhooks, cross-entity flows, deployment sequence |
163
+ | Plan & Approve | *(check gate)* | Present structured implementation plan (workflows, settings, rules, Mermaid diagrams, risks, test plan). **Wait for user approval.** |
164
+ | Implement | `/fluent-workflow-builder`, `/fluent-rule-scaffold` | Edit workflow JSON, scaffold Java rules, update settings |
165
+ | Scaffold module | `/fluent-module-scaffold` | Generate complete Maven module skeleton (POMs, module.json, rule classes, build scripts) |
166
+ | Onboard source | `/fluent-source-onboard` | Restructure existing Java source (loose files, decompiled JARs, non-standard layouts) into proper Fluent module format; validate and build |
167
+ | Validate | `/fluent-module-validate` | Check module structure, version consistency, rule wiring, test coverage; cached report with content hash |
168
+ | Version | `/fluent-version-manage` | Read, bump, sync, and tag versions across POM files, module.json, and CHANGELOG |
169
+ | Build | `/fluent-build` | Version bump, Maven compile, ZIP packaging |
170
+ | Pre-deploy | `/fluent-pre-deploy-check` | 26 quality gates across 8 phases (env, module, workflow, connections, settings, target, risk, completeness) |
171
+ | Deploy | `/fluent-module-deploy` or `flow-run` | Module install or REST workflow upload |
172
+ | Test | `/fluent-e2e-test` | Create entities, fire events, poll states, assert transitions |
173
+ | Test data | `/fluent-test-data` | Discover retailer environment and generate valid test entity payloads |
174
+ | Settings | `/fluent-settings` | Manage retailer settings — discover, audit (with Phase 2B value format validation), create/update, migrate; cascading scope resolution (RETAILER -> ACCOUNT) for module-installed settings |
175
+ | Environment | `/fluent-retailer-config` | Configure retailer environments — locations, networks, catalogues, inventory, carriers |
176
+ | Diagnose | `/fluent-trace`, `/fluent-event-api` | Trace failed events, correlate with rulesets, and build causality chains across parent/child events |
177
+ | Fix | (routes back to Implement/Build/Deploy) | Apply fix based on diagnosis, re-test |
178
+ | Explain | `/fluent-feature-explain` | Reverse-engineer existing feature into a Feature Architecture Document with Mermaid diagrams, data flow, and runtime evidence; tiered analysis (plugin.list → decompiled JAR / source code → runtime), auto-discovers entities, JAR decompilation fallback, Analysis Confidence section; saved to `accounts/<PROFILE>/features/<slug>/architecture.md` |
179
+ | Implementation Map | `/fluent-implementation-map` | Reverse-engineer entire implementation into feature inventory with end-to-end flow diagrams, cross-feature dependency maps, customisation scoring, and gap analysis |
180
+ | Sourcing | `/fluent-sourcing` | Reference for sourcing profiles, strategies, conditions, criteria, scoring algorithms, permutation search, custom extensions, and GraphQL patterns |
181
+ | Audit | `/fluent-session-summary`, `/fluent-session-audit-export` | Track all changes, skill invocations, MCP tool calls, and gate decisions; export machine-readable JSON audit trail with decision chain reconstruction |
182
+ | Dashboard | `/fluent-feature-status` | Scan all features and show lifecycle status table — highlights stale features, next steps, and attention items across profiles |
183
+ | Workspace | `/fluent-workspace-tree` | Annotated workspace tree showing all artifacts by category with counts and status overlays |
184
+ | Rollback | `/fluent-rollback` | Roll back deployments — re-upload previous workflow versions, restore settings snapshots, document irreversible entity changes |
185
+ | Manifest build | `/fluent-mystique-builder` | Create manifest pages, routes, component trees, data queries; compose OOTB `fc.*` components before resorting to custom |
186
+ | Manifest validate | `/fluent-mystique-validate` | Schema validation (49 rules, 6 phases), component resolution against 73 OOTB aliases, prop checking, i18n, data queries |
187
+ | Manifest analyze | `/fluent-mystique-analyze` | Complexity scoring (weighted 0-100), component census, pattern detection (15 patterns), Mermaid diagrams |
188
+ | SDK scaffold | `/fluent-mystique-scaffold` | Scaffold Mystique SDK component project (webpack, TypeScript, Storybook, Jest, component registration) when OOTB components cannot meet the requirement |
189
+ | Archive | `/fluent-archive` | Transition features to ARCHIVED status with cleanup and audit trail |
190
+
191
+ **Progress visualization:** Multi-phase skills emit an ASCII progress block (`✓/→/○`) at each phase transition, so you always see where the AI is in the process. Available on the 10 most-used skills.
192
+
193
+ Artifacts from custom code analysis are written to `accounts/<PROFILE>/analysis/code/` and reused by other skills (workflow-analyzer, trace, rule-scaffold, etc.). A `fingerprint.json` file is used to detect input changes and skip re-parsing when nothing changed. Module validation reports are written to `accounts/<PROFILE>/reports/module-validate/` with a content hash — re-validation is skipped when the module source is unchanged. Persistent module inventory (rule registrations, version history) is stored in `accounts/<PROFILE>/analysis/modules/`.
194
+
195
+ Account workspace convention — see [Workspace Setup](#workspace-setup) for the full guide.
196
+
197
+ ### Settings Update Quick Recipe
198
+
199
+ For safe setting updates, use this exact flow with `/fluent-settings`:
200
+
201
+ 1. Resolve by `name` + `context/contextId` to fetch `id`, `valueType`, and current value.
202
+ 2. Update by `id` (never guessed) using:
203
+ - `value` for `STRING`/`BOOLEAN`
204
+ - `lobValue` for `LOB`/`JSON`
205
+ 3. Re-query the same `name` + scope and confirm the value changed.
206
+ 4. If no setting exists, create it with the same scope (upsert behavior).
207
+
208
+ See [docs/DEV_WORKFLOW.md](docs/DEV_WORKFLOW.md) for the complete orchestration protocol with decision trees, tool chains, and error recovery patterns.
209
+
210
+ ### Deep Analysis Fallback (Vague Ruleset/Rule Intent)
211
+
212
+ When workflow/ruleset descriptions are too generic to explain behavior confidently, the skills escalate evidence in this order:
213
+
214
+ 1. Ask focused clarification questions (trigger, expected state, actual outcome).
215
+ 2. Request source (`module.json` + Java rule classes).
216
+ 3. If source is unavailable, first check for JAR/ZIP already present under `accounts/<PROFILE>/SOURCE/`, then decompile targeted rule classes.
217
+ 4. Correlate decompiled logic with workflow props and runtime event/log evidence.
218
+
219
+ This keeps end-to-end analysis grounded in executable rule logic rather than names/descriptions only.
220
+
221
+ ## Workspace Setup
222
+
223
+ Skills expect implementation source code, workflows, and analysis artifacts to be organized under an `accounts/` directory in your workspace root, keyed by Fluent CLI profile name.
224
+
225
+ ### Directory Structure
226
+
227
+ ```
228
+ accounts/
229
+ <PROFILE>/ # matches your FLUENT_PROFILE name
230
+ SOURCE/ # account-level, shared across retailers
231
+ <repo-name>/ # git-cloned custom plugin repo
232
+ resources/module.json
233
+ pom.xml
234
+ src/main/java/...
235
+ <reference-module>/ # reference module package (module.json + JAR)
236
+ module.json
237
+ assets/rules/*.jar
238
+ .decompiled/<jar-basename>/ # auto-generated from JAR decompilation
239
+ DECOMPILED.md # marker with source JAR, date, decompiler
240
+ com/fluentcommerce/... # decompiled Java classes
241
+ workflows/ # retailer-scoped workflow definitions
242
+ <RETAILER_REF>/
243
+ ORDER__HD.json
244
+ FULFILMENT__HD_WH.json
245
+ workflow-context.json # download metadata
246
+ features/ # feature-axis: one dir per feature
247
+ curbside-pickup/
248
+ spec.md # business spec (from use-case-discover)
249
+ plan.md # implementation plan (from feature-plan)
250
+ architecture.md # feature architecture doc (from feature-explain)
251
+ status.json # machine-readable lifecycle state
252
+ analysis/ # generated analysis artifacts
253
+ code/source-map.json
254
+ modules/ # persistent module inventory
255
+ reports/ # ephemeral reports
256
+ module-validate/*.report.json
257
+ tasks/ # operational task plans (non-feature)
258
+ 2026-02-23-rule-scaffold-curbside-pickup.md
259
+ workspace-state.json # cached state for idempotent re-runs
260
+ workspace-index.json # cross-profile index
261
+ ```
262
+
263
+ **Why this layout:**
264
+ - `SOURCE/` is at the profile (account) level because plugin code is deployed per-account and shared across retailers.
265
+ - `workflows/` are scoped by retailer ref inside subdirectories because workflow definitions can differ per retailer.
266
+ - `analysis/` holds generated artifacts that other skills reuse (source maps, module validation reports, etc.).
267
+ - `features/` stores per-feature artifacts (spec, plan, architecture, status.json). Each feature gets its own directory with a machine-readable `status.json` tracking lifecycle state.
268
+ - `tasks/` stores operational task plans (non-feature) created by the Planning Gate. Each plan is a markdown file with status tracking.
269
+
270
+ ### Feature Lifecycle
271
+
272
+ Every feature goes through a structured lifecycle. The AI follows this chain automatically — you just need to prompt at each stage and approve when asked.
273
+
274
+ #### Lifecycle states
275
+
276
+ ```
277
+ DISCOVERY → PLANNING → APPROVED → IN_PROGRESS → VERIFIED → ARCHIVED
278
+ ```
279
+
280
+ | State | What's happening | How you enter it |
281
+ |-------|-----------------|------------------|
282
+ | `DISCOVERY` | Requirements are being gathered | You ask the AI to discover use cases |
283
+ | `PLANNING` | Implementation plan is being written | AI starts planning after spec is approved |
284
+ | `APPROVED` | Plan is approved, ready to build | You explicitly approve the plan |
285
+ | `IN_PROGRESS` | Rules, workflows, settings are being built/deployed/tested | Any implementation skill starts |
286
+ | `VERIFIED` | All E2E tests passed, feature is complete | E2E test suite passes |
287
+ | `ARCHIVED` | Feature retained for reference, no longer active | You run `/fluent-archive` or ask the AI to archive it |
288
+
289
+ #### Step-by-step: Building a feature from scratch
290
+
291
+ Here's exactly what happens at each stage, what you say, and what artifacts are created.
292
+
293
+ **Step 1: Discover requirements** (creates `spec.md`, status → `DISCOVERY`)
294
+
295
+ ```
296
+ "Help me define the use cases for curbside pickup"
297
+ ```
298
+
299
+ The `/fluent-use-case-discover` wizard runs through 10 phases interactively — scope, actors, use cases, entity model, status lifecycles, business rules, integrations, settings, and gap analysis. It queries your live environment if a profile is connected.
300
+
301
+ **What's created:**
302
+ ```
303
+ features/curbside-pickup/
304
+ spec.md ← structured Business Specification with completeness score
305
+ status.json { "status": "DISCOVERY", "spec": "DRAFT", "plan": null }
306
+ ```
307
+
308
+ You review the spec. When satisfied, tell the AI "approve the spec" → `spec` field changes to `"APPROVED"`.
309
+
310
+ **Step 2: Plan the feature** (creates `plan.md`, status → `PLANNING`)
311
+
312
+ ```
313
+ "Plan the curbside pickup feature"
314
+ ```
315
+
316
+ The `/fluent-feature-plan` skill checks that the spec is approved (>= 75% completeness), then produces an 18-section implementation plan:
317
+
318
+ - Architecture diagrams (Mermaid state machines + sequence diagrams)
319
+ - Workflow changes with before/after diffs
320
+ - Rules inventory NEW rules get pseudo-logic contracts, OOTB rules get prop configuration
321
+ - Every artifact tagged as NEW / EXISTING / MODIFIED / REUSED / OOTB
322
+ - Settings, webhooks, cross-entity impacts
323
+ - Deployment sequence, risk assessment, test plan
324
+
325
+ **What's created:**
326
+ ```
327
+ features/curbside-pickup/
328
+ spec.md ← unchanged
329
+ plan.md ← comprehensive 18-section implementation plan
330
+ status.json ← { "status": "PLANNING", "spec": "APPROVED", "plan": "DRAFT" }
331
+ ```
332
+
333
+ The AI presents the plan and **waits for your explicit approval**. You can ask questions, request changes, or reject it. Nothing is built until you say "approved" or "go ahead".
334
+
335
+ **Step 3: Approve the plan** (status → `APPROVED`)
336
+
337
+ ```
338
+ "Looks good, approved"
339
+ ```
340
+
341
+ **What changes:**
342
+ ```
343
+ status.json { "status": "APPROVED", "plan": "APPROVED", "planRevision": 1,
344
+ "next": "/fluent-rule-scaffold" }
345
+ ```
346
+
347
+ The `next` field tells the AI (and you) which skill to run first. The AI follows the implementation chain from the plan automatically.
348
+
349
+ **Step 4: Build** (status → `IN_PROGRESS`)
350
+
351
+ The AI now executes the plan in order. You can let it run or prompt each step manually:
352
+
353
+ ```
354
+ "Create the rules from the plan" → /fluent-rule-scaffold
355
+ "Build the workflow from the plan" → /fluent-workflow-builder
356
+ "Build the module" → /fluent-build
357
+ "Run pre-deploy checks" → /fluent-pre-deploy-check
358
+ "Deploy everything to MY_RETAILER" → /fluent-module-deploy + /fluent-workflow-deploy
359
+ "Run the E2E test from the plan" → /fluent-e2e-test
360
+ ```
361
+
362
+ **What's created at each sub-step:**
363
+
364
+ | Sub-step | Skill | Artifacts created |
365
+ |----------|-------|-------------------|
366
+ | Scaffold rules | `/fluent-rule-scaffold` | `SOURCE/<repo>/src/main/java/.../RuleName.java` + test class + `module.json` updated |
367
+ | Build workflow | `/fluent-workflow-builder` | Modified workflow JSON in `workflows/<RETAILER>/` |
368
+ | Validate | `/fluent-workflow-analyzer` | Structural analysis (runs automatically after workflow edits) |
369
+ | Compile module | `/fluent-build` | `SOURCE/<repo>/dist/<module>.zip` + report in `reports/build/` |
370
+ | Pre-deploy gate | `/fluent-pre-deploy-check` | Report in `reports/pre-deploy/` (READY or BLOCKED) |
371
+ | Deploy module | `/fluent-module-deploy` | Module installed on live environment |
372
+ | Deploy workflow | `/fluent-workflow-deploy` | Workflow uploaded to live environment |
373
+ | E2E test | `/fluent-e2e-test` | Test results in `reports/e2e-test/`, entities created on live env |
374
+
375
+ During this phase:
376
+ ```
377
+ status.json ← { "status": "IN_PROGRESS", "next": "/fluent-build" }
378
+ (next updates as each step completes)
379
+ ```
380
+
381
+ If a test fails, the AI diagnoses the issue, applies a fix, rebuilds, redeploys, and re-tests automatically — looping until all tests pass or an unresolvable blocker is hit.
382
+
383
+ **Step 5: Verified** (status → `VERIFIED`)
384
+
385
+ When all E2E tests pass:
386
+
387
+ ```
388
+ status.json ← { "status": "VERIFIED", "next": null }
389
+ ```
390
+
391
+ The feature is complete. The AI offers a session summary showing everything that was changed.
392
+
393
+ #### Explaining an existing feature (creates `architecture.md`)
394
+
395
+ Not building — just understanding? Use feature-explain instead:
396
+
397
+ ```
398
+ "Explain how Home Delivery works end-to-end"
399
+ ```
400
+
401
+ The `/fluent-feature-explain` skill reverse-engineers the live environment:
402
+
403
+ **What's created:**
404
+ ```
405
+ features/home-delivery/
406
+ architecture.md ← Feature Architecture Document with:
407
+ - State machine diagrams (Mermaid)
408
+ - Cross-entity sequence diagrams
409
+ - Rules & logic tables
410
+ - Settings dependencies
411
+ - Integration points
412
+ - Analysis Confidence levels (HIGH/MEDIUM/LOW per rule)
413
+ status.json ← { "architecture": true }
414
+ ```
415
+
416
+ This is read-only no plan or implementation needed.
417
+
418
+ #### status.json reference
419
+
420
+ Every feature directory has a `status.json` that the AI reads to know where things stand:
421
+
422
+ ```json
423
+ {
424
+ "$schema": "feature-status-v1",
425
+ "feature": "curbside-pickup",
426
+ "retailers": ["Module Test"],
427
+ "status": "APPROVED",
428
+ "created": "2026-02-23",
429
+ "updated": "2026-02-24",
430
+ "spec": "APPROVED",
431
+ "plan": "APPROVED",
432
+ "planRevision": 2,
433
+ "architecture": true,
434
+ "next": "/fluent-rule-scaffold",
435
+ "basedOn": null,
436
+ "archivedOn": null,
437
+ "sessions": []
438
+ }
439
+ ```
440
+
441
+ | Field | What it means |
442
+ |-------|--------------|
443
+ | `status` | Overall lifecycle state (DISCOVERY PLANNING APPROVED → IN_PROGRESS → VERIFIED → ARCHIVED) |
444
+ | `retailers` | Target retailer ref(s) — array for multi-retailer features (accepts singular `retailer` for backward compat) |
445
+ | `spec` | `"DRAFT"` / `"APPROVED"` / `null` (no spec) |
446
+ | `plan` | `"DRAFT"` / `"APPROVED"` / `null` (no plan) |
447
+ | `planRevision` | Current approved plan revision (increments on re-approval) |
448
+ | `architecture` | `true` if an architecture doc exists |
449
+ | `next` | Which skill should run next (advisory — the AI follows this automatically) |
450
+ | `basedOn` | Slug of parent feature whose architecture.md this feature builds on |
451
+ | `archivedOn` | Date the feature was archived (null if not archived) |
452
+ | `sessions` | Links to audit trail exports (populated by `/fluent-session-audit-export`) |
453
+
454
+ #### Resuming work across sessions
455
+
456
+ When you start a new session, the AI checks `features/*/status.json` to find in-progress work:
457
+
458
+ ```
459
+ "What features are in progress?"
460
+ ```
461
+
462
+ Or resume a specific feature:
463
+
464
+ ```
465
+ "Continue working on curbside pickup"
466
+ ```
467
+
468
+ The AI reads `status.json`, sees `"status": "IN_PROGRESS"` and `"next": "/fluent-build"`, and picks up where it left off.
469
+
470
+ #### Revision tracking
471
+
472
+ When a plan or spec is re-approved (major changes), the AI:
473
+ 1. Snapshots the current version to `features/<slug>/history/plan.v1.md`
474
+ 2. Overwrites `plan.md` with the new version
475
+ 3. Increments `planRevision` in `status.json`
476
+
477
+ ```
478
+ features/curbside-pickup/
479
+ plan.md ← current (revision 2)
480
+ spec.md ← current
481
+ history/
482
+ plan.v1.md ← snapshot of revision 1
483
+ ```
484
+
485
+ ### Guided Onboarding (`/fluent-connect`)
486
+
487
+ The fastest way to set up a workspace is the guided connect wizard. In Claude Code:
488
+
489
+ ```
490
+ /fluent-connect
491
+ ```
492
+
493
+ Or with explicit arguments to skip interactive selection:
494
+
495
+ ```
496
+ /fluent-connect --profile MYPROFILE --retailer MY_RETAILER
497
+ ```
498
+
499
+ The wizard runs through 5 phases:
500
+
501
+ 1. **Profile Discovery** — scans `~/.fluentcommerce/` for CLI profiles, presents a table with account name and environment tier
502
+ 2. **Retailer Selection** — reads retailer files for the selected profile, asks which retailer to target
503
+ 3. **MCP Wiring** — runs `mcp-setup`, verifies `.mcp.json`, prompts IDE reload, validates connectivity
504
+ 4. **Workspace Readiness** — creates directories, downloads workflows, scans source repos, decompiles JARs if needed, builds a deployed rule inventory by cross-referencing `plugin.list` with local source
505
+ 5. **Persist & Report** — writes `workspace-state.json` (with content hash for caching), updates `workspace-index.json`, prints a readiness report with next-step suggestions
506
+
507
+ Re-running `/fluent-connect` is safe and instant if nothing changed (content hash match). Use `--force` to re-run full discovery.
508
+
509
+ ### Adding Source Code
510
+
511
+ Clone your custom plugin repositories into `accounts/<PROFILE>/SOURCE/`:
512
+
513
+ ```bash
514
+ cd accounts/MYPROFILE/SOURCE
515
+ git clone https://bitbucket.org/yourorg/fc-module-extensions.git
516
+ git clone https://bitbucket.org/yourorg/fc-module-returns.git
517
+ ```
518
+
519
+ Each repo should contain at minimum:
520
+ - `resources/module.json` module metadata and rule registrations
521
+ - `pom.xml` — Maven build configuration
522
+ - `src/main/java/` — Java rule classes
523
+
524
+ Skills automatically detect repos by searching recursively for `module.json`, `pom.xml`, or `src/main/java/`. Nested directory structures (including double-nested git clone artifacts like `repo/repo/`) are handled.
525
+
526
+ ### Adding JAR Files
527
+
528
+ When original source code is not available, place compiled module JARs directly in `SOURCE/`:
529
+
530
+ ```bash
531
+ cp fc-module-extensions-1.2.3.jar accounts/MYPROFILE/SOURCE/
532
+ ```
533
+
534
+ Skills will:
535
+ 1. Auto-detect JAR files during workspace setup
536
+ 2. Decompile them (using CFR or Fernflower if available) into `SOURCE/.decompiled/<jar-basename>/`
537
+ 3. Extract `module.json` from the JAR if present
538
+ 4. Create a `DECOMPILED.md` marker noting the source JAR, date, and confidence level
539
+
540
+ **Decompiled source is read-only.** Skills can analyze it for rule discovery, behavior explanation, and workflow-rule mapping, but will never suggest editing decompiled files. To modify code, provide original source or scaffold a new module.
541
+
542
+ ### Reference Modules
543
+
544
+ Reference (OOTB) modules that ship as a `module.json` + JAR package can also be placed in `SOURCE/`:
545
+
546
+ ```bash
547
+ cp -r fluent-module-order/ accounts/MYPROFILE/SOURCE/
548
+ # Contains: module.json + assets/rules/*.jar
549
+ ```
550
+
551
+ Skills read rule names, descriptions, and version directly from `module.json` — no decompilation needed for metadata. Decompilation is only triggered if deep analysis of rule implementation logic is requested.
552
+
553
+ ### Adding a New Account
554
+
555
+ ```bash
556
+ # Create the directory structure
557
+ mkdir -p accounts/NEW_PROFILE/SOURCE
558
+ mkdir -p accounts/NEW_PROFILE/workflows
559
+ mkdir -p accounts/NEW_PROFILE/analysis
560
+
561
+ # Clone plugin repos
562
+ cd accounts/NEW_PROFILE/SOURCE
563
+ git clone <repo-url>
564
+
565
+ # Download workflows (after setting up profile)
566
+ fluent workflow download -p NEW_PROFILE -r RETAILER_REF -w all \
567
+ -o accounts/NEW_PROFILE/workflows/RETAILER_REF/
568
+ ```
569
+
570
+ Or let `/fluent-connect` do all of this interactively.
571
+
572
+ ### How Analysis Works
573
+
574
+ Once the workspace is populated, skills build a holistic view of what's deployed:
575
+
576
+ 1. **Live environment** `plugin.list` queries all registered orchestration rules
577
+ 2. **Local source** repos with full Java source (modifiable, buildable)
578
+ 3. **Local JARs** — decompiled bytecode (analyzable, read-only)
579
+ 4. **Workflow definitions** — downloaded JSON files
580
+
581
+ Cross-referencing these produces a **deployed rule inventory**:
582
+
583
+ | Status | Meaning | What you can do |
584
+ |--------|---------|-----------------|
585
+ | Full source | Rule class found in a git repo | Analyze, modify, build, redeploy |
586
+ | Decompiled | Rule class found in decompiled JAR | Analyze behavior, cannot modify |
587
+ | Missing | Deployed rule with no local source or JAR | Blind spot — provide source or JAR |
588
+
589
+ This inventory is persisted in `workspace-state.json` and powers downstream skills like `/fluent-custom-code`, `/fluent-workflow-analyzer`, and `/fluent-rfl-assess`.
590
+
591
+ ### .gitignore
592
+
593
+ The `accounts/` directory should be in `.gitignore` — it may contain credentials (via profile references), downloaded workflows, and customer-specific source code:
594
+
595
+ ```gitignore
596
+ accounts/
597
+ ```
598
+
599
+ ## Setup Guide
600
+
601
+ ### Option A — Fastest (no source clone)
602
+
603
+ ```bash
604
+ npx @fluentcommerce/ai-skills install
605
+ npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE
606
+
607
+ # Multi-retailer profile (retailer ref for extension server)
608
+ npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE --profile-retailer YOUR_RETAILER_REF
609
+ ```
610
+
611
+ When `--profile` is provided, both MCP servers are wired with `FLUENT_PROFILE` automatically.
612
+ You can run immediately with profile auth, or override with explicit OAuth/token env vars.
613
+
614
+ For explicit env auth in `.mcp.json`, fill:
615
+
616
+ - `FLUENT_BASE_URL` — your tenant API URL
617
+ - `FLUENT_RETAILER_ID` target retailer ID
618
+ - `FLUENT_CLIENT_ID` / `FLUENT_CLIENT_SECRET` OAuth credentials
619
+ - `FLUENT_USERNAME` / `FLUENT_PASSWORD` — user credentials (if using password grant)
620
+ - `FLUENT_PROFILE_RETAILER` — optional retailer ref for profile-scoped user overrides
621
+
622
+ Restart your IDE after editing `.mcp.json`.
623
+
624
+ ### Option B — Extension source clone + local build
625
+
626
+ ```bash
627
+ npx @fluentcommerce/ai-skills mcp-setup --install-extn-source --profile YOUR_PROFILE
628
+ ```
629
+
630
+ This clones the `fluent-mcp-extn` source into your project, builds it, and wires `.mcp.json` to the local build. Use this if you want to debug or customize the extension server.
631
+
632
+ ### Option C — Install from tarball
633
+
634
+ ```bash
635
+ # Create tarball
636
+ cd fluent-ai-skills && npm pack
637
+
638
+ # Install from tarball on any machine
639
+ npx ./fluentcommerce-ai-skills-0.2.0.tgz install
640
+ ```
641
+
642
+ ## End-to-End Validation (Recommended)
643
+
644
+ Validate the full setup path (skills bootstrap -> MCP config -> extension runtime smoke):
645
+
646
+ ```bash
647
+ # 1) Install skills + generate MCP config
648
+ npx @fluentcommerce/ai-skills install
649
+ npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE --profile-retailer YOUR_RETAILER_REF
650
+
651
+ # 2) Verify generated env in .mcp.json (extension server)
652
+ # FLUENT_PROFILE=YOUR_PROFILE
653
+ # FLUENT_PROFILE_RETAILER=YOUR_RETAILER_REF
654
+
655
+ # 3) Run extension end-to-end smoke
656
+ cd fluent-mcp-extn
657
+ npm install
658
+ npm run build
659
+ npm test
660
+ npm run e2e:smoke -- --wizard
661
+ npm run e2e:smoke -- --profile YOUR_PROFILE
662
+ npm run e2e:smoke -- --profile YOUR_PROFILE --retailer YOUR_RETAILER_REF_OR_ID
663
+
664
+ # 4) Optional: run one smoke cycle per profile retailer
665
+ npm run e2e:smoke -- --profile YOUR_PROFILE --all-retailers
666
+ ```
667
+
668
+ This verifies both MCP servers are configured and that `fluent-mcp-extn` can execute real API smoke checks in profile mode.
669
+
670
+ Notes:
671
+ - `--wizard` is for interactive local runs (guided profile/account + retailer selection).
672
+ - `--retailer` accepts retailer ID or retailer ref.
673
+ - CI/non-interactive runs should use explicit flags (`--profile <name> --retailer <id|ref>` or `--profile <name> --all-retailers`).
674
+ - `flow-run` is diagnostics + optional guarded deploy; use `fluent-mcp-extn` smoke for runtime E2E checks.
675
+
676
+ ## CLI Reference
677
+
678
+ ```
679
+ npx @fluentcommerce/ai-skills <command> [--target <target>] [groups...]
680
+ ```
681
+
682
+ | Command | Description |
683
+ |---|---|
684
+ | `install [groups...]` | Install all groups (default) or selected groups |
685
+ | `uninstall [groups...]` | Uninstall all groups or selected groups |
686
+ | `status [groups...]` | Show install status |
687
+ | `list` | List available groups |
688
+ | `mcp-setup [options]` | Generate `.mcp.json` for official + extension MCP servers |
689
+ | `flow-run [options]` | Run diagnostics and optional guarded module deploy |
690
+ | `--version` | Show package version |
691
+ | `--help` | Show help |
692
+
693
+ ### `mcp-setup` Options
694
+
695
+ ```bash
696
+ # Basic — generates .mcp.json with both servers
697
+ npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE
698
+
699
+ # Profile + retailer ref (for fluent-mcp-extn profile-scoped user overrides)
700
+ npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE --profile-retailer YOUR_RETAILER_REF
701
+
702
+ # Clone and build extension source locally
703
+ npx @fluentcommerce/ai-skills mcp-setup --install-extn-source --profile YOUR_PROFILE
704
+
705
+ # Custom source location and repo
706
+ npx @fluentcommerce/ai-skills mcp-setup \
707
+ --install-extn-source \
708
+ --extn-dir tools/fluent-mcp-extn \
709
+ --extn-repo https://bitbucket.org/fluentcommerce/fluent-mcp-extn.git
710
+
711
+ # Custom server names
712
+ npx @fluentcommerce/ai-skills mcp-setup \
713
+ --official-server-name fluent-mcp \
714
+ --extn-server-name fluent-mcp-extn
715
+ ```
716
+
717
+ `--profile-retailer` expects a retailer **ref** (for example `RETAILER_REF`), not retailer ID.
718
+
719
+ ### `flow-run` Options
720
+
721
+ `flow-run` runs pre-deploy diagnostics and optionally deploys a module:
722
+
723
+ ```bash
724
+ # Diagnostics only (no deploy)
725
+ npx @fluentcommerce/ai-skills flow-run \
726
+ --profile YOUR_PROFILE \
727
+ --retailer YOUR_RETAILER \
728
+ --module dist/module.zip \
729
+ --config config/module.config.json
730
+
731
+ # Diagnostics + guarded deploy
732
+ npx @fluentcommerce/ai-skills flow-run \
733
+ --profile YOUR_PROFILE \
734
+ --retailer YOUR_RETAILER \
735
+ --module dist/module.zip \
736
+ --config config/module.config.json \
737
+ --deploy --yes --exclude-workflows
738
+ ```
739
+
740
+ Steps executed: config checks, CLI preflight, module/workflow listing, optional deploy, JSON report.
741
+
742
+ Report output: `./.fluent-ai-skills/flow-run-report-<timestamp>.json`
743
+
744
+ ## Usage Examples
745
+
746
+ ### Claude Code — full install + MCP
747
+
748
+ ```bash
749
+ npx @fluentcommerce/ai-skills install
750
+ npx @fluentcommerce/ai-skills mcp-setup --profile YOUR_PROFILE
751
+ npx @fluentcommerce/ai-skills status
752
+ ```
753
+
754
+ ### Cursor — operations focused
755
+
756
+ ```bash
757
+ cd your-project
758
+ npx @fluentcommerce/ai-skills install --target cursor cli mcp-extn
759
+ npx @fluentcommerce/ai-skills status --target cursor
760
+ ```
761
+
762
+ ### GitHub Copilot — shared repo instructions
763
+
764
+ ```bash
765
+ cd your-project
766
+ npx @fluentcommerce/ai-skills install --target copilot cli rfl
767
+ ```
768
+
769
+ ### Uninstall
770
+
771
+ ```bash
772
+ # Uninstall all groups from default target
773
+ npx @fluentcommerce/ai-skills uninstall
774
+
775
+ # Uninstall specific groups from specific target
776
+ npx @fluentcommerce/ai-skills uninstall --target windsurf cli
777
+ ```
778
+
779
+ ## Size Guidance
780
+
781
+ Single-file targets (`copilot`, `vscode`, `windsurf`, `codex`, `gemini`) concatenate all content into one file. If prompt size becomes a concern, install only the groups you need:
782
+
783
+ ```bash
784
+ npx @fluentcommerce/ai-skills install --target codex cli mcp-extn
785
+ ```
786
+
787
+ ## Advanced
788
+
789
+ ### Override install location
790
+
791
+ For Claude target, override the default `~/.claude/` location:
792
+
793
+ ```bash
794
+ FLUENT_AI_SKILLS_HOME=/custom/path npx @fluentcommerce/ai-skills install
795
+ ```
796
+
797
+ ```powershell
798
+ # PowerShell
799
+ $env:FLUENT_AI_SKILLS_HOME = "C:\custom\path"; npx @fluentcommerce/ai-skills install
800
+ ```
801
+
802
+ ```cmd
803
+ # Windows CMD
804
+ set FLUENT_AI_SKILLS_HOME=C:\custom\path && npx @fluentcommerce/ai-skills install
805
+ ```
806
+
807
+ ### MCP config locations by client
808
+
809
+ | Client | Where to put `.mcp.json` |
810
+ |---|---|
811
+ | Claude Code | Workspace root `.mcp.json` |
812
+ | Cursor | Workspace root `.mcp.json` or `.cursor/mcp.json` |
813
+ | VS Code Copilot | `.vscode/mcp.json` |
814
+ | Windsurf | Workspace/app MCP settings |
815
+
816
+ ## Diagrams
817
+
818
+ ### Install Flow
819
+
820
+ ```mermaid
821
+ flowchart TD
822
+ A["npx @fluentcommerce/ai-skills install"] --> B{"--target"}
823
+ B -->|"claude (default)"| C["~/.claude/agents + ~/.claude/skills"]
824
+ B -->|"cursor"| D[".cursor/rules/*.mdc"]
825
+ B -->|"copilot"| E[".github/copilot-instructions.md"]
826
+ B -->|"windsurf"| F[".windsurfrules"]
827
+ B -->|"codex"| G["AGENTS.md"]
828
+ A --> H{"groups specified?"}
829
+ H -->|"no"| I["install all groups"]
830
+ H -->|"yes"| J["install selected groups only"]
831
+ ```
832
+
833
+ ### flow-run Execution
834
+
835
+ ```mermaid
836
+ flowchart LR
837
+ subgraph Local
838
+ A["Check .mcp.json"]
839
+ B["Scan config placeholders"]
840
+ end
841
+ subgraph CLI
842
+ C["fluent --version"]
843
+ D["fluent profile active"]
844
+ E["fluent module describe/list"]
845
+ F["fluent workflow list"]
846
+ end
847
+ subgraph Deploy
848
+ G{"--deploy --yes?"}
849
+ H["fluent module install"]
850
+ I["post-deploy verify"]
851
+ end
852
+ A --> B --> C --> D --> E --> F --> G
853
+ G -->|"yes"| H --> I
854
+ G -->|"no"| J["write diagnostics report only"]
855
+ ```
856
+
857
+ ## Companion Packages
858
+
859
+ | Package | Purpose |
860
+ |---|---|
861
+ | [`@fluentcommerce/fluent-mcp-extn`](https://www.npmjs.com/package/@fluentcommerce/fluent-mcp-extn) | MCP extension server (events, transitions, GraphQL, metrics, batch, webhooks) |
862
+ | Fluent CLI (`@fluentcommerce/cli`) | Official CLI and built-in MCP server |
863
+
864
+ ## License
865
+
866
+ MIT