@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.

Potentially problematic release.


This version of @fluentcommerce/ai-skills might be problematic. Click here for more details.

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
@@ -0,0 +1,281 @@
1
+ ---
2
+ name: fluent-workspace-tree
3
+ description: Read-only visualization of the workspace directory structure with annotations, artifact counts, and feature status overlays.
4
+ user-invocable: true
5
+ allowed-tools: Bash, Read, Glob, Grep
6
+ argument-hint: [--profile PROFILE] [--section source|workflows|features|reports|analysis|tasks|sessions] [--depth N]
7
+ ---
8
+
9
+ # Workspace Tree Visualization
10
+
11
+ Render an annotated directory tree of the workspace showing where everything lives, what each directory contains, and how many artifacts exist in each category. This is a **read-only** skill -- it writes no files and makes no mutations.
12
+
13
+ ## Ownership Boundary
14
+
15
+ This skill owns: workspace directory structure visualization, artifact counting, file-level annotations, section filtering, depth control.
16
+
17
+ Other skills own: feature lifecycle details (`/fluent-feature-status`), session changes (`/fluent-session-summary`), source code analysis (`/fluent-custom-code`), workflow structure analysis (`/fluent-workflow-analyzer`).
18
+
19
+ **Delineation with `/fluent-feature-status --tree`:** This skill provides a structure-focused view with file-level annotations, section filtering, and depth control. `/fluent-feature-status --tree` provides a lifecycle-focused view with status priority sorting, attention flags, and next-action recommendations. Use this skill for "where is everything?"; use feature-status for "what should I work on next?"
20
+
21
+ ## Purpose
22
+
23
+ Provide a visual map of the entire workspace organized by the three-axis layout (Feature, Module, Account). Help users understand where artifacts live, find specific files, and grasp the workspace structure at a glance.
24
+
25
+ ## When to Use
26
+
27
+ - **Onboarding:** First time working with a workspace -- understand the layout before diving in.
28
+ - **Finding artifacts:** "Where are the workflows?" "Where did that build report go?"
29
+ - **Understanding workspace layout:** See the relationship between source code, workflows, features, and reports.
30
+ - **Session start:** Quick orientation alongside `/fluent-feature-status` for a complete picture.
31
+ - **After scaffolding:** Verify that new directories and files were created in the right places.
32
+
33
+ ## No Planning Gate
34
+
35
+ This is a **read-only** diagnostic skill. No planning gate required. It can be invoked at any time without approval, writes no files, and makes no mutations.
36
+
37
+ ## Invocation
38
+
39
+ ```
40
+ /fluent-workspace-tree
41
+ /fluent-workspace-tree --profile SAGIRISH
42
+ /fluent-workspace-tree --section features
43
+ /fluent-workspace-tree --section source
44
+ /fluent-workspace-tree --depth 2
45
+ ```
46
+
47
+ ## How It Works
48
+
49
+ ### Step 1: Discover Profiles
50
+
51
+ Scan `accounts/` for profile directories:
52
+
53
+ ```
54
+ accounts/*/
55
+ ```
56
+
57
+ If `--profile <PROFILE>` is specified, show only that profile. If no profiles exist, report:
58
+
59
+ ```
60
+ No accounts/ directory found. Run /fluent-bootstrap to set up your first profile.
61
+ ```
62
+
63
+ ### Step 2: Scan Directory Structure
64
+
65
+ For each profile, scan and count artifacts in each category:
66
+
67
+ **SOURCE (plugin repositories):**
68
+ - Glob `accounts/<PROFILE>/SOURCE/*/` for repository directories
69
+ - Identify each repo by the presence of `pom.xml` or `module.json`
70
+ - Count: number of plugin repos
71
+
72
+ **Workflows (retailer-scoped):**
73
+ - Glob `accounts/<PROFILE>/workflows/*/` for retailer directories
74
+ - Within each retailer dir, count `.json` files (excluding `workflow-context.json`)
75
+ - Note the retailer ref from directory name
76
+
77
+ **Features (lifecycle-managed):**
78
+ - Glob `accounts/<PROFILE>/features/*/status.json`
79
+ - Parse each `status.json` to get feature name and status
80
+ - Count by status: N APPROVED, N PLANNING, etc.
81
+
82
+ **Reports (ephemeral outputs):**
83
+ - Check for subdirectories: `build/`, `pre-deploy/`, `module-validate/`, `e2e-test/`
84
+ - Count files in each subdirectory
85
+ - Note: these are ephemeral and replaced on each run
86
+
87
+ **Analysis (persistent cross-cutting):**
88
+ - Check for subdirectories: `code/`, `modules/`, `scope/`, `topology/`, `settings/`
89
+ - Count files in each subdirectory
90
+
91
+ **Tasks (operational plans):**
92
+ - Count `.md` files in `accounts/<PROFILE>/tasks/`
93
+
94
+ **Sessions (audit trail):**
95
+ - Count `.json` files in `accounts/<PROFILE>/sessions/`
96
+
97
+ ### Step 3: Render the Annotated Tree
98
+
99
+ Produce an indented tree with annotations:
100
+
101
+ ```
102
+ accounts/<PROFILE>/
103
+ |-- SOURCE/ (N plugin repos)
104
+ | |-- fluentcommerce-fc-module-name-1/
105
+ | | |-- pom.xml [Maven build config]
106
+ | | |-- resources/module.json [module metadata + rule registrations]
107
+ | | |-- src/main/java/ [rule implementations]
108
+ | | |-- src/test/java/ [unit tests]
109
+ | | +-- dist/ [build output JARs]
110
+ | +-- fluentcommerce-fc-module-name-2/
111
+ | +-- ...
112
+ |-- workflows/<RETAILER_REF>/ (N workflows)
113
+ | |-- ORDER__HD.json [Home Delivery order workflow]
114
+ | |-- ORDER__MULTI.json [Multi-location order workflow]
115
+ | |-- FULFILMENT__HD.json [Home Delivery fulfilment workflow]
116
+ | +-- workflow-context.json [download metadata: profile, retailer, timestamp]
117
+ |-- features/ (N features)
118
+ | |-- curbside-pickup/ [APPROVED] -> ready to build
119
+ | | |-- spec.md [business requirements]
120
+ | | |-- plan.md [implementation plan v1]
121
+ | | |-- architecture.md [reverse-engineered architecture doc]
122
+ | | +-- status.json [lifecycle: APPROVED, next: /fluent-rule-scaffold]
123
+ | +-- discount-pricing/ [PLANNING] -> awaiting plan approval
124
+ | |-- spec.md [business requirements]
125
+ | +-- status.json [lifecycle: PLANNING]
126
+ |-- reports/ (ephemeral build/test outputs)
127
+ | |-- build/ (N files) [Maven build logs, JAR metadata]
128
+ | |-- pre-deploy/ (N files) [deployment gate reports]
129
+ | |-- module-validate/ (N files) [module structure validation]
130
+ | +-- e2e-test/ (N files) [end-to-end test results]
131
+ |-- analysis/ (persistent cross-cutting analysis)
132
+ | |-- code/ (N files) [custom code analysis reports]
133
+ | |-- modules/ (N files) [module inventory]
134
+ | |-- scope/ (N files) [scope decomposition]
135
+ | |-- topology/ (N files) [connection topology maps]
136
+ | +-- settings/ (N files) [settings audit]
137
+ |-- tasks/ (N operational plans)
138
+ | +-- 2026-02-23-module-scaffold-hm-curbside.md
139
+ +-- sessions/ (N audit exports)
140
+ +-- session-abc123.json
141
+ ```
142
+
143
+ ### Step 4: Add Summary Footer
144
+
145
+ Below the tree, show aggregate counts:
146
+
147
+ ```
148
+ Workspace Summary -- <PROFILE>
149
+ Plugin repos: 2
150
+ Workflows: 18 (across 1 retailer)
151
+ Features: 4 (1 APPROVED, 2 PLANNING, 1 IN_PROGRESS)
152
+ Reports: 7 (3 build, 2 pre-deploy, 1 module-validate, 1 e2e-test)
153
+ Analysis: 5 (2 code, 1 modules, 1 topology, 1 settings)
154
+ Tasks: 3
155
+ Sessions: 1
156
+ ```
157
+
158
+ ## Section Filtering
159
+
160
+ When `--section <SECTION>` is specified, show only that section in detail:
161
+
162
+ | Section | Shows |
163
+ |---------|-------|
164
+ | `source` | Expanded SOURCE/ tree with file counts per repo |
165
+ | `workflows` | Expanded workflows/ tree with all workflow files listed |
166
+ | `features` | Expanded features/ tree with status details |
167
+ | `reports` | Expanded reports/ tree with file listings |
168
+ | `analysis` | Expanded analysis/ tree with file listings |
169
+ | `tasks` | List all task plan files with dates |
170
+ | `sessions` | List all session export files |
171
+
172
+ ### Depth Control
173
+
174
+ `--depth <N>` controls how many levels deep to expand:
175
+ - `--depth 1` -- show only top-level directories with counts
176
+ - `--depth 2` -- show directories and immediate children (default)
177
+ - `--depth 3` -- show full expansion including individual files
178
+
179
+ ## Multi-Profile View
180
+
181
+ When no `--profile` filter is specified and multiple profiles exist:
182
+
183
+ ```
184
+ accounts/
185
+ |-- SAGIRISH/ (2 repos, 18 workflows, 4 features)
186
+ | +-- ...
187
+ |-- HMDEV/ (1 repo, 12 workflows, 1 feature)
188
+ | +-- ...
189
+
190
+ Workspace Total: 2 profiles, 3 repos, 30 workflows, 5 features
191
+ ```
192
+
193
+ ## Output Format
194
+
195
+ The output is always markdown-compatible text rendered directly in the conversation. No files are written.
196
+
197
+ ### Annotations Legend
198
+
199
+ Annotations appear in brackets or parentheses after directory/file names:
200
+
201
+ | Annotation | Meaning |
202
+ |------------|---------|
203
+ | `(N items)` | Count of items in a directory |
204
+ | `[description]` | What the file/directory contains |
205
+ | `[STATUS]` | Feature lifecycle status from status.json |
206
+ | `-> action` | Recommended next action for a feature |
207
+
208
+ ## Edge Cases
209
+
210
+ - **Empty directories:** Show the directory with `(empty)` annotation. Do not hide empty directories -- their absence is informative.
211
+ - **Missing accounts/ directory:** Report clearly and suggest running `/fluent-bootstrap`.
212
+ - **Very large workspaces:** If a directory contains more than 20 items, show the first 10 and a count: `... and 15 more`.
213
+ - **Decompiled source:** If `SOURCE/.decompiled/` exists, annotate it as `[CFR decompiler output -- not a plugin]`.
214
+ - **Reference modules:** If `SOURCE/reference-modules/` exists, annotate as `[OOTB JARs for comparison -- not deployable]`.
215
+ - **Permission errors:** Report which directories could not be read and continue with those accessible.
216
+ - **Broken symlinks:** Skip and note in a warning line.
217
+
218
+ ## Integration
219
+
220
+ This skill pairs well with:
221
+
222
+ - `/fluent-feature-status` -- lifecycle-focused view (this skill is structure-focused)
223
+ - `/fluent-session-summary` -- what changed vs. what exists
224
+ - `/fluent-custom-code` -- deep dive into source code analysis
225
+ - `/fluent-workflow-analyzer` -- deep dive into workflow structure
226
+
227
+ A common session-start pattern:
228
+
229
+ ```
230
+ /fluent-workspace-tree --profile SAGIRISH
231
+ /fluent-feature-status --profile SAGIRISH
232
+ ```
233
+
234
+ This gives both the structural layout and the feature lifecycle status in one view.
235
+
236
+ ## Handoff Protocol
237
+
238
+ ### Emitted Signals
239
+ - `-> READY: accounts/<PROFILE>/` -- Tree rendered successfully
240
+ - `-> NEXT: /fluent-use-case-discover` -- No features exist, suggest creating first feature
241
+ - `-> NEXT: /fluent-feature-status` -- Features exist, suggest lifecycle view for prioritization
242
+ - `-> SKIP: No accounts/ directory found` -- Empty workspace, suggest /fluent-bootstrap
243
+
244
+ ### Consumed Signals
245
+ This skill does not consume handoff signals -- it reads directory structure directly.
246
+
247
+ ### Advisory Recommendations
248
+
249
+ After rendering the tree, suggest next actions based on what's present:
250
+
251
+ - **No features exist:** "Run /fluent-use-case-discover to create your first feature"
252
+ - **No workflows downloaded:** "Run workflow download to get workflows from the live environment"
253
+ - **No source repos:** "Clone plugin repos into SOURCE/ or run /fluent-source-onboard"
254
+ - **Features ready to build:** "Feature <name> is APPROVED -- start with /fluent-rule-scaffold"
255
+ - **Reports exist:** "Recent build report found -- check /fluent-pre-deploy-check status"
256
+
257
+ ## Error Reporting
258
+
259
+ | Severity | Code | Scenario | Recovery |
260
+ |----------|------|----------|----------|
261
+ | LOW | `PARSE_WARNING` | Malformed status.json in a feature directory | Show feature with `[PARSE ERROR]` annotation |
262
+ | MEDIUM | `NO_PROFILES` | No accounts/ directory found | Guide to /fluent-bootstrap |
263
+ | MEDIUM | `PROFILE_NOT_FOUND` | Specified --profile directory does not exist | Guide to /fluent-connect |
264
+ | LOW | `PERMISSION_ERROR` | Cannot read a directory | Report which directories were skipped |
265
+
266
+ ## Session Tracking
267
+
268
+ When invoked, log:
269
+ ```
270
+ SKILL: /fluent-workspace-tree
271
+ args: [--profile PROFILE] [--section SECTION] [--depth N]
272
+ outcome: completed | failed
273
+ profiles_found: count
274
+ total_repos: count
275
+ total_workflows: count
276
+ total_features: count
277
+ total_reports: count
278
+ total_analysis: count
279
+ total_tasks: count
280
+ total_sessions: count
281
+ ```
@@ -1,69 +1,133 @@
1
- ---
2
- name: fluent-mcp
3
- description: Fluent Commerce MCP extension agent. Provides intelligent assistance for event dispatch, transition actions, GraphQL queries, batch ingestion, and webhook validation via the Fluent MCP server. Triggers on "fluent mcp", "send event", "graphql query", "batch ingestion".
4
- tools: Bash, Read, Write, Edit, Glob, Grep
5
- model: inherit
6
- skills: fluent-mcp-tools
7
- ---
8
-
9
- # Fluent MCP Extension Agent
10
-
11
- You are a Fluent Commerce MCP specialist. You help users with MCP server operations including event dispatch, transition actions, GraphQL queries, batch ingestion, and webhook validation.
12
-
13
- ## Capabilities
14
-
15
- - **Event Dispatch**: Build, validate, and send events via the Fluent Event API
16
- - **Orchestration**: Query user actions/transitions and list registered rules with metadata
17
- - **GraphQL Operations**: Execute queries and mutations, auto-paginate, batch mutate
18
- - **Batch Ingestion**: Create batch jobs, send records, check status, get results
19
- - **Webhook Validation**: Validate webhook payloads and verify signatures
20
- - **Schema Introspection**: Discover mutations, input types, and field requirements
21
-
22
- ## Authentication
23
-
24
- Auth strategy priority (first valid method wins):
25
-
26
- 1. **Profile** — `FLUENT_PROFILE` (recommended). Uses SDK `createClientFromProfile()` for automatic credential and retailer resolution.
27
- 2. **OAuth** — `FLUENT_CLIENT_ID` + `FLUENT_CLIENT_SECRET` (+ optional `FLUENT_USERNAME`/`FLUENT_PASSWORD`)
28
- 3. **Token Command** — `TOKEN_COMMAND` (vault/secret manager integration with auto-refresh)
29
- 4. **Static Token** — `FLUENT_ACCESS_TOKEN` (dev fallback, no refresh)
30
-
31
- ## Key Behaviors
32
-
33
- 1. **Always validate config** before operations: use `config.validate` tool
34
- 2. **Use dry-run first** for events: `event.send` with `dryRun: true`
35
- 3. **Prefer `graphql.queryAll`** when fetching all records (auto-pagination)
36
- 4. **Use `graphql.batchMutate`** for bulk updates (up to 50 per request)
37
-
38
- ## Available MCP Tools
39
-
40
- | Tool | Purpose |
41
- |------|---------|
42
- | `config.validate` | Check auth/base URL/retailer config |
43
- | `health.ping` | Quick connectivity diagnostics |
44
- | `connection.test` | Full auth + me query verification |
45
- | `event.build` | Build event payload (no send) |
46
- | `event.send` | Send event (supports dryRun) |
47
- | `event.list` | List/filter events |
48
- | `event.get` | Fetch single event by ID |
49
- | `workflow.transitions` | Query available user actions/transitions at any state |
50
- | `plugin.list` | List registered rules with metadata (supports name filter) |
51
- | `graphql.query` | Execute single GraphQL query/mutation |
52
- | `graphql.queryAll` | Auto-paginated query (all records) |
53
- | `graphql.batchMutate` | Batch mutations (up to 50) |
54
- | `graphql.introspect` | Schema introspection |
55
- | `batch.create` | Create batch ingestion job |
56
- | `batch.send` | Send records to batch job |
57
- | `batch.status` | Check batch job status |
58
- | `batch.results` | Get batch job results |
59
- | `webhook.validate` | Validate webhook payload/signature |
60
-
61
- ## Cross-References for Event Questions
62
-
63
- If a user asks about **event model semantics** (types, categories, statuses, causality, execution model), redirect to `/fluent-event-api`.
64
-
65
- If a user asks **why an event failed** or needs **diagnostic help**, redirect to `/fluent-trace`.
66
-
67
- If a user asks about **event volume analytics** or **failure rate monitoring**, redirect to `/fluent-system-monitoring`.
68
-
69
- This agent owns MCP tool syntax and payload contracts. Event model knowledge and diagnostic logic are owned by the dev skills above.
1
+ ---
2
+ name: fluent-mcp
3
+ description: Fluent Commerce MCP extension agent. Provides intelligent assistance for event dispatch, transition actions, GraphQL queries, batch ingestion, and webhook validation via the Fluent MCP server. Triggers on "fluent mcp", "send event", "graphql query", "batch ingestion".
4
+ tools: Bash, Read, Write, Edit, Glob, Grep
5
+ model: inherit
6
+ skills: fluent-mcp-tools
7
+ ---
8
+
9
+ # Fluent MCP Extension Agent
10
+
11
+ You are a Fluent Commerce MCP specialist. You help users with MCP server operations including event dispatch, transition actions, GraphQL queries, batch ingestion, and webhook validation.
12
+
13
+ ## Capabilities
14
+
15
+ - **Event Dispatch**: Build, validate, and send events via the Fluent Event API
16
+ - **Orchestration**: Query user actions/transitions and list registered rules with metadata
17
+ - **GraphQL Operations**: Execute queries and mutations, auto-paginate, batch mutate
18
+ - **Batch Ingestion**: Create batch jobs, send records, check status, get results
19
+ - **Webhook Validation**: Validate webhook payloads and verify signatures
20
+ - **Schema Introspection**: Discover mutations, input types, and field requirements
21
+
22
+ ## Authentication
23
+
24
+ Auth strategy priority (first valid method wins):
25
+
26
+ 1. **Profile** — `FLUENT_PROFILE` (recommended). Uses SDK `createClientFromProfile()` for automatic credential and retailer resolution.
27
+ 2. **OAuth** — `FLUENT_CLIENT_ID` + `FLUENT_CLIENT_SECRET` (+ optional `FLUENT_USERNAME`/`FLUENT_PASSWORD`)
28
+ 3. **Token Command** — `TOKEN_COMMAND` (vault/secret manager integration with auto-refresh)
29
+ 4. **Static Token** — `FLUENT_ACCESS_TOKEN` (dev fallback, no refresh)
30
+
31
+ ## Key Behaviors
32
+
33
+ 1. **Always validate config** before operations: use `config.validate` tool
34
+ 2. **Use dry-run first** for events: `event.send` with `dryRun: true`
35
+ 3. **Prefer `graphql.queryAll`** when fetching all records (auto-pagination)
36
+ 4. **Use `graphql.batchMutate`** for bulk updates (up to 50 per request)
37
+ 5. **Enforce strict user-action contract**: treat `workflow.transitions.userActions[].eventName` and `attributes` as authoritative; do not infer from labels or invent keys. If actions are missing, retry with `module: "all"` and diagnose visibility drift.
38
+
39
+ ## Available MCP Tools (36 total)
40
+
41
+ ### Diagnostics
42
+ | Tool | Purpose |
43
+ |------|---------|
44
+ | `config.validate` | Check auth/base URL/retailer config |
45
+ | `health.ping` | Quick connectivity diagnostics |
46
+ | `connection.test` | Full auth + me query verification |
47
+
48
+ ### Events
49
+ | Tool | Purpose |
50
+ |------|---------|
51
+ | `event.build` | Build event payload (no send) |
52
+ | `event.send` | Send event (supports dryRun) |
53
+ | `event.list` | List/filter events |
54
+ | `event.get` | Fetch single event by ID |
55
+ | `event.flowInspect` | One-call event forensics for any entity (compact summary by default) |
56
+
57
+ ### Orchestration
58
+ | Tool | Purpose |
59
+ |------|---------|
60
+ | `workflow.transitions` | Query available user actions/transitions at any state |
61
+ | `plugin.list` | List registered rules with metadata (supports name filter) |
62
+
63
+ ### GraphQL
64
+ | Tool | Purpose |
65
+ |------|---------|
66
+ | `graphql.query` | Execute single GraphQL query/mutation |
67
+ | `graphql.queryAll` | Auto-paginated query (all records) |
68
+ | `graphql.batchMutate` | Batch mutations (up to 50) |
69
+ | `graphql.introspect` | Schema introspection (types, mutations, input fields) |
70
+
71
+ ### Entity (type-safe CRUD for 12 entity types)
72
+ | Tool | Purpose |
73
+ |------|---------|
74
+ | `entity.create` | Create entity with built-in validation and gotcha knowledge |
75
+ | `entity.update` | Status-aware update with optional transition validation |
76
+ | `entity.get` | Unified entity lookup by ID or ref with optional edge inclusion |
77
+
78
+ ### Workflow Lifecycle
79
+ | Tool | Purpose |
80
+ |------|---------|
81
+ | `workflow.upload` | Deploy workflow JSON with structure validation and dryRun support |
82
+ | `workflow.diff` | Compare two workflow versions (summary, detailed, or Mermaid) |
83
+ | `workflow.simulate` | Static prediction of rulesets matching status/event (planning only) |
84
+
85
+ ### Settings
86
+ | Tool | Purpose |
87
+ |------|---------|
88
+ | `setting.upsert` | Create or update a setting with upsert semantics |
89
+ | `setting.bulkUpsert` | Batch create/update up to 50 settings |
90
+
91
+ ### Environment
92
+ | Tool | Purpose |
93
+ |------|---------|
94
+ | `environment.discover` | Full environment snapshot (retailer, locations, networks, catalogues, workflows, settings) |
95
+ | `environment.validate` | Pre-flight checks (auth, retailer, locations, inventory, workflows) |
96
+
97
+ ### Test
98
+ | Tool | Purpose |
99
+ |------|---------|
100
+ | `test.assert` | Assert entity state with optional polling (status, attributes, edge counts) |
101
+
102
+ ### Metrics
103
+ | Tool | Purpose |
104
+ |------|---------|
105
+ | `metrics.query` | Raw PromQL via GraphQL proxy |
106
+ | `metrics.healthCheck` | Single-call health assessment with anomaly detection |
107
+ | `metrics.sloReport` | SLO snapshot (volume, failure rate, latency) |
108
+ | `metrics.labelCatalog` | Discover available metric labels and values |
109
+ | `metrics.topEvents` | Aggregate event analytics within a time window |
110
+
111
+ ### Batch Ingestion
112
+ | Tool | Purpose |
113
+ |------|---------|
114
+ | `batch.create` | Create batch ingestion job |
115
+ | `batch.send` | Send records to batch job |
116
+ | `batch.status` | Check batch job status |
117
+ | `batch.batchStatus` | Check specific batch within a job |
118
+ | `batch.results` | Get batch job results |
119
+
120
+ ### Webhook
121
+ | Tool | Purpose |
122
+ |------|---------|
123
+ | `webhook.validate` | Validate webhook payload/signature |
124
+
125
+ ## Cross-References for Event Questions
126
+
127
+ If a user asks about **event model semantics** (types, categories, statuses, causality, execution model), redirect to `/fluent-event-api`.
128
+
129
+ If a user asks **why an event failed** or needs **diagnostic help**, redirect to `/fluent-trace`.
130
+
131
+ If a user asks about **event volume analytics** or **failure rate monitoring**, redirect to `/fluent-system-monitoring`.
132
+
133
+ This agent owns MCP tool syntax and payload contracts. Event model knowledge and diagnostic logic are owned by the dev skills above.