@cubis/foundry 0.3.61 → 0.3.63
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.
- package/CHANGELOG.md +7 -0
- package/README.md +1 -0
- package/dist/cli/commands/register.js +1 -0
- package/dist/cli/commands/register.js.map +1 -1
- package/dist/cli/core.js +2 -0
- package/dist/cli/core.js.map +1 -1
- package/dist/cli/init/execute.js +2 -1
- package/dist/cli/init/execute.js.map +1 -1
- package/mcp/README.md +49 -3
- package/mcp/dist/index.js +238 -30
- package/mcp/src/tools/index.ts +14 -0
- package/mcp/src/tools/registry.test.ts +7 -5
- package/mcp/src/tools/registry.ts +38 -0
- package/mcp/src/tools/skillGetReference.ts +77 -0
- package/mcp/src/tools/skillTools.test.ts +156 -0
- package/mcp/src/tools/skillValidate.ts +101 -0
- package/mcp/src/vault/manifest.test.ts +101 -0
- package/mcp/src/vault/manifest.ts +90 -0
- package/package.json +1 -1
- package/src/cli/commands/register.ts +1 -0
- package/src/cli/core.ts +2 -0
- package/src/cli/init/execute.ts +3 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/rules/GEMINI.md +57 -78
- package/workflows/workflows/agent-environment-setup/platforms/codex/rules/AGENTS.md +58 -79
- package/workflows/workflows/agent-environment-setup/platforms/copilot/rules/AGENTS.md +57 -78
- package/workflows/workflows/agent-environment-setup/platforms/copilot/rules/copilot-instructions.md +57 -78
|
@@ -33,7 +33,7 @@ Rules:
|
|
|
33
33
|
2. Otherwise choose the best workflow by intent from `.agent/workflows` and use matching `.gemini/commands/*.toml` when available.
|
|
34
34
|
3. For cross-domain tasks, use orchestrated delegation with `@orchestrator`.
|
|
35
35
|
4. Keep one primary workflow; use others only as supporting references.
|
|
36
|
-
5. Before
|
|
36
|
+
5. Before loading any skill, inspect the repo/task locally first. Use MCP skill tools only when the user names a skill explicitly or local grounding still leaves the domain unclear (→ §5 MCP Skill Engine).
|
|
37
37
|
|
|
38
38
|
## 3) Request Classifier
|
|
39
39
|
|
|
@@ -72,9 +72,11 @@ Use the best specialist first:
|
|
|
72
72
|
|
|
73
73
|
Before handing off to any specialist agent, prime context with the relevant domain skill (→ §5 MCP Skill Engine):
|
|
74
74
|
|
|
75
|
-
1.
|
|
76
|
-
2. If
|
|
77
|
-
3.
|
|
75
|
+
1. Validate user-named exact skills with `skill_validate <id>` before loading them.
|
|
76
|
+
2. If the domain is still unclear after local grounding, run one narrow `skill_search <domain>` and then validate the chosen exact ID with `skill_validate <id>`.
|
|
77
|
+
3. Load the core skill with `skill_get <id>` using `includeReferences:false` by default.
|
|
78
|
+
4. Pull one sidecar markdown file at a time with `skill_get_reference` when the skill or task requires it.
|
|
79
|
+
5. Include the validated skill ID in the Decision Log for the routing decision.
|
|
78
80
|
|
|
79
81
|
This ensures the specialist starts with accurate domain knowledge, not just role intent.
|
|
80
82
|
|
|
@@ -86,33 +88,40 @@ The Foundry MCP server is the primary knowledge layer. Use tools decisively —
|
|
|
86
88
|
|
|
87
89
|
| Prefix | Tools | When to use |
|
|
88
90
|
| ----------- | ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
89
|
-
| `skill_*` | `skill_list_categories`, `skill_search`, `skill_browse_category`, `skill_get`, `skill_budget_report` | Domain expertise for
|
|
91
|
+
| `skill_*` | `skill_list_categories`, `skill_search`, `skill_validate`, `skill_browse_category`, `skill_get`, `skill_get_reference`, `skill_budget_report` | Domain expertise for implementation, debug, or review without loading the full catalog |
|
|
90
92
|
| `postman_*` | `postman_get_mode`, `postman_set_mode`, `postman_get_status` | API testing or Postman configuration tasks |
|
|
91
93
|
| `stitch_*` | `stitch_get_mode`, `stitch_set_profile`, `stitch_get_status` | Stitch data pipeline tasks |
|
|
92
94
|
|
|
93
|
-
###
|
|
95
|
+
### Validated Skill Flow (Mandatory Order)
|
|
94
96
|
|
|
95
|
-
Stop at the earliest step that gives enough signal. Do not jump ahead.
|
|
97
|
+
Stop at the earliest step that gives enough signal. Do not jump ahead or front-load skill discovery.
|
|
96
98
|
|
|
97
|
-
1.
|
|
98
|
-
2.
|
|
99
|
-
3.
|
|
100
|
-
4.
|
|
101
|
-
5.
|
|
99
|
+
1. Inspect the codebase/task locally first; do not start with `skill_search`
|
|
100
|
+
2. If the user names an exact skill ID, call `skill_validate <id>` directly
|
|
101
|
+
3. Otherwise, if local grounding still leaves the domain unclear, run one narrow `skill_search <keyword>`
|
|
102
|
+
4. Validate the selected exact skill ID with `skill_validate <id>` before any load
|
|
103
|
+
5. Load only the core `SKILL.md` with `skill_get <id>` and `includeReferences:false`
|
|
104
|
+
6. Load at most one sidecar markdown file at a time with `skill_get_reference <id> <path>`
|
|
105
|
+
7. Use `skill_list_categories` or `skill_browse_category` only as fallback when targeted search fails
|
|
106
|
+
8. Use `skill_budget_report` internally only when the user explicitly asks for context accounting
|
|
102
107
|
|
|
103
108
|
### Postman Intent Trigger (Required)
|
|
104
109
|
|
|
105
110
|
When user intent includes Postman workflows (for example: workspace, collection, environment, runCollection, monitor, mock, or "run Postman tests"):
|
|
106
111
|
|
|
107
|
-
1.
|
|
108
|
-
2. If
|
|
109
|
-
3.
|
|
110
|
-
4.
|
|
112
|
+
1. Validate `postman` directly with `skill_validate "postman"` when the exact skill ID is known.
|
|
113
|
+
2. If validation fails and local grounding is still insufficient, run a narrow `skill_search "postman"` and validate the selected exact ID.
|
|
114
|
+
3. Load `skill_get "postman"` with `includeReferences:false` before workflow/agent routing.
|
|
115
|
+
4. Prefer Postman MCP tools (`postman.*`) over Newman/CLI fallback unless the user explicitly asks for fallback.
|
|
116
|
+
5. If `--postman` was installed but `postman` skill cannot be found, report installation drift and suggest reinstall with `cbx workflows install ... --postman`.
|
|
111
117
|
|
|
112
118
|
**Hard rules:**
|
|
113
119
|
|
|
114
|
-
- Never call `skill_get` without
|
|
120
|
+
- Never call `skill_get` from fuzzy search output without first validating the exact ID via `skill_validate`
|
|
121
|
+
- Never skip local repo inspection and jump straight to `skill_search`
|
|
115
122
|
- Never call `skill_get` with a workflow ID — `workflow-*` are routes, not skills; keep workflow mentions in the Decision Log
|
|
123
|
+
- Never call `skill_get` with `includeReferences:true` by default in agent workflows
|
|
124
|
+
- Never bulk-load sibling/reference markdown files when one targeted `skill_get_reference` will do
|
|
116
125
|
- Never reload a skill already loaded this session — reuse content already in context
|
|
117
126
|
- If `skill_search` returns 0 results, try `skill_browse_category`, then fall back to built-in knowledge
|
|
118
127
|
|
|
@@ -142,12 +151,23 @@ After `skill_get`, include at most one short line:
|
|
|
142
151
|
|
|
143
152
|
Do not append budget tables or token summaries unless the user explicitly asks.
|
|
144
153
|
|
|
154
|
+
### Reference Files (Required When Relevant)
|
|
155
|
+
|
|
156
|
+
Reference markdown files are first-class skill context, but they must be loaded selectively.
|
|
157
|
+
|
|
158
|
+
1. Use `skill_validate` to see `availableReferences` for the exact skill
|
|
159
|
+
2. Start with `skill_get(..., includeReferences:false)` to load only the core skill body
|
|
160
|
+
3. If the skill points to a reference or the task clearly needs sidecar detail, load one file with `skill_get_reference`
|
|
161
|
+
4. Only load another reference if the first one still leaves a concrete gap
|
|
162
|
+
|
|
145
163
|
|
|
146
164
|
### Anti-Patterns (Never Do These)
|
|
147
165
|
|
|
148
166
|
- Loading skills speculatively "just in case" they might be useful
|
|
149
|
-
- Calling `skill_get` before
|
|
167
|
+
- Calling `skill_get` before `skill_validate`
|
|
150
168
|
- Using partial or guessed skill IDs in `skill_get`
|
|
169
|
+
- Treating `skill_search` results as an implicit final selection
|
|
170
|
+
- Starting a task with `skill_list_categories` or broad catalog browsing
|
|
151
171
|
- Publishing verbose budget fields (`full_catalog_est_tokens`, `loaded_est_tokens`, etc.) in responses
|
|
152
172
|
- Re-emitting the ctx stamp multiple times within a single response
|
|
153
173
|
- Treating workflow IDs as skill IDs in any MCP tool call
|
|
@@ -244,66 +264,25 @@ Selection policy:
|
|
|
244
264
|
<!-- cbx:workflows:auto:end -->
|
|
245
265
|
|
|
246
266
|
<!-- cbx:mcp:auto:start version=1 -->
|
|
247
|
-
## Cubis Foundry MCP
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
###
|
|
252
|
-
|
|
253
|
-
-
|
|
254
|
-
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
- `game-dev`: 1 skill(s)
|
|
267
|
-
- `general`: 26 skill(s)
|
|
268
|
-
- `localization`: 1 skill(s)
|
|
269
|
-
- `marketing`: 2 skill(s)
|
|
270
|
-
- `mobile`: 7 skill(s)
|
|
271
|
-
- `observability`: 1 skill(s)
|
|
272
|
-
- `payments`: 1 skill(s)
|
|
273
|
-
- `performance`: 2 skill(s)
|
|
274
|
-
- `practices`: 5 skill(s)
|
|
275
|
-
- `saas`: 1 skill(s)
|
|
276
|
-
- `security`: 4 skill(s)
|
|
277
|
-
- `testing`: 6 skill(s)
|
|
278
|
-
- `tooling`: 3 skill(s)
|
|
279
|
-
|
|
280
|
-
### Built-in Tools
|
|
281
|
-
|
|
282
|
-
**Skill Discovery:**
|
|
283
|
-
- `skill_list_categories`: List all skill categories available in the vault. Returns category names and skill counts.
|
|
284
|
-
- `skill_browse_category`: Browse skills within a specific category. Returns skill IDs and short descriptions.
|
|
285
|
-
- `skill_search`: Search skills by keyword. Matches against skill IDs and descriptions.
|
|
286
|
-
- `skill_get`: Get full content of a specific skill by ID. Returns SKILL.md content and referenced files.
|
|
287
|
-
- `skill_budget_report`: Report estimated context/token budget for selected and loaded skills.
|
|
288
|
-
|
|
289
|
-
**Postman Integration:**
|
|
290
|
-
- `postman_get_mode`: Get current Postman MCP mode from cbx_config.
|
|
291
|
-
- `postman_set_mode`: Set Postman MCP mode in cbx_config.
|
|
292
|
-
- `postman_get_status`: Get Postman integration status and active profile.
|
|
293
|
-
|
|
294
|
-
**Stitch Integration:**
|
|
295
|
-
- `stitch_get_mode`: Get Stitch MCP mode from cbx_config.
|
|
296
|
-
- `stitch_set_profile`: Switch active Stitch profile in cbx_config.
|
|
297
|
-
- `stitch_get_status`: Get Stitch integration status and active profile.
|
|
298
|
-
|
|
299
|
-
### Skill Discovery Flow
|
|
300
|
-
|
|
301
|
-
Use progressive disclosure to minimize context usage:
|
|
302
|
-
1. `skill_list_categories` → see available categories and counts
|
|
303
|
-
2. `skill_browse_category` → browse skills in a category with short descriptions
|
|
304
|
-
3. `skill_search` → search by keyword across all skills
|
|
305
|
-
4. `skill_get` → load full content of a specific skill (only tool that reads full content)
|
|
306
|
-
5. `skill_budget_report` → check token usage for selected/loaded skills; use result to emit the § Context Budget Tracking stamp
|
|
267
|
+
## Cubis Foundry MCP (auto-managed)
|
|
268
|
+
|
|
269
|
+
Keep MCP context lazy and exact. Do not front-load the skill catalog.
|
|
270
|
+
|
|
271
|
+
### Compact Tool Map
|
|
272
|
+
|
|
273
|
+
- Skill tools: `skill_search`, `skill_validate`, `skill_get`, `skill_get_reference`, `skill_budget_report`
|
|
274
|
+
- Fallback browsing only: `skill_list_categories`, `skill_browse_category`
|
|
275
|
+
- Config tools: `postman_*`, `stitch_*`
|
|
276
|
+
|
|
277
|
+
### Validated Skill Flow
|
|
278
|
+
|
|
279
|
+
1. Inspect the repo/task locally first. Do not start with `skill_search`.
|
|
280
|
+
2. If the user names an exact skill, run `skill_validate` directly. Otherwise use one narrow `skill_search` only if local grounding still leaves the domain unclear.
|
|
281
|
+
3. Always run `skill_validate` on the exact selected ID before `skill_get`.
|
|
282
|
+
4. Call `skill_get` with `includeReferences:false` by default.
|
|
283
|
+
5. Load at most one sidecar markdown file at a time with `skill_get_reference`.
|
|
284
|
+
6. Use `skill_list_categories` or `skill_browse_category` only as fallback when targeted search fails.
|
|
285
|
+
7. Never print catalog counts or budget details unless the user asks.
|
|
307
286
|
|
|
308
287
|
### Connection
|
|
309
288
|
|
|
@@ -27,7 +27,7 @@ Rules:
|
|
|
27
27
|
Skills and workflows are the two primary execution layers. **Skills** deliver domain expertise via the Foundry MCP server (see §5 MCP Skill Engine). **Workflows** orchestrate task execution via slash commands. They work together — never in isolation.
|
|
28
28
|
|
|
29
29
|
1. Codex operates primarily through **Skills** and **Rules**; the Foundry MCP server (`cbx-mcp`) is the delivery mechanism for all domain skills.
|
|
30
|
-
2. Before
|
|
30
|
+
2. Before loading any skill, inspect the repo/task locally first. Use MCP skill tools only when the user names a skill explicitly or local grounding still leaves the domain unclear.
|
|
31
31
|
3. Complex multi-domain tasks: compose multiple skill loads within a single $workflow-orchestrate execution.
|
|
32
32
|
4. Workflow and skill namespaces are distinct — never mix workflow IDs (`workflow-*`) with skill IDs in MCP calls.
|
|
33
33
|
|
|
@@ -69,9 +69,11 @@ Use the best specialist first:
|
|
|
69
69
|
|
|
70
70
|
Before handing off to any specialist agent, prime context with the relevant domain skill (→ §5 MCP Skill Engine):
|
|
71
71
|
|
|
72
|
-
1.
|
|
73
|
-
2. If
|
|
74
|
-
3.
|
|
72
|
+
1. Validate user-named exact skills with `skill_validate <id>` before loading them.
|
|
73
|
+
2. If the domain is still unclear after local grounding, run one narrow `skill_search <domain>` and then validate the chosen exact ID with `skill_validate <id>`.
|
|
74
|
+
3. Load the core skill with `skill_get <id>` using `includeReferences:false` by default.
|
|
75
|
+
4. Pull one sidecar markdown file at a time with `skill_get_reference` when the skill or task requires it.
|
|
76
|
+
5. Include the validated skill ID in the Decision Log for the routing decision.
|
|
75
77
|
|
|
76
78
|
This ensures the specialist starts with accurate domain knowledge, not just role intent.
|
|
77
79
|
|
|
@@ -83,34 +85,41 @@ The Foundry MCP server is the primary knowledge layer. Use tools decisively —
|
|
|
83
85
|
|
|
84
86
|
| Prefix | Tools | When to use |
|
|
85
87
|
| ----------- | ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
86
|
-
| `skill_*` | `skill_list_categories`, `skill_search`, `skill_browse_category`, `skill_get`, `skill_budget_report` | Domain expertise for
|
|
88
|
+
| `skill_*` | `skill_list_categories`, `skill_search`, `skill_validate`, `skill_browse_category`, `skill_get`, `skill_get_reference`, `skill_budget_report` | Domain expertise for implementation, debug, or review without loading the full catalog |
|
|
87
89
|
| `postman_*` | `postman_get_mode`, `postman_set_mode`, `postman_get_status` | API testing or Postman configuration tasks |
|
|
88
90
|
| `stitch_*` | `stitch_get_mode`, `stitch_set_profile`, `stitch_get_status` | Stitch data pipeline tasks |
|
|
89
91
|
|
|
90
|
-
###
|
|
92
|
+
### Validated Skill Flow (Mandatory Order)
|
|
91
93
|
|
|
92
|
-
Stop at the earliest step that gives enough signal. Do not jump ahead.
|
|
94
|
+
Stop at the earliest step that gives enough signal. Do not jump ahead or front-load skill discovery.
|
|
93
95
|
|
|
94
|
-
1.
|
|
95
|
-
2.
|
|
96
|
-
3.
|
|
97
|
-
4.
|
|
98
|
-
5.
|
|
96
|
+
1. Inspect the codebase/task locally first; do not start with `skill_search`
|
|
97
|
+
2. If the user names an exact skill ID, call `skill_validate <id>` directly
|
|
98
|
+
3. Otherwise, if local grounding still leaves the domain unclear, run one narrow `skill_search <keyword>`
|
|
99
|
+
4. Validate the selected exact skill ID with `skill_validate <id>` before any load
|
|
100
|
+
5. Load only the core `SKILL.md` with `skill_get <id>` and `includeReferences:false`
|
|
101
|
+
6. Load at most one sidecar markdown file at a time with `skill_get_reference <id> <path>`
|
|
102
|
+
7. Use `skill_list_categories` or `skill_browse_category` only as fallback when targeted search fails
|
|
103
|
+
8. Use `skill_budget_report` internally only when the user explicitly asks for context accounting
|
|
99
104
|
|
|
100
105
|
### Postman Intent Trigger (Required)
|
|
101
106
|
|
|
102
107
|
When user intent includes Postman workflows (for example: workspace, collection, environment, runCollection, monitor, mock, or "run Postman tests"):
|
|
103
108
|
|
|
104
|
-
1.
|
|
105
|
-
2. If
|
|
106
|
-
3.
|
|
107
|
-
4.
|
|
108
|
-
5.
|
|
109
|
+
1. Validate `postman` directly with `skill_validate "postman"` when the exact skill ID is known.
|
|
110
|
+
2. If validation fails and local grounding is still insufficient, run a narrow `skill_search "postman"` and validate the selected exact ID.
|
|
111
|
+
3. Load `skill_get "postman"` with `includeReferences:false` before workflow/agent routing.
|
|
112
|
+
4. Prefer Postman MCP tools (`postman.*`) over Newman/CLI fallback unless the user explicitly asks for fallback.
|
|
113
|
+
5. If `--postman` was installed but `postman` skill cannot be found, report installation drift and suggest reinstall with `cbx workflows install ... --postman`.
|
|
114
|
+
6. Do not default to raw Postman REST JSON payloads or curl for execution when Postman MCP tools are available.
|
|
109
115
|
|
|
110
116
|
**Hard rules:**
|
|
111
117
|
|
|
112
|
-
- Never call `skill_get` without
|
|
118
|
+
- Never call `skill_get` from fuzzy search output without first validating the exact ID via `skill_validate`
|
|
119
|
+
- Never skip local repo inspection and jump straight to `skill_search`
|
|
113
120
|
- Never call `skill_get` with a workflow ID — `workflow-*` are routes, not skills; keep workflow mentions in the Decision Log using raw $workflow-\* wrappers
|
|
121
|
+
- Never call `skill_get` with `includeReferences:true` by default in agent workflows
|
|
122
|
+
- Never bulk-load sibling/reference markdown files when one targeted `skill_get_reference` will do
|
|
114
123
|
- Never reload a skill already loaded this session — reuse content already in context
|
|
115
124
|
- If `skill_search` returns 0 results, try `skill_browse_category`, then fall back to built-in knowledge
|
|
116
125
|
|
|
@@ -140,12 +149,23 @@ After `skill_get`, include at most one short line:
|
|
|
140
149
|
|
|
141
150
|
Do not append budget tables or token summaries unless the user explicitly asks.
|
|
142
151
|
|
|
152
|
+
### Reference Files (Required When Relevant)
|
|
153
|
+
|
|
154
|
+
Reference markdown files are first-class skill context, but they must be loaded selectively.
|
|
155
|
+
|
|
156
|
+
1. Use `skill_validate` to see `availableReferences` for the exact skill
|
|
157
|
+
2. Start with `skill_get(..., includeReferences:false)` to load only the core skill body
|
|
158
|
+
3. If the skill points to a reference or the task clearly needs sidecar detail, load one file with `skill_get_reference`
|
|
159
|
+
4. Only load another reference if the first one still leaves a concrete gap
|
|
160
|
+
|
|
143
161
|
|
|
144
162
|
### Anti-Patterns (Never Do These)
|
|
145
163
|
|
|
146
164
|
- Loading skills speculatively "just in case" they might be useful
|
|
147
|
-
- Calling `skill_get` before
|
|
165
|
+
- Calling `skill_get` before `skill_validate`
|
|
148
166
|
- Using partial or guessed skill IDs in `skill_get`
|
|
167
|
+
- Treating `skill_search` results as an implicit final selection
|
|
168
|
+
- Starting a task with `skill_list_categories` or broad catalog browsing
|
|
149
169
|
- Publishing verbose budget fields (`full_catalog_est_tokens`, `loaded_est_tokens`, etc.) in responses
|
|
150
170
|
- Re-emitting the ctx stamp multiple times within a single response
|
|
151
171
|
- Treating workflow IDs as skill IDs in any MCP tool call
|
|
@@ -237,66 +257,25 @@ Selection policy:
|
|
|
237
257
|
<!-- cbx:workflows:auto:end -->
|
|
238
258
|
|
|
239
259
|
<!-- cbx:mcp:auto:start version=1 -->
|
|
240
|
-
## Cubis Foundry MCP
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
###
|
|
245
|
-
|
|
246
|
-
-
|
|
247
|
-
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
- `game-dev`: 1 skill(s)
|
|
260
|
-
- `general`: 26 skill(s)
|
|
261
|
-
- `localization`: 1 skill(s)
|
|
262
|
-
- `marketing`: 2 skill(s)
|
|
263
|
-
- `mobile`: 7 skill(s)
|
|
264
|
-
- `observability`: 1 skill(s)
|
|
265
|
-
- `payments`: 1 skill(s)
|
|
266
|
-
- `performance`: 2 skill(s)
|
|
267
|
-
- `practices`: 5 skill(s)
|
|
268
|
-
- `saas`: 1 skill(s)
|
|
269
|
-
- `security`: 4 skill(s)
|
|
270
|
-
- `testing`: 6 skill(s)
|
|
271
|
-
- `tooling`: 3 skill(s)
|
|
272
|
-
|
|
273
|
-
### Built-in Tools
|
|
274
|
-
|
|
275
|
-
**Skill Discovery:**
|
|
276
|
-
- `skill_list_categories`: List all skill categories available in the vault. Returns category names and skill counts.
|
|
277
|
-
- `skill_browse_category`: Browse skills within a specific category. Returns skill IDs and short descriptions.
|
|
278
|
-
- `skill_search`: Search skills by keyword. Matches against skill IDs and descriptions.
|
|
279
|
-
- `skill_get`: Get full content of a specific skill by ID. Returns SKILL.md content and referenced files.
|
|
280
|
-
- `skill_budget_report`: Report estimated context/token budget for selected and loaded skills.
|
|
281
|
-
|
|
282
|
-
**Postman Integration:**
|
|
283
|
-
- `postman_get_mode`: Get current Postman MCP mode from cbx_config.
|
|
284
|
-
- `postman_set_mode`: Set Postman MCP mode in cbx_config.
|
|
285
|
-
- `postman_get_status`: Get Postman integration status and active profile.
|
|
286
|
-
|
|
287
|
-
**Stitch Integration:**
|
|
288
|
-
- `stitch_get_mode`: Get Stitch MCP mode from cbx_config.
|
|
289
|
-
- `stitch_set_profile`: Switch active Stitch profile in cbx_config.
|
|
290
|
-
- `stitch_get_status`: Get Stitch integration status and active profile.
|
|
291
|
-
|
|
292
|
-
### Skill Discovery Flow
|
|
293
|
-
|
|
294
|
-
Use progressive disclosure to minimize context usage:
|
|
295
|
-
1. `skill_list_categories` → see available categories and counts
|
|
296
|
-
2. `skill_browse_category` → browse skills in a category with short descriptions
|
|
297
|
-
3. `skill_search` → search by keyword across all skills
|
|
298
|
-
4. `skill_get` → load full content of a specific skill (only tool that reads full content)
|
|
299
|
-
5. `skill_budget_report` → check token usage for selected/loaded skills; use result to emit the § Context Budget Tracking stamp
|
|
260
|
+
## Cubis Foundry MCP (auto-managed)
|
|
261
|
+
|
|
262
|
+
Keep MCP context lazy and exact. Do not front-load the skill catalog.
|
|
263
|
+
|
|
264
|
+
### Compact Tool Map
|
|
265
|
+
|
|
266
|
+
- Skill tools: `skill_search`, `skill_validate`, `skill_get`, `skill_get_reference`, `skill_budget_report`
|
|
267
|
+
- Fallback browsing only: `skill_list_categories`, `skill_browse_category`
|
|
268
|
+
- Config tools: `postman_*`, `stitch_*`
|
|
269
|
+
|
|
270
|
+
### Validated Skill Flow
|
|
271
|
+
|
|
272
|
+
1. Inspect the repo/task locally first. Do not start with `skill_search`.
|
|
273
|
+
2. If the user names an exact skill, run `skill_validate` directly. Otherwise use one narrow `skill_search` only if local grounding still leaves the domain unclear.
|
|
274
|
+
3. Always run `skill_validate` on the exact selected ID before `skill_get`.
|
|
275
|
+
4. Call `skill_get` with `includeReferences:false` by default.
|
|
276
|
+
5. Load at most one sidecar markdown file at a time with `skill_get_reference`.
|
|
277
|
+
6. Use `skill_list_categories` or `skill_browse_category` only as fallback when targeted search fails.
|
|
278
|
+
7. Never print catalog counts or budget details unless the user asks.
|
|
300
279
|
|
|
301
280
|
### Connection
|
|
302
281
|
|
|
@@ -30,7 +30,7 @@ Rules:
|
|
|
30
30
|
2. Otherwise choose the best workflow by intent from `.github/copilot/workflows` and reuse `.github/prompts/workflow-*.prompt.md` when available.
|
|
31
31
|
3. For cross-domain tasks, use `/orchestrate` and `@orchestrator`.
|
|
32
32
|
4. Keep one primary workflow; use others only as supporting references.
|
|
33
|
-
5. Before
|
|
33
|
+
5. Before loading any skill, inspect the repo/task locally first. Use MCP skill tools only when the user names a skill explicitly or local grounding still leaves the domain unclear (→ §6 MCP Skill Engine).
|
|
34
34
|
|
|
35
35
|
## 3) Request Classifier
|
|
36
36
|
|
|
@@ -69,9 +69,11 @@ Use the best specialist first:
|
|
|
69
69
|
|
|
70
70
|
Before handing off to any specialist agent, prime context with the relevant domain skill (→ §6 MCP Skill Engine):
|
|
71
71
|
|
|
72
|
-
1.
|
|
73
|
-
2. If
|
|
74
|
-
3.
|
|
72
|
+
1. Validate user-named exact skills with `skill_validate <id>` before loading them.
|
|
73
|
+
2. If the domain is still unclear after local grounding, run one narrow `skill_search <domain>` and then validate the chosen exact ID with `skill_validate <id>`.
|
|
74
|
+
3. Load the core skill with `skill_get <id>` using `includeReferences:false` by default.
|
|
75
|
+
4. Pull one sidecar markdown file at a time with `skill_get_reference` when the skill or task requires it.
|
|
76
|
+
5. Include the validated skill ID in the Decision Log for the routing decision.
|
|
75
77
|
|
|
76
78
|
This ensures the specialist starts with accurate domain knowledge, not just role intent.
|
|
77
79
|
|
|
@@ -91,33 +93,40 @@ The Foundry MCP server is the primary knowledge layer. Use tools decisively —
|
|
|
91
93
|
|
|
92
94
|
| Prefix | Tools | When to use |
|
|
93
95
|
| ----------- | ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
94
|
-
| `skill_*` | `skill_list_categories`, `skill_search`, `skill_browse_category`, `skill_get`, `skill_budget_report` | Domain expertise for
|
|
96
|
+
| `skill_*` | `skill_list_categories`, `skill_search`, `skill_validate`, `skill_browse_category`, `skill_get`, `skill_get_reference`, `skill_budget_report` | Domain expertise for implementation, debug, or review without loading the full catalog |
|
|
95
97
|
| `postman_*` | `postman_get_mode`, `postman_set_mode`, `postman_get_status` | API testing or Postman configuration tasks |
|
|
96
98
|
| `stitch_*` | `stitch_get_mode`, `stitch_set_profile`, `stitch_get_status` | Stitch data pipeline tasks |
|
|
97
99
|
|
|
98
|
-
###
|
|
100
|
+
### Validated Skill Flow (Mandatory Order)
|
|
99
101
|
|
|
100
|
-
Stop at the earliest step that gives enough signal. Do not jump ahead.
|
|
102
|
+
Stop at the earliest step that gives enough signal. Do not jump ahead or front-load skill discovery.
|
|
101
103
|
|
|
102
|
-
1.
|
|
103
|
-
2.
|
|
104
|
-
3.
|
|
105
|
-
4.
|
|
106
|
-
5.
|
|
104
|
+
1. Inspect the codebase/task locally first; do not start with `skill_search`
|
|
105
|
+
2. If the user names an exact skill ID, call `skill_validate <id>` directly
|
|
106
|
+
3. Otherwise, if local grounding still leaves the domain unclear, run one narrow `skill_search <keyword>`
|
|
107
|
+
4. Validate the selected exact skill ID with `skill_validate <id>` before any load
|
|
108
|
+
5. Load only the core `SKILL.md` with `skill_get <id>` and `includeReferences:false`
|
|
109
|
+
6. Load at most one sidecar markdown file at a time with `skill_get_reference <id> <path>`
|
|
110
|
+
7. Use `skill_list_categories` or `skill_browse_category` only as fallback when targeted search fails
|
|
111
|
+
8. Use `skill_budget_report` internally only when the user explicitly asks for context accounting
|
|
107
112
|
|
|
108
113
|
### Postman Intent Trigger (Required)
|
|
109
114
|
|
|
110
115
|
When user intent includes Postman workflows (for example: workspace, collection, environment, runCollection, monitor, mock, or "run Postman tests"):
|
|
111
116
|
|
|
112
|
-
1.
|
|
113
|
-
2. If
|
|
114
|
-
3.
|
|
115
|
-
4.
|
|
117
|
+
1. Validate `postman` directly with `skill_validate "postman"` when the exact skill ID is known.
|
|
118
|
+
2. If validation fails and local grounding is still insufficient, run a narrow `skill_search "postman"` and validate the selected exact ID.
|
|
119
|
+
3. Load `skill_get "postman"` with `includeReferences:false` before workflow/agent routing.
|
|
120
|
+
4. Prefer Postman MCP tools (`postman.*`) over Newman/CLI fallback unless the user explicitly asks for fallback.
|
|
121
|
+
5. If `--postman` was installed but `postman` skill cannot be found, report installation drift and suggest reinstall with `cbx workflows install ... --postman`.
|
|
116
122
|
|
|
117
123
|
**Hard rules:**
|
|
118
124
|
|
|
119
|
-
- Never call `skill_get` without
|
|
125
|
+
- Never call `skill_get` from fuzzy search output without first validating the exact ID via `skill_validate`
|
|
126
|
+
- Never skip local repo inspection and jump straight to `skill_search`
|
|
120
127
|
- Never call `skill_get` with a workflow ID — `workflow-*` are routes, not skills; keep workflow mentions in workflow decisions (`/workflow`) and keep skill logs skill-only
|
|
128
|
+
- Never call `skill_get` with `includeReferences:true` by default in agent workflows
|
|
129
|
+
- Never bulk-load sibling/reference markdown files when one targeted `skill_get_reference` will do
|
|
121
130
|
- Never reload a skill already loaded this session — reuse content already in context
|
|
122
131
|
- If `skill_search` returns 0 results, try `skill_browse_category`, then fall back to built-in knowledge
|
|
123
132
|
|
|
@@ -147,12 +156,23 @@ After `skill_get`, include at most one short line:
|
|
|
147
156
|
|
|
148
157
|
Do not append budget tables or token summaries unless the user explicitly asks.
|
|
149
158
|
|
|
159
|
+
### Reference Files (Required When Relevant)
|
|
160
|
+
|
|
161
|
+
Reference markdown files are first-class skill context, but they must be loaded selectively.
|
|
162
|
+
|
|
163
|
+
1. Use `skill_validate` to see `availableReferences` for the exact skill
|
|
164
|
+
2. Start with `skill_get(..., includeReferences:false)` to load only the core skill body
|
|
165
|
+
3. If the skill points to a reference or the task clearly needs sidecar detail, load one file with `skill_get_reference`
|
|
166
|
+
4. Only load another reference if the first one still leaves a concrete gap
|
|
167
|
+
|
|
150
168
|
|
|
151
169
|
### Anti-Patterns (Never Do These)
|
|
152
170
|
|
|
153
171
|
- Loading skills speculatively "just in case" they might be useful
|
|
154
|
-
- Calling `skill_get` before
|
|
172
|
+
- Calling `skill_get` before `skill_validate`
|
|
155
173
|
- Using partial or guessed skill IDs in `skill_get`
|
|
174
|
+
- Treating `skill_search` results as an implicit final selection
|
|
175
|
+
- Starting a task with `skill_list_categories` or broad catalog browsing
|
|
156
176
|
- Publishing verbose budget fields (`full_catalog_est_tokens`, `loaded_est_tokens`, etc.) in responses
|
|
157
177
|
- Re-emitting the ctx stamp multiple times within a single response
|
|
158
178
|
- Treating workflow IDs as skill IDs in any MCP tool call
|
|
@@ -244,66 +264,25 @@ Selection policy:
|
|
|
244
264
|
<!-- cbx:workflows:auto:end -->
|
|
245
265
|
|
|
246
266
|
<!-- cbx:mcp:auto:start version=1 -->
|
|
247
|
-
## Cubis Foundry MCP
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
###
|
|
252
|
-
|
|
253
|
-
-
|
|
254
|
-
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
- `game-dev`: 1 skill(s)
|
|
267
|
-
- `general`: 26 skill(s)
|
|
268
|
-
- `localization`: 1 skill(s)
|
|
269
|
-
- `marketing`: 2 skill(s)
|
|
270
|
-
- `mobile`: 7 skill(s)
|
|
271
|
-
- `observability`: 1 skill(s)
|
|
272
|
-
- `payments`: 1 skill(s)
|
|
273
|
-
- `performance`: 2 skill(s)
|
|
274
|
-
- `practices`: 5 skill(s)
|
|
275
|
-
- `saas`: 1 skill(s)
|
|
276
|
-
- `security`: 4 skill(s)
|
|
277
|
-
- `testing`: 6 skill(s)
|
|
278
|
-
- `tooling`: 3 skill(s)
|
|
279
|
-
|
|
280
|
-
### Built-in Tools
|
|
281
|
-
|
|
282
|
-
**Skill Discovery:**
|
|
283
|
-
- `skill_list_categories`: List all skill categories available in the vault. Returns category names and skill counts.
|
|
284
|
-
- `skill_browse_category`: Browse skills within a specific category. Returns skill IDs and short descriptions.
|
|
285
|
-
- `skill_search`: Search skills by keyword. Matches against skill IDs and descriptions.
|
|
286
|
-
- `skill_get`: Get full content of a specific skill by ID. Returns SKILL.md content and referenced files.
|
|
287
|
-
- `skill_budget_report`: Report estimated context/token budget for selected and loaded skills.
|
|
288
|
-
|
|
289
|
-
**Postman Integration:**
|
|
290
|
-
- `postman_get_mode`: Get current Postman MCP mode from cbx_config.
|
|
291
|
-
- `postman_set_mode`: Set Postman MCP mode in cbx_config.
|
|
292
|
-
- `postman_get_status`: Get Postman integration status and active profile.
|
|
293
|
-
|
|
294
|
-
**Stitch Integration:**
|
|
295
|
-
- `stitch_get_mode`: Get Stitch MCP mode from cbx_config.
|
|
296
|
-
- `stitch_set_profile`: Switch active Stitch profile in cbx_config.
|
|
297
|
-
- `stitch_get_status`: Get Stitch integration status and active profile.
|
|
298
|
-
|
|
299
|
-
### Skill Discovery Flow
|
|
300
|
-
|
|
301
|
-
Use progressive disclosure to minimize context usage:
|
|
302
|
-
1. `skill_list_categories` → see available categories and counts
|
|
303
|
-
2. `skill_browse_category` → browse skills in a category with short descriptions
|
|
304
|
-
3. `skill_search` → search by keyword across all skills
|
|
305
|
-
4. `skill_get` → load full content of a specific skill (only tool that reads full content)
|
|
306
|
-
5. `skill_budget_report` → check token usage for selected/loaded skills; use result to emit the § Context Budget Tracking stamp
|
|
267
|
+
## Cubis Foundry MCP (auto-managed)
|
|
268
|
+
|
|
269
|
+
Keep MCP context lazy and exact. Do not front-load the skill catalog.
|
|
270
|
+
|
|
271
|
+
### Compact Tool Map
|
|
272
|
+
|
|
273
|
+
- Skill tools: `skill_search`, `skill_validate`, `skill_get`, `skill_get_reference`, `skill_budget_report`
|
|
274
|
+
- Fallback browsing only: `skill_list_categories`, `skill_browse_category`
|
|
275
|
+
- Config tools: `postman_*`, `stitch_*`
|
|
276
|
+
|
|
277
|
+
### Validated Skill Flow
|
|
278
|
+
|
|
279
|
+
1. Inspect the repo/task locally first. Do not start with `skill_search`.
|
|
280
|
+
2. If the user names an exact skill, run `skill_validate` directly. Otherwise use one narrow `skill_search` only if local grounding still leaves the domain unclear.
|
|
281
|
+
3. Always run `skill_validate` on the exact selected ID before `skill_get`.
|
|
282
|
+
4. Call `skill_get` with `includeReferences:false` by default.
|
|
283
|
+
5. Load at most one sidecar markdown file at a time with `skill_get_reference`.
|
|
284
|
+
6. Use `skill_list_categories` or `skill_browse_category` only as fallback when targeted search fails.
|
|
285
|
+
7. Never print catalog counts or budget details unless the user asks.
|
|
307
286
|
|
|
308
287
|
### Connection
|
|
309
288
|
|