@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.
- package/README.md +866 -622
- package/bin/cli.mjs +2112 -1973
- package/content/cli/agents/fluent-cli/agent.json +149 -149
- package/content/cli/agents/fluent-cli.md +132 -132
- package/content/cli/skills/fluent-bootstrap/SKILL.md +214 -181
- package/content/cli/skills/fluent-cli-index/SKILL.md +1 -1
- package/content/cli/skills/fluent-cli-mcp-cicd/SKILL.md +117 -1
- package/content/cli/skills/fluent-cli-reference/SKILL.md +1040 -1031
- package/content/cli/skills/fluent-cli-retailer/SKILL.md +27 -2
- package/content/cli/skills/fluent-cli-settings/SKILL.md +21 -1
- package/content/cli/skills/fluent-connect/SKILL.md +937 -886
- package/content/cli/skills/fluent-module-deploy/SKILL.md +63 -5
- package/content/cli/skills/fluent-profile/SKILL.md +73 -0
- package/content/cli/skills/fluent-workflow/SKILL.md +360 -310
- package/content/dev/agents/fluent-backend-dev/AGENT.md +58 -0
- package/content/dev/agents/fluent-backend-dev/agent.json +69 -0
- package/content/dev/agents/fluent-backend-dev.md +287 -0
- package/content/dev/agents/fluent-dev/AGENT.md +98 -0
- package/content/dev/agents/fluent-dev/agent.json +14 -2
- package/content/dev/agents/fluent-dev.md +194 -525
- package/content/dev/agents/fluent-frontend-dev/AGENT.md +63 -0
- package/content/dev/agents/fluent-frontend-dev/agent.json +52 -0
- package/content/dev/agents/fluent-frontend-dev.md +323 -0
- package/content/dev/skills/fluent-archive/SKILL.md +234 -0
- package/content/dev/skills/fluent-build/SKILL.md +312 -192
- package/content/dev/skills/fluent-connection-analysis/SKILL.md +422 -386
- package/content/dev/skills/fluent-custom-code/SKILL.md +15 -9
- package/content/dev/skills/fluent-data-module-scaffold/SKILL.md +19 -2
- package/content/dev/skills/fluent-e2e-test/SKILL.md +501 -394
- package/content/dev/skills/fluent-event-api/SKILL.md +962 -945
- package/content/dev/skills/fluent-feature-explain/SKILL.md +680 -603
- package/content/dev/skills/fluent-feature-plan/PLAN_TEMPLATE.md +27 -2
- package/content/dev/skills/fluent-feature-plan/SKILL.md +478 -227
- package/content/dev/skills/fluent-feature-status/SKILL.md +335 -0
- package/content/dev/skills/fluent-feedback/SKILL.md +221 -0
- package/content/dev/skills/fluent-implementation-map/SKILL.md +644 -0
- package/content/dev/skills/fluent-job-batch/SKILL.md +10 -0
- package/content/dev/skills/fluent-module-scaffold/SKILL.md +64 -2
- package/content/dev/skills/fluent-module-validate/SKILL.md +778 -775
- package/content/dev/skills/fluent-mystique-analyze/SKILL.md +817 -0
- package/content/dev/skills/fluent-mystique-builder/COMPONENT_TEMPLATE.md +81 -0
- package/content/dev/skills/fluent-mystique-builder/README.md +63 -0
- package/content/dev/skills/fluent-mystique-builder/SKILL.md +1294 -0
- package/content/dev/skills/fluent-mystique-builder/components/INDEX.md +92 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.accordion.md +48 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.fulfilmentpack.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.multiparcel.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.returnitems.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.field.wavepick.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.action.inline.md +24 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.activity.entity.md +25 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.analytics.viz.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.column.md +111 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.json.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.jsoneditor.md +54 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.locationId.md +51 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.attribute.retailerId.md +52 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.bar.md +57 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.download.md +53 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.inline.compatibility.md +60 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.inline.md +53 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.md +24 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.button.print.pick.md +61 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.buttons.add.reject.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.attribute.md +73 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.attributes.grid.md +40 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.image.md +37 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.map.point.md +24 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.multi.md +79 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.card.product.md +27 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.area.md +34 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.area.wrapper.feed.md +98 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.bar.md +52 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.bar.wrapper.source.md +104 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.gauge.md +28 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.gauge.wrapper.threshold.md +118 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.chart.line.md +32 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.conditional.md +62 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.dashboard.threshold.md +65 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.daterange.wrapper.forwarder.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.drawer.button.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.event.detail.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.events.search.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.daterange.md +83 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.filterComplex.md +106 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.intrange.md +82 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.field.multistring.md +50 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.filterPanel.md +53 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.json.editor.md +22 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.json.viewer.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.customAction.md +79 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.md +116 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.bppmetrics.md +69 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.feed.md +65 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.list.wrapper.source.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.modal.button.addItem.md +60 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.modal.button.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mutation.inline.md +88 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.collapsible.attributes.md +83 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.collapsible.text.md +33 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.mystique.link.md +30 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.order.itemDetails.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.order.shipmentDetails.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.filter.select.md +87 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.refresh.md +48 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.column.md +71 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.header.md +61 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.section.md +59 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.wizard.md +45 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.page.wizard.summary.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.progress.circular.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.provider.graphql.md +71 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.quantity.list.md +87 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.repeater.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.reports.ipuipc.md +54 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.return.rowExpansion.md +19 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.barcode.md +21 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.barcodeFilter.md +72 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.scanner.camera.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.settingForm.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.profile.drawer.button.md +19 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.profile.modal.button.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.sourcing.strategy.modal.button.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.stepper.md +20 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tab.content.md +56 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tabs.card.md +64 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tabs.md +69 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.tile.metric.md +73 -0
- package/content/dev/skills/fluent-mystique-builder/components/fc.workflow.provider.md +77 -0
- package/content/dev/skills/fluent-mystique-builder/validate-docs.ps1 +260 -0
- package/content/dev/skills/fluent-mystique-scaffold/SKILL.md +1830 -0
- package/content/dev/skills/fluent-mystique-validate/SKILL.md +646 -0
- package/content/dev/skills/fluent-pre-deploy-check/SKILL.md +1144 -1108
- package/content/dev/skills/fluent-retailer-config/SKILL.md +1162 -1111
- package/content/dev/skills/fluent-rollback/SKILL.md +387 -0
- package/content/dev/skills/fluent-rule-scaffold/SKILL.md +515 -385
- package/content/dev/skills/fluent-scope-decompose/SKILL.md +1123 -1021
- package/content/dev/skills/fluent-session-audit-export/SKILL.md +880 -632
- package/content/dev/skills/fluent-session-summary/SKILL.md +320 -195
- package/content/dev/skills/fluent-settings/SKILL.md +160 -1
- package/content/dev/skills/fluent-source-onboard/SKILL.md +31 -3
- package/content/dev/skills/fluent-sourcing/SKILL.md +1185 -0
- package/content/dev/skills/fluent-system-monitoring/SKILL.md +771 -767
- package/content/dev/skills/fluent-test-data/SKILL.md +514 -513
- package/content/dev/skills/fluent-trace/SKILL.md +1169 -1143
- package/content/dev/skills/fluent-transition-api/SKILL.md +364 -346
- package/content/dev/skills/fluent-use-case-discover/SKILL.md +593 -0
- package/content/dev/skills/fluent-use-case-discover/SPEC_TEMPLATE.md +281 -0
- package/content/dev/skills/fluent-version-manage/SKILL.md +53 -2
- package/content/dev/skills/fluent-workflow-analyzer/SKILL.md +995 -959
- package/content/dev/skills/fluent-workflow-builder/SKILL.md +668 -319
- package/content/dev/skills/fluent-workflow-deploy/SKILL.md +480 -267
- package/content/dev/skills/fluent-workspace-tree/SKILL.md +281 -0
- package/content/mcp-extn/agents/fluent-mcp.md +133 -69
- package/content/mcp-extn/skills/fluent-mcp-tools/SKILL.md +812 -461
- package/content/mcp-official/agents/fluent-mcp-core.md +91 -91
- package/content/mcp-official/skills/fluent-mcp-core/SKILL.md +94 -94
- package/content/rfl/skills/fluent-rfl-assess/SKILL.md +172 -172
- package/docs/CAPABILITY_MAP.md +106 -77
- package/docs/DEPLOYMENT_PROMOTION_RUNBOOK.md +218 -0
- package/docs/DESIGN-implementation-map.md +698 -0
- package/docs/DEV_WORKFLOW.md +814 -802
- package/docs/FLOW_RUN.md +142 -142
- package/docs/GETTING_STARTED.md +427 -0
- package/docs/USE_CASES.md +909 -52
- package/metadata.json +184 -156
- 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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
|
43
|
-
|
|
44
|
-
| `
|
|
45
|
-
| `
|
|
46
|
-
| `
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
|
50
|
-
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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.
|