Repository navigation
Expand file tree
/
Copy pathskill-routing.tsv
More file actions
We can make this file beautiful and searchable if this error is corrected: Illegal quoting in line 16.
322 lines (322 loc) · 58.8 KB
/
Copy pathskill-routing.tsv
File metadata and controls
322 lines (322 loc) · 58.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
# THE skill-routing table — the single source of truth for every routing surface.
#
# Routing a skill used to take six coordinated edits (README's two tables, the runbook row,
# init-project.sh's CLAUDE.local.md heredoc, gate-check.sh's stage map, the agent templates)
# plus a seventh copy inside every project's CLAUDE.local.md that no script could update.
# Measured on 2026-08-18, before this file existed: 17 of 43 skills were routed by NOTHING a
# project agent reads; facts-lock.sh reached 1 of 6 wired projects; agent-roles.md and
# source-triage.md reached 1 each. Every skill added since had silently become the eighteenth.
#
# Edit THIS file, then run: bin/render-routing.sh
# CI / gate: bin/render-routing.sh --check (exit 2 == a surface has drifted)
#
# Format: TAB-separated, seven columns. Blank lines and #-comments ignored.
# 1 name stable id (basename without .md/.sh)
# 2 path repo-relative path of the thing to load
# 3 when one line: "always relevant for ..." — the trigger, not a description
# 4 agents comma list of lead|ba|architect|mdl|gate|test|review, or "all" ("all" includes lead).
# lead = the main session: it dispatches helpers, runs gates, asks the user. It has
# no agents/*.md stub, so a lead-only row renders into no stub on purpose. Helpers
# never read a row that does not name them — the project baseline view carries a
# Role(s) column for exactly that (added 2026-10-05: before it, the view filtered by
# stage only, so a Stage 5 page helper was pointed at the lead's, the tester's and
# the reviewer's rows too — process/context-cost-research-2026-09-30.md §1).
# "<role>?" (e.g. "mdl?", or "all,mdl?") keeps a baseline row on demand for that one
# role: in its stub's on-demand rows, out of its always-read set and word count
# (added 2026-10-14; bin/lib/skill-routing.sh _routing_role_tier). Baseline rows only.
# 5 stages comma list of P,0,1,2,3,4,5,6,7 (conversion-runbook stages), or "-" for none
# 6 tier baseline (always-on: goes into every project's CLAUDE.local.md)
# ondemand (situational: load when the task calls for it)
# experimental (under trial: routed and discoverable, but _routing_stage_arm skips
# it on purpose, so a skill nobody has proven yet can never be the
# reason a gate fails)
# 7 group which question the skill answers, NOT what kind of thing it is. One of:
# spine what am I doing, who decides, how do I ask
# source reading a legacy system (migration entry mode only)
# requirements what must be built
# architecture how it is shaped
# design how it looks, before any MDL
# build authoring the model — the loop itself
# build/mdl the MDL language and tool reference
# build/pages page-building patterns
# build/agents Mendix AI agents — the agent document, tools, KBs, chat UI
# build/workflow / build/integration / build/security (declared, still empty)
# verify does it work
# diagnose something is broken and it may be the tooling
# reference lookup tables, not method
# The set is CLOSED — routing_validate_groups() rejects anything else, because a
# typo would otherwise render as a real fourteenth group nobody notices.
#
# Added 2026-08-20. Several build/* groups started empty on purpose: a flat list of
# 62 skills hid the fact that this toolkit said nothing at all about workflows,
# REST, agents, grids or build-time security. The empty group is the finding — and
# it works: build/workflow, build/integration and build/agents were each filled by
# a skill written because the empty heading made the hole visible.
#
# Groups order the RENDERED tables (ROUTING.md, README's situational table). The
# baseline views are NOT grouped by this column — sub-headings would imply a
# selectivity the group column does not carry for baseline rows. They ARE sliced by
# column 5 (stages): the rendered baseline table carries a Stage(s) column, and a
# session reads a row only when its stage cell says "every stage" (column 5 was "-")
# or names the stage the project's register says it is in. That slicing comes from
# the stages column already on every row, so adding it did not require touching a
# single baseline row — only the renderer.
#
# TSV rather than a markdown ROUTING.md because a renderer has to parse this in bash 3.2 on
# macOS, and several "when" strings contain the "|" that a markdown table uses as its column
# separator. ROUTING.md at the repo root is the human-readable view — rendered FROM here, so
# it can never disagree with what the scripts install. Kept in bin/lib/ next to
# install-manifest.sh (the same one-manifest-N-readers precedent) and deliberately NOT in
# skills/, which gate-check.sh treats as PROTOCOL_PATHS: a data file there would trip a
# protocol-staleness ack on every routing edit.
#
# name path when agents stages tier group
conversion-runbook skills/conversion-runbook.md Any pipeline work at all — every session, before producing any stage artifact: read §1b plus your own stage's section, not the whole file (gate-check.sh prints the line spans); READMEs and the guide are orientation only lead,ba,architect P,0,1,2,3,4,5,6,7 baseline spine
runbook-slice bin/runbook-slice.sh Any pipeline work at all, as a helper — every dispatch, before producing anything: run the toolkit's bin/runbook-slice.sh <stage>, which prints §1b plus your stage's section of the conversion runbook; never open skills/conversion-runbook.md whole mdl,gate,test,review P,0,1,2,3,4,5,6,7 baseline spine
query-the-model skills/query-the-model.md Any question before asking the user or writing anything — query the model, then read the source, then ask the human, in that order all P,0,1,2,3,4,5,6,7 baseline spine
skills-over-scripts skills/skills-over-scripts.md Script or skill? Before writing any .js or bash/.sh for a check, checker, linter, gate or report, or adding a rule or regex to an existing one — judgement goes in a skill, code only fetches facts a reader cannot all,mdl?,review? - baseline spine
degrade-to-judgement skills/degrade-to-judgement.md Any pass whose input is missing, stale or unresolvable — before recording UNMEASURED, N/A or a silent skip: name what was missing, say what you assessed against instead, still deliver a verdict all - baseline spine
interview-protocol skills/interview-protocol.md Putting a question TO the user — any gate, any stage: ask in chat not in a file, two named options plus your recommendation, one batch per gate then end the turn lead,ba,architect P,0,1,2,3,4,5,6,7 baseline spine
change-intake skills/change-intake.md The user gives feedback or asks for a change mid-project — "change X", "it also needs Y" (a field, a column, a button), a remark on a screenshot or the running app, a stakeholder's ask relayed in chat: log a CR row in PROJECT.md ## Change log BEFORE any edit, size it, then edit the highest artifact it alters (BRD, decision, architecture, wireframe), never the MDL first lead,ba 2,3,4,5,6,7 baseline spine
change-intake-detail skills/change-intake-detail.md Applying or proving a change request (CR row), a change whose class, size or status is unclear, or a "Change log:" gate line to explain: full class/size/ask tables, the wrong-vs-right example, apply and prove steps, the owners table and what the warn-only gate check counts lead,ba,architect 2,3,4,5,6,7 ondemand spine
grill-mode skills/grill-mode.md Deep, adaptive interview on one topic, on demand, when a checkpoint's 2+1 or a single question batch isn't enough ba,architect P,0,1,2,3,4,5,6,7 ondemand spine
checkpoints skills/checkpoints/checkpoint-template.md Any stage transition — the 2+1 format every CAC uses, and the one-register rule (answers land in PROJECT.md, never in a separate state file). The seven CACs themselves are routed per stage in the situational table lead,ba,architect 0,1,2,3,4,6,7 baseline spine
checkpoint-scope skills/checkpoints/checkpoint-scope.md CAC-1, closing Stage 0 in EVERY entry mode — scope IN: full scope or a slice, and in what order. Opens with a brainstorm, not options ba,architect 0 ondemand spine
checkpoint-extraction skills/checkpoints/checkpoint-extraction.md CAC-1b, after Stage 1 — scope OUT: is what extraction produced what you meant. No gate stops you; run it late against the BRDs if it was skipped ba 1 ondemand spine
checkpoint-brd skills/checkpoints/checkpoint-brd.md CAC-2, after BRD scaffolding and before enrichment — capability grouping and enrichment order ba 2 ondemand spine
checkpoint-architecture skills/checkpoints/checkpoint-architecture.md CAC-3, after BRD validation and before architecture locks — the hidden business rules that are expensive to discover later ba,architect 2 ondemand spine
checkpoint-design skills/checkpoints/checkpoint-design.md CAC-4, after rearchitect sign-off and before any design artifact — branding and UI direction. Opens with a brainstorm architect 3 ondemand spine
checkpoint-build skills/checkpoints/checkpoint-build.md CAC-5, after design sign-off and before the build plan — build order and slice boundaries. Opens with a brainstorm architect,mdl 4 ondemand spine
checkpoint-cutover skills/checkpoints/checkpoint-cutover.md Going live / cutover: CAC-6, after Stage 6 passes and before any cutover or old-data migration step — migration mode only, and a hard gate: every answer lands CONFIRMED, no ASSUMED defaults gate,test 6,7 ondemand spine
agent-roles skills/agent-roles.md Setting up or completing a project's dev-process subagents — once, at project start, not "on demand" lead P,4,5 baseline spine
dispatching skills/dispatching.md Starting a subagent, sending it a fix round, or reading an agent-stop notice — name the model, fresh not fork, fresh fixer not resume, coalesce notices lead P,1,2,3,4,5,6 baseline spine
source-triage skills/source-triage.md Deciding whether to extract at all, before any BRD gets generated ba 0 baseline source
source-sufficiency bin/source-sufficiency.sh Taking in a new source — before generating anything from it. Grades what the source can support; nothing else in this toolkit reads a source ba 0,1 baseline source
source-ledger bin/source-ledger.sh Closing Stage 1, or adding files to a source folder — every inventoried file must name the artifact that consumed it (text AND embedded diagrams), or carry a waiver; blocks Stages 1–2 until it does ba 0,1,2 baseline source
html-to-md bin/html-to-md.sh HTML in the source corpus — convert once before anyone reads it: `bin/html-to-md.sh <project>` writes each page as Markdown under analysis/knowledge-base/text/ (3–10× fewer tokens than the raw export; inline images decoded to files; section list with line numbers as the read's denominator) plus documents-index.md over EVERY file, which one ledger glob mark points at. A session that opens a .html itself has skipped this ba 0,1 baseline source
images-to-md bin/images-to-md.sh Pictures in the source corpus — decks, Word files, PDFs, screenshots: one worklist of unique images with context, one description file each, coverage checked ba 0,1,2 baseline source
image-transcription skills/image-transcription.md Images to read listed by images-to-md or the documents index — describe each unique picture once, into its own file, before Stage 2 closes all 0,1,2 ondemand source
small-project-tier skills/small-project-tier.md Stage 0 sign-off when the inventory is at or under 1 module / 8 screens / 25 use cases, or the user says the app is small — declare the tier, then apply its per-stage caps and the three artifact waivers ba,architect 0,1,2,3,4 ondemand spine
triage-report bin/triage-report.sh Rendering a filled triage.md for review — the triage.html surface Stage 0 names. Renders only; the Stage 0 verdict stays with gate-check and the judgement with source-triage.md ba 0 ondemand source
extraction-report bin/extraction-report.sh Reviewing what the extraction actually produced — the Stage 1 surface, and the file the Stage 1 gate looks for. Renders a code-extracted and a document knowledge base alike, so a requirements-driven project gets the surface too; prints no zero that a second record does not agree with ba 1 ondemand source
question-kinds bin/question-kinds.sh Deciding who answers a question — before putting any batch to the user. gap/conflict/choice/user-only is what keeps a gate batch at four questions instead of 127 ba 1,2,3 baseline spine
facts-lock bin/facts-lock.sh Writing BRDs, especially several in parallel — "build" before the fan-out, "check" before any BRD is called done ba 2 baseline requirements
brd-report bin/brd-report.sh Reviewing what the BRDs actually say — the Stage 2 surface, for BRDs from any source. Reads every knowledge base at once, and keeps a section that is absent-because-not-applicable apart from one that is absent-because-expected ba 2 ondemand requirements
module-brief skills/module-brief.md Building any module — before the first script. The mdl-agent's single per-module input ba,mdl 4,5 baseline requirements
learned-mdl-preflight skills/learned-mdl-preflight.md Writing ANY MDL script — before the first line. Step 0 picks the write mode, then the STOP table overrides it for corrupting operations mdl? 5 baseline build/mdl
mdl-rules bin/mdl-rules.sh Writing ANY MDL script — before the first line: run bin/mdl-rules.sh <kinds> (page, microflow, access, workflow, entity) or --for <draft.mdl>, or read skills/generated/rules-<kind>.md, and read ALL of it — the STOP rows, gotchas and preflight sections for the statement kinds the script writes; your PREFLIGHT reports "STOP rows for kinds K: n/n checked" mdl 5,6 baseline build/mdl
module-folder-convention skills/module-folder-convention.md Placing any document in a module — before the first `create`. Feature group, then Pages/Microflows/Services/Resources; the path comes from the brief's folder plan, and the table says which types mxcli can actually place architect,mdl 4,5 baseline architecture
learned-microflow-patterns skills/learned-microflow-patterns.md Writing or fixing any microflow — MDL gotchas plus annotation discipline mdl 5 ondemand build/mdl
microflow-preflight skills/microflow-preflight.md Writing a microflow with any loop, a retrieve/commit/call inside a loop, nested or multiple loops, >20 activities counting loop bodies, or a list built from a list — post the checklist before the first MDL line mdl 5 ondemand build/mdl
mendix-best-practices-index skills/mendix-best-practices-index.md Asked "is there a Mendix best practice for this", or mapping a lint rule that rose in the ratchet back to the practice and the skill that prevents it — one row per area: Mendix docs page, bundled assess-quality section, toolkit skill before the write, lint rule after exec all 3,5,6 ondemand reference
ui-preflight-pages skills/ui-preflight-pages.md Building any page or snippet — before the first widget. Wireframe, tokens, gallery reuse, cross-check; no wireframe means STOP mdl 5 ondemand design
design-spacing skills/design-spacing.md Writing or reviewing any page or snippet — the spacing scale (8/16/24/32/48), section rhythm, and the page-header scaffold every full page starts with; sections at 0px apart and pages with no H1 are the defects it retires mdl?,review 5 baseline design
learned-stylegallery skills/learned-stylegallery.md Building or using the in-app design gallery mdl 5 ondemand design
ui-loop skills/ui-loop.md After every page-building script, and any time the UI looks wrong — the cheap repeatable look during the build: one page, one screenshot, four questions, scored when a wireframe exists. Feeds Gate: UI, never replaces it mdl?,review 5 baseline design
check-design-portability project-bin/check-design-portability.sh Before porting ds.css into SCSS, and at the Stage-3 gate — greps the stylesheet for rules that cannot match the HTML Mendix emits (rem against the real root, table/th/td selectors, positional row selectors). mx check, mxcli check and mxcli lint are all blind to CSS architect,mdl,gate 3,5 ondemand design
check-design-reaches-app project-bin/check-design-reaches-app.sh After the FIRST build that follows any design-system port, and before any page is built on it — reads the BUILT stylesheet and reports how many framework knobs point at a design token, how many tokens arrived, how many component classes arrived, each with its denominator. Measured on a real run: 55 tokens ported correctly into the right file, 0 of 35 knobs bound and 0 of 20 classes present, two build phases shipped in the framework's default blue with mx check, mxcli lint, the MDL suite and two e2e journeys all green architect,mdl,gate,review 3,5 baseline design
check-page-shell project-bin/check-page-shell.sh Before exec'ing ANY page script — compares the drafted MDL's shell against the wireframe's: page column, layout/nav shell, one H1. Measured 0/10 pages on a real first build, repaired wholesale 47 scripts later mdl,gate,review 5 baseline design
page-fidelity project-bin/page-fidelity.js After drafting and again after exec'ing any page script — scores the page MDL (or `mxcli describe` output on stdin) against its wireframe: headings/actions/content/classes, weighted. The scored companion to check-page-shell's binary gate; 32% median measured without it, 90% first-draft with it. Every run is appended to the project's docs/PAGE-FIDELITY.tsv — first non-stub row per page = first-build score of record vs the ≥80% target (forward-reference stubs score with --stub, exempt) mdl,gate,review 5 baseline design
assemble-prototype project-bin/assemble-prototype.js After every wireframe edit: assembles design/wireframes/*.html into design/prototype.html, one hash-routed page a stakeholder can click through instead of twenty separate files. Generated, never edited (design-artifacts.md Step 3). Before the Stage 3 sign-off question, review-agent LOOKs at its output at 390/360/320/1280 px (design-artifacts.md Step 3d, obligation prototype-look) architect,review 3 ondemand design
check-prototype-links project-bin/check-prototype-links.js Before wireframes pass to the build loop, and with --brd before a BRD is signed off: dead #/route links, orphan screens, controls with no data-bind and no data-cut, BRD routes no screen has, screens no use case walks (design-artifacts.md Step 3c, brd-validation.md check 8) architect,review 3 ondemand design
module-review skills/module-review.md Is the module done? Reviewing any module before calling it done — the ONE pass, the once-over: build, gate, prove, LOOK (is it logical, does it look right, does it match our design, over every page not just the tested ones), confirm with the denominator stated mdl?,review,test 5,6 baseline build
exec-approval bin/exec-approval.sh Before any mxcli exec / exec.sh / --mcp write — ask or run? the knob decides mdl,gate 5,6 baseline build
context-pack project-bin/context-pack.sh Dispatching a build step to a helper — generate its one-file pack (the brief's Build steps row, mxcli brain brief, live DESCRIBEs, example, folder) and hand over the path instead of a reading list. Measured: 25-38% fewer tool calls and 30-41% less time, same quality; the token saving is not proven mdl 5 ondemand build
testing-shape skills/testing-shape.md Before calling any module tested, or before re-running tests after a change — what testing a module means, which re-runs a change owes (UI-only vs logic lane), and the false-green register of confirmed ways a test reports green over a broken feature test,gate,review 5,6 baseline verify
verify-module project-bin/verify-module.sh Finishing any module — before calling it done. One command that runs every instrument and keeps "instrument faulted" apart from "feature failed"; in a wired project run the installed copy at bin/verify-module.sh mdl,gate,test,review 5,6 baseline verify
mxcli-bugs bug-logs/mxcli-bugs.md Reading a whole class of tool defects (a retest, a new mxcli release, an audit) — for one CE code or symptom use bin/bug-lookup.sh instead; the ledger is too large to read whole mdl,gate 5,6 ondemand diagnose
bootstrap-project skills/bootstrap-project.md Generating a new project's CLAUDE.md — baseline routing plus project-specific facts ba P ondemand spine
cloud-dev-environment skills/cloud-dev-environment.md Setting up or resuming an mxcli project in a cloud/ephemeral container — the one-time setup order (mxcli download → mxcli init → init-project.sh → sources decision → push) and the commit-and-push loop that survives container reclaim all P ondemand spine
existing-app-assurance skills/existing-app-assurance.md Auditing or regression/e2e-testing an EXISTING app — no intake, no stages, no gates test,review 6 ondemand verify
existing-app-change skills/existing-app-change.md Changing an EXISTING Mendix app — adding a feature, altering a flow, restructuring a module — when it has no BRDs, no architecture doc and no wireframes: the knowledge base comes from the live model (Path D), stages 2–4 run over what changes plus what it touches, nothing more, and the Track B regression baseline is the precondition; audit-only stays in existing-app-assurance ba,architect P,0 ondemand spine
decompose-app skills/decompose-app.md Splitting an existing Mendix monolith into several apps — strangler, "move module X into its own app", carving out a slice, microservices from one .mpr; choosing the cut, moving a slice by MPK, accounting for every crossing edge, or reporting the level a slice reached lead,architect,mdl 0,3,5,6 ondemand spine
mendix-service-seam skills/mendix-service-seam.md Wiring a service seam between two Mendix apps — one app's OData or REST consumed by another, replacing a stub by an external entity, joining data that lives in the other app, or choosing keys and auth for an app-to-app service lead,architect,mdl 3,5 ondemand build/integration
app-facts project-bin/app-facts.sh Collecting the facts an app dossier is written from: forces a full catalog build, module edges through the real module column, strongly connected components, describes every loop-containing microflow and parses the loop bodies; exit 2 on a stale, fast-mode or schema-incomplete catalog, never a verdict architect,review 0,6 ondemand architecture
app-analysis skills/app-analysis.md Building or refreshing the standing dossier of an EXISTING app before changing it: inventory, module dependency shape, loop risk patterns, each section with a verdict and a fault where nothing was measured (a standing document; nothing else in the toolkit reads it yet) ba,architect,review P,0,6 ondemand architecture
layering-review skills/layering-review.md Checking whether an EXISTING app's module boundaries still hold: the layer map (bin/app-layer-map.sh) computes the order the modules would stack in and draws only the edges that point back up, so one tangle of N mutually reachable modules becomes a named list of edges with a weight and a ref kind; Stage 3 in existing-app-change mode, and the honest blast radius for a slice architect,ba 0,3 ondemand architecture
module-dependency-review skills/module-dependency-review.md Judging module tangles, bidirectional pairs, cohesion and hubs from analysis/app-facts/dependencies.json; stock graph_module_* views split names on the first dot and are not trusted architect,review 0,6 ondemand architecture
microflow-loop-antipatterns skills/microflow-loop-antipatterns.md Reading what loop bodies do (LOOP_TQ, deferred commit, nested loop, REST in loop, transaction control per item, scheduled-event reachability) from described MDL; the catalog holds top-level activities only and cannot see inside a loop architect,review,mdl 0,5,6 ondemand build/mdl
assess-migration skills/assess-migration.md Assessing or planning a migration up front, before any pipeline is chosen ba 0 ondemand source
migration-pipeline skills/migration-pipeline.md Running the extraction pipeline ba 0,1 ondemand source
rehost-app skills/rehost-app.md Rehosting an existing Mendix .mpr into a fresh app — "port this app to a clean Mendix 11 project", re-platforming or rebuilding a whole app from its own model, running pipelines/mendix-mpr/rehost-extract.sh or reading its fidelity ledger lead,ba,mdl 0,1,5,6 ondemand source
migrate-general skills/migrate-general.md Migrating from a stack that has no dedicated pipeline ba 0 ondemand source
migrate-outsystems skills/migrate-outsystems.md Migrating an OutSystems app ba 0 ondemand source
source-os11 skills/source-os11.md Understanding OutSystems 11 source ba 0,1 ondemand source
os-xml-schema skills/os-xml-schema.md Reading the OutSystems XML export schema ba 0,1 ondemand source
source-node-express-react skills/source-node-express-react.md Understanding Node/Express+React source, its layout assumptions and its gaps ba 0,1 ondemand source
document-discovery skills/document-discovery.md Scanning or classifying an unstructured document folder ba 0,1 ondemand source
extractor-quality-loop skills/extractor-quality-loop.md Validating an extractor's output before its BRDs are trusted ba 0,1 ondemand source
qa-loop-goal-pattern skills/qa-loop-goal-pattern.md Validating a new stack pipeline's extraction quality ba 0,6 ondemand requirements
kb-generation skills/kb-generation.md Extracting Excel/Word/PDF specs into a knowledge base ba 1,2 ondemand source
brd-generation skills/brd-generation.md Writing or enriching a BRD JSON ba 2 ondemand requirements
brd-validation skills/brd-validation.md Validating BRDs against the code and document KB ba 2 ondemand requirements
architecture-blueprint skills/architecture-blueprint.md Diagramming target architecture — module defs, wiring, fit-gap, marketplace, security, NFRs, integrations architect 3 ondemand architecture
modularize-domain skills/modularize-domain.md Deciding module boundaries before "create module" architect 3 ondemand architecture
design-artifacts skills/design-artifacts.md Designing the brand and ONE ANNOTATED WIREFRAME PER SCREEN before building pages — the design system alone is half the deliverable architect 3 ondemand design
process-map skills/process-map.md At Stage 2 close (draft, before the questions are raised) and again after the wireframes (Stage 3 re-render), when a reviewer cannot tell where the open questions and ASSUMED decisions fit: one swimlane map per process, each step on its wireframe, every question pinned to a step (project-bin/process-map.js validate, anchor, build) architect,review 3 ondemand design
interaction-model skills/interaction-model.md Stage 3, after the role model is CONFIRMED and BEFORE THE FIRST WIREFRAME — and any time a page shows ONE object, a menu item or home page is added, or a data source retrieves the current/first record: role homes, inboxes, and per page how it is reached and which object it takes as parameter lead,ba,architect 3 ondemand design
brd-to-build-plan skills/brd-to-build-plan.md Turning BRDs plus architecture into a numbered, dependency-ordered build plan architect 3,4 ondemand requirements
coverage-ledger skills/coverage-ledger.md Building the Stage 4 coverage ledger — every requirement either claimed by a build-plan row or catalogued with a reason, never invisible architect,gate 4 ondemand requirements
coverage-check bin/coverage-check.sh Checking a coverage ledger against its BRD — every scalar leaf CLAIMED, LEDGERED, UNCLAIMED, PHANTOM or DOUBLE-CLAIMED, so coverage is measured rather than remembered architect,gate 4 ondemand requirements
iterative-build-loop skills/iterative-build-loop.md An exec.sh guard refused a write (not a permission prompt), or building a module with mxcli — verified, iterative, coverage-checklist gated; on a refusal: commit, wait or stop, never FORCE_EXEC mdl,gate 5 ondemand build
mdl-cookbook-microflows skills/mdl-cookbook-microflows.md Writing MDL microflow scripts — worked recipes mdl 5 ondemand build/mdl
oneshot-mdl-method skills/build/mdl/oneshot-mdl-method.md Writing a single MDL script that takes a project from nothing to a working vertical slice — execution order, why it is deliberately non-idempotent, the instrument hierarchy, and the silent failures that pass every check mdl 5 ondemand build/mdl
learned-page-patterns skills/learned-page-patterns.md Building and auditing Mendix pages, or starting a UI fix round across many pages — widget patterns, datasource shapes; for a round: SCSS first, four regressions to check mdl 5 ondemand build/pages
learned-multilingual-app skills/learned-multilingual-app.md Adding a second language, a language picker or a translation script — and the moment a language picker errors, shows a blank label or changes nothing: source language, enabled languages, the user's starting language, a switch a non-admin role can use architect,mdl,review 3,5,6 ondemand build
oneshot-page-structure-patterns skills/oneshot-page-structure-patterns.md Generating a whole page tree in one script — the structure patterns that survive it mdl 5 ondemand build/pages
mendix-agents skills/mendix-agents.md Building a Mendix AI agent — the agent is runtime data not a model document, so JSON import, tool microflows, knowledge base chunk loading and the runtime wiring all sit outside MDL, and mxbuild stays green when they are wrong mdl,architect 5 ondemand build/agents
mendix-agent-ui skills/mendix-agent-ui.md Embedding a copilot chat panel — the frame is yours, ConversationalUI owns the conversation; wireframe to tokens to snippet to page placement mdl 5 ondemand build/agents
mendix-agent-setup skills/mendix-agent-setup.md Standing up a project's GenAI agents in any environment — MxCloud key import, model-to-agent binding, KB indexing and the agent-answers-a-question proof are all UI-only (no MDL/SQL path), driven with Playwright; you need the resource keys handed to you as env vars first mdl,test 5,6 ondemand build/agents
conformance-check project-bin/conformance-check.sh Running the ledger rung alone — recompute every stored ledger status against the live model and catch the STALE rows that claim built for something the model no longer has gate,review 5,6 ondemand verify
graph-sweep project-bin/graph-sweep.sh Running the wiring rung alone — a module imported but never reached, an element built but wired to nothing, a boundary crossed; mxbuild and e2e are blind to all three review,gate 5,6 ondemand verify
test-stack-up project-bin/test-stack-up.sh Before any runtime test — brings the stack up unattended and PROVES the thing that answered is this project's app; --check makes it report-only test,gate 5,6 ondemand verify
e2e-harness-base skills/e2e-harness-base.md Standing up or extending the Playwright e2e harness test 6 ondemand verify
learned-db-assertions skills/learned-db-assertions.md Writing DB assertion tests that cross-check UI state against the database test 6 ondemand verify
fixture-seeding skills/fixture-seeding.md Seed data, test data, demo data or fixtures are needed, or pages come up empty — BEFORE a journey run. Explore the data structure, choose rows by use case, scan for reset/delete actions, derive and measure with project-bin/fixture-manifest.sh, interview only the residue, never seed from inside the harness test,review 5,6 ondemand verify
journey-proof skills/journey-proof.md Proving a module's user journey end-to-end — the deep form of step 3 PROVE; use whenever an instrument reports green and you cannot say what would have made it red test,review 5,6 ondemand verify
unhappy-path-testing skills/unhappy-path-testing.md Writing or running e2e cases beyond the happy journeys (blank/whitespace required fields, over-length, duplicates, cancel, double submit, wrong state, wrong role, backend down, stale write, empty search) — every case cites a requirement first, UNSPECIFIED is re-scored against house rules, GAP counts carry the denominator; runs after journey-proof and before monkey-test test,review 5,6 ondemand verify
monkey-test skills/monkey-test.md Running the fuzz/crash net on a module whose journeys are already green — and reading the result, which is NOT evidence the module works test,review 5,6 ondemand verify
load-test skills/load-test.md Load, performance or stress testing a page ("will it hold 1000 users", concurrent users, k6, JMeter) — record the real /xas/ calls with Playwright and replay them instead of correlating tokens by hand, and report what the number does NOT prove (requests vs users, empty data, whose limit was hit) lead,test,review 5,6 ondemand verify
unit-test skills/unit-test.md Writing or running a microflow unit test (.test.mdl, mxcli test, @expect) once the project or the user has decided a flow gets one — what is worth a test, equality-only asserts, --list before any run, a scratch copy so the live app survives, and a positive control that must fail lead,mdl,test,review 5,6 ondemand verify
e2e-locators-that-lie skills/e2e-locators-that-lie.md An e2e rung reports a UI defect (widget never appeared, click did nothing, screen contradicts the data, fixture count wrong) — check the locator before blaming the app: :visible, click order, poll, derived fixtures test,review 5,6 ondemand diagnose
learned-skill-ux-audit skills/learned-skill-ux-audit.md UX audit and screenshot-loop discipline review 6 ondemand verify
learned-skill-scope-delta skills/learned-skill-scope-delta.md Tracking scope delta between the BRD and the built state review 6 ondemand verify
company-brain skills/company-brain.md Setting up or wiring a COMPANY BRAIN — the private tier between the toolkit and a project for own skills, conventions, lint rules, MDL snippets and approved MPKs; and deciding whether something goes to the toolkit, the company brain or docs/brain/ all - ondemand spine
close-the-loop skills/close-the-loop.md Cutover and retrospective — promoting proven patterns back into the toolkit all 7 ondemand spine
report-schema skills/report-schema.md Writing or reading docs/report.json — the append-only contract every instrument writes to and every renderer reads; open BEFORE building a new instrument or a second renderer test,review,gate 5,6 ondemand verify
harness-architecture skills/harness-architecture.md Installing, extending, debugging or porting the verification harness — which part owns what, which parts run standalone, and what a missing part must report test,review 5,6 ondemand verify
measured-claims skills/measured-claims.md Before citing ANY behavioural claim about the harness, the Mendix runtime or a test tool as evidence, or counting tokens from transcripts — a claim not in the register may not be cited all - ondemand spine
tool-output-is-not-ground-truth skills/tool-output-is-not-ground-truth.md Any time an exit code, a tool's output or a subagent's report is about to become a stated finding — verify before you conclude all - baseline diagnose
agent-permission-friction skills/agent-permission-friction.md Any refused, denied or blocked command — BEFORE rewriting a permission rule and before telling the user a tool is blocked. A rule matches the START of the command line, so an allowlisted tool prefixed with cd matches nothing all - ondemand diagnose
process-coherence-pass skills/process-coherence-pass.md Checking whether the whole journey hangs together rather than each piece — finds correctly-built components nothing reaches, which per-element conformance and UI tests both miss review 5,6 ondemand verify
coherence-cadence project-bin/coherence-cadence.sh After every module's CONFIRM stage — counts proven modules since the last cluster/full coherence pass and exits DUE once the threshold is reached, so the cadence isn't left to memory mdl,gate,review 5,6 ondemand verify
build-plan-status project-bin/build-plan-status.sh After marking a module done, or any time "how much is built vs proven" is asked — renders progress-report.html from done- prefixes and verify-module.sh/improvement-register.md, kept as two honestly separate views; --json writes architecture/build-plan.json parsed from build-plan.md's Phase headings (a plan with no Phase headings gets no file); --refresh keeps an existing build-plan.json current but never creates one architect,gate,review 4,5,6 ondemand build
e2e-evidence-report skills/e2e-evidence-report.md Turning an already-rigorous run into a narrated proof a stakeholder can trust without running anything test,review 6 ondemand verify
record-demo-video skills/record-demo-video.md Recording a narrated screen-capture demo of a running app for a human to watch — opening on the app instead of a blank frame, and keeping captions synced to the pixels test 6 ondemand verify
demo-recording-polish skills/demo-recording-polish.md A demo film someone will watch looks captured, not produced — 25 fps smear, scroll jumps, no visible pointer, a dense page nobody can read: 2x CDP screencast at 60 fps, drawn cursor and click ripple, eased scroll, and a zoom rendered afterwards from the click log (never a CSS transform in the page) test 6 ondemand verify
live-demo-autopilot skills/live-demo-autopilot.md Running a customer demo LIVE instead of a video — Playwright drives the real app through scripted scenes with captions and a control panel (pause and take over, redo, skip); off-screen or tile sign-in, session expiry, the 2.5 h trial-licence stop and the 6-session cap test 6 ondemand verify
share-demo-package skills/share-demo-package.md Sending a demo guide, screenshots or a quickstart doc OUTSIDE the repo — to a customer, prospect or reviewer: relative image paths and "the name shown above" both break the moment the file travels alone, and the usernames a login panel displays are not the ones it accepts test,review 6,7 ondemand verify
mpr-corruption-and-sp-load-errors skills/mpr-corruption-and-sp-load-errors.md Studio Pro will not load the project, or the .mpr looks gutted — recover before relaunching SP, never git checkout mdl,gate - ondemand diagnose
lint-gate project-bin/lint-gate.sh Running lint as a gate rather than a report — per-rule ratchet against a committed baseline, plus the crash and collapse guards that stop a blind rule passing mdl,gate 5,6 ondemand verify
lint-that-actually-runs skills/lint-that-actually-runs.md Reading a lint result, or writing/repairing any .star rule — lint's failure mode is a confident clean pass, so 0 findings is a claim needing evidence gate,review 5,6 ondemand verify
improvement-register skills/improvement-register.md Any review pass that runs more than once — module-review, coherence, monkey, wiring-sweep: findings accumulate across runs, a per-run report cannot show a trend mdl,gate,test,review 5,6 ondemand spine
journey-examples skills/journey-examples.md Writing an actual .journey.json — the worked field-by-field reference for the contract journey-proof.md argues for test,review 5,6 ondemand requirements
wiring-sweep skills/wiring-sweep.md Every module before it is called done; buttons, links or actions that do nothing when clicked — does every clickable thing actually do something; run AFTER the happy-path journey is green, never before mdl,test,review 5,6 ondemand verify
learned-workflow-patterns skills/learned-workflow-patterns.md Writing or debugging a Mendix native Workflow (CREATE WORKFLOW/USER TASK/OUTCOMES) — syntax, the 11 workflow microflow statements, DECISION vs CALL MICROFLOW, and the two corruption classes (binary-version $Type, and create-before-reference) mdl 5 ondemand build/workflow
workflow-structure-rules skills/workflow-structure-rules.md Designing or reviewing a Workflow's SHAPE before or after the MDL — where a path may end, boundary event vs event sub-process, parallel-split limits, outcome minimums, targeting from the sentence, multi-user decision methods, which edits break running instances; and any CE6689/CE1844/CE1845/MW0012 after a clean mxcli check architect,mdl,review 3,4,5,6 ondemand build/workflow
rest-integration-first-time-right skills/rest-integration-first-time-right.md Building a REST integration (consumed or published) for the first time on a project — the checks that avoid a rebuild after the first live call mdl 4,5 ondemand build/integration
rest-between-mendix-apps skills/rest-between-mendix-apps.md App-to-app REST or microservices: two or more Mendix apps you build that read each other over REST — before the contract, before the first consumer, and before calling an API tested: pull vs push, key+version rule, auth in the operation microflow (BUG-152), honest last-success/stale/"as of", one owner per fact, and the six-rung cross-app test ladder with its per-change/slice/release cadence architect,mdl,test,review 3,4,5,6 ondemand build/integration
multi-app-system skills/multi-app-system.md A SYSTEM of two or more Mendix apps — a second app joins, a decision (IdP, SSO, contract, shared module, persona list) binds more than one app, or several agent sessions build apps of one system: the system register (apps + owners, contracts + status, shared assets, mirrored cross-app decisions), one writer per .mpr, handoffs, SSO and service accounts across apps lead,architect - ondemand architecture
multi-app-release skills/multi-app-release.md Releasing or deploying a change that CROSSES apps — a published contract going to v2 (which order publisher and consumers deploy in), a shared module (MPK) update, or seed data used by more than one app: before the first app is changed and before the release order is written; version + content hash per app, expand/switch/contract order from contract links, Catalog one-definition-per-version, run-once data migrations, pre-release checklist lead,architect,mdl,review - ondemand build/integration
contract-check bin/contract-check.sh Changing anything a published contract exposes — an entity, attribute, microflow or service behind a published OData, REST or business event service — in an app that another app consumes: before exec and before merge, run bin/contract-check.sh check (and --impact <app>:<Module.Element>) over the system registry; mxcli impact/refs do not see OData exposure architect,mdl,review 3,5,6 ondemand build/integration
mendix-epics-api skills/mendix-epics-api.md Working with the Mendix Epics board programmatically — creating/reading stories and epics, updating workflow state, or integrating BRDs with the portal ba,architect P,0 ondemand reference
bug-submission-checklist skills/bug-submission-checklist.md Preparing an mxcli/Studio Pro bug for submission — scope pinning, read-back-vs-write-path verification, gate-sensitivity negative controls, severity scoping, before it's called filable mdl,gate,review 5,6 ondemand diagnose
upstream-feedback skills/upstream-feedback.md About to open an issue, PR or discussion against mxcli or the toolkit — before drafting, choosing which repo and vehicle it belongs to all - ondemand diagnose
empty-widget-triage skills/empty-widget-triage.md A page/grid/list/combobox renders or shows empty ('0 to 0 of 0', blank cells, zero rows, zero options) during UI review or an e2e run — before assuming a single cause (seed, access rule, datasource, binding) mdl,test,review 5,6 ondemand diagnose
doctor-triage skills/doctor-triage.md doctor.sh reports FAIL or WARN, or someone asks whether a red setup line blocks them — check what is actually on the machine before naming a fix; a wrong-arch binary, a missing one and a broken self-check all read the same all - ondemand diagnose
sandbox-ab-tool-defect-probe skills/sandbox-ab-tool-defect-probe.md Suspecting an mxcli/mxbuild tool defect and deciding whether to swap a binary — proving it's version-specific without risking the real model mdl,gate - ondemand diagnose
restart-sp-reopen-and-hang-detection skills/restart-sp-reopen-and-hang-detection.md Restarting Studio Pro on macOS — the reopen bug, the port bug, and detecting a real hang vs a slow load mdl,gate - ondemand diagnose
learned-sidebar-collapse-icons skills/learned-sidebar-collapse-icons.md Building or auditing a collapsible sidebar nav — Atlas Core's collapsed state needs icons assigned per menu item or it silently clips label text mdl 5 ondemand build/pages
learned-popup-navigation skills/learned-popup-navigation.md Writing a popup page's microflow with a retry/validation-failure branch that re-shows the same popup — missing close page stacks duplicate dialogs mdl 5 ondemand build/mdl
learned-datagrid-customcontent-binding skills/learned-datagrid-customcontent-binding.md Writing MDL for a datagrid column with ShowContentAs customContent that needs to display a bound value mdl 5 ondemand build/mdl
learned-popup-feedback-pattern skills/learned-popup-feedback-pattern.md Writing ANY microflow behind a button that commits, completes a workflow task, or triggers a backend flow — popup or full page: it owes the user a message, a close, and a control that stops offering the action once done mdl 5 ondemand build/mdl
corpus-extraction-integrity skills/corpus-extraction-integrity.md Extracting structured requirements from a large delivered document corpus into per-scope knowledge-base files ba P,0,1 ondemand requirements
anonymize-client-app-for-demo skills/anonymize-client-app-for-demo.md Turning a client-derived Mendix app into a clean, shareable demo with zero client fingerprint — branding, data, custom widgets mdl,review 6 ondemand build
field-run skills/field-run.md Driving the whole toolkit pipeline on a real source to find what the written skills don't say — the toolkit is the subject, not the app it builds all - ondemand diagnose
learned-mdl-cannot-express skills/learned-mdl-cannot-express.md Before a wireframe or a design commits to a WIDGET, when a requirement shows a widget to one role and not another, and when a page script hits a parse error that looks like a syntax mistake: the short list of things MDL cannot write at all, and the four-minute probe that answers it at Stage 3 instead of at build time architect,mdl 3,5 ondemand design
learned-css-that-never-applied skills/learned-css-that-never-applied.md A CSS/SCSS or style change that appears to have done nothing (a colour or class that won't show), a focus ring or outline that paints on every page landing or load, or an app still grey after a design port every instrument called green — the three ways a correct rule paints nothing (matches nothing / matches chrome / loses the cascade), the two reads that tell them apart, and the class that arrived in the stylesheet and is bound to no widget mdl?,review,gate 5,6 baseline design
learned-detection-gaps skills/learned-detection-gaps.md Before trusting a green check/exec/DESCRIBE result as proof, or when a runtime symptom appears over a fully green model — the register of constructs that pass early rungs and fail later ones mdl?,gate,review 5,6 baseline diagnose
learned-dg2-patterns skills/learned-dg2-patterns.md Building or altering any data grid — native DATAGRID vs pluggable DG2 decision rule, the ALTER PAGE INSERT corruption, sort-by and filter-binding traps mdl 5 ondemand build/pages
learned-file-upload-widget skills/learned-file-upload-widget.md Putting any file upload / attachment / document field on a page, an uploader page failing mx check with CE0463, or an uploader DESCRIBE that will not re-execute — the File Uploader MDL shape proven end to end on v0.23 and v0.24, the widgets mxcli cannot author, and the upload instrument mdl,test 5 ondemand build/pages
security-is-not-a-later-script skills/security-is-not-a-later-script.md Creating any entity, or calling a module security-ready — entity and grants land in one script, and ready means SHOW SECURITY MATRIX proves it mdl?,gate,review 5 baseline build/security
scriptable-sp-verification skills/scriptable-sp-verification.md Needing Studio Pro load evidence without a human at the GUI — direct-binary launch and log capture; a capture technique, NOT a validated pass/fail oracle mdl,gate - ondemand diagnose
learned-local-db-confusion skills/learned-local-db-confusion.md A runtime test or seed reads/writes data that then is not there (the test wrote a row, the DB query shows nothing), or vice versa — three local Postgres instances can answer on this box; resolve the real port from the project's own compose file first mdl,test,gate 5,6 ondemand diagnose
gate-check-file-locations skills/gate-check-file-locations.md gate-check.sh reports a Stage 0 file not found that plainly exists — ANALYSIS_BASE falls back to project root until Stage 1; move the file, do not debug the script ba,gate 0 ondemand diagnose
full-harness-audit skills/full-harness-audit.md The user asks for a full end-to-end test, a click-through proof, or does-everything-actually-work — or you are unsure which harness skill applies; this one routes you test,review 5,6 ondemand verify
test-result-audit skills/test-result-audit.md End of any build+test cycle that wrote docs/report.json — did the testing itself hold up, not just get filed; one level up from finding-disposition test,review 5,6 ondemand verify
finding-disposition skills/finding-disposition.md Any report from a test/review run is about to be published — no report ends without a disposition for every finding test,review,gate 5,6 ondemand verify
wizard-walkthrough skills/wizard-walkthrough.md Handing the human a batch of steps only they can perform (Stage 7 cutover, browser-only GitHub settings) — generate a paced confirm-and-verify walkthrough script instead of a prose checklist; hypothesis under trial, no field run yet gate,review P,7 experimental verify
# THE skill-routing table — the single source of truth for every routing surface.
#
# Routing a skill used to take six coordinated edits (README's two tables, the runbook row,
# init-project.sh's CLAUDE.local.md heredoc, gate-check.sh's stage map, the agent templates)
# plus a seventh copy inside every project's CLAUDE.local.md that no script could update.
# Measured on 2026-08-18, before this file existed: 17 of 43 skills were routed by NOTHING a
# project agent reads; facts-lock.sh reached 1 of 6 wired projects; agent-roles.md and
# source-triage.md reached 1 each. Every skill added since had silently become the eighteenth.
#
# Edit THIS file, then run: bin/render-routing.sh
# CI / gate: bin/render-routing.sh --check (exit 2 == a surface has drifted)
#
# Format: TAB-separated, seven columns. Blank lines and #-comments ignored.
# 1 name stable id (basename without .md/.sh)
# 2 path repo-relative path of the thing to load
# 3 when one line: "always relevant for ..." — the trigger, not a description
# 4 agents comma list of lead|ba|architect|mdl|gate|test|review, or "all" ("all" includes lead).
# lead = the main session: it dispatches helpers, runs gates, asks the user. It has
# no agents/*.md stub, so a lead-only row renders into no stub on purpose. Helpers
# never read a row that does not name them — the project baseline view carries a
# Role(s) column for exactly that (added 2026-10-05: before it, the view filtered by
# stage only, so a Stage 5 page helper was pointed at the lead's, the tester's and
# the reviewer's rows too — process/context-cost-research-2026-09-30.md §1).
# 5 stages comma list of P,0,1,2,3,4,5,6,7 (conversion-runbook stages), or "-" for none
# 6 tier baseline (always-on: goes into every project's CLAUDE.local.md)
# ondemand (situational: load when the task calls for it)
# experimental (under trial: routed and discoverable, but _routing_stage_arm skips
# it on purpose, so a skill nobody has proven yet can never be the
# reason a gate fails)
# 7 group which question the skill answers, NOT what kind of thing it is. One of:
# spine what am I doing, who decides, how do I ask
# source reading a legacy system (migration entry mode only)
# requirements what must be built
# architecture how it is shaped
# design how it looks, before any MDL
# build authoring the model — the loop itself
# build/mdl the MDL language and tool reference
# build/pages page-building patterns
# build/agents Mendix AI agents — the agent document, tools, KBs, chat UI
# build/workflow / build/integration / build/security (declared, still empty)
# verify does it work
# diagnose something is broken and it may be the tooling
# reference lookup tables, not method
# The set is CLOSED — routing_validate_groups() rejects anything else, because a
# typo would otherwise render as a real fourteenth group nobody notices.
#
# Added 2026-08-20. Several build/* groups started empty on purpose: a flat list of
# 62 skills hid the fact that this toolkit said nothing at all about workflows,
# REST, agents, grids or build-time security. The empty group is the finding — and
# it works: build/workflow, build/integration and build/agents were each filled by
# a skill written because the empty heading made the hole visible.
#
# Groups order the RENDERED tables (ROUTING.md, README's situational table). The
# baseline views are NOT grouped by this column — sub-headings would imply a
# selectivity the group column does not carry for baseline rows. They ARE sliced by
# column 5 (stages): the rendered baseline table carries a Stage(s) column, and a
# session reads a row only when its stage cell says "every stage" (column 5 was "-")
# or names the stage the project's register says it is in. That slicing comes from
# the stages column already on every row, so adding it did not require touching a
# single baseline row — only the renderer.
#
# TSV rather than a markdown ROUTING.md because a renderer has to parse this in bash 3.2 on
# macOS, and several "when" strings contain the "|" that a markdown table uses as its column
# separator. ROUTING.md at the repo root is the human-readable view — rendered FROM here, so
# it can never disagree with what the scripts install. Kept in bin/lib/ next to
# install-manifest.sh (the same one-manifest-N-readers precedent) and deliberately NOT in
# skills/, which gate-check.sh treats as PROTOCOL_PATHS: a data file there would trip a
# protocol-staleness ack on every routing edit.
#
handoff-to-studio-pro skills/handoff-to-studio-pro.md Handing a headless-built model to a person — opening it in Studio Pro, a free sandbox, or a colleague's machine: the model travels, the demo data and runtime config (keys, an agent's bound model) do not, and each needs its own re-establish step test,review 6,7 ondemand build
ts-sync project-bin/ts-sync.sh Sharing the project with a colleague on Mendix Team Server while the build loop stays on GitHub — content-transplant snapshots between the two clones (status/push/pull); SUPERSEDED by platform-link.md §3 (adopt without rewriting history, field-proven) — only if that path fails; UNPROVEN against a real Team Server mdl,gate 6,7 experimental build
preview-over-hub-tunnel skills/preview-over-hub-tunnel.md Exposing a container-run app at a public URL (mxcli run --hub) — demo/stakeholder preview: the db-name default trap, the runtime REST client ignoring JVM proxy settings (GenAI 403 "Host not in allowlist" that is really a proxy bypass), and stale-app detection test,review 5,6 ondemand verify
run-hub bin/run-hub.sh Starting a hub-tunnelled preview with the flags outbound calls actually need — wraps mxcli run --hub with db-name and the runtime proxy settings from preview-over-hub-tunnel.md test 5,6 ondemand verify
walking-skeleton skills/walking-skeleton.md Stage 5 start, before the first module of any entry mode — one entity, flow, page, nav, demo user, journey and screenshot proven in the running app, so build/run/look/test are known to work before a module depends on them mdl,gate,test 5 ondemand build
bug-lookup bin/bug-lookup.sh A CE error (mx check or mxbuild: CE0066, CE0117…), a cited BUG-n, or behavior that looks like a known mxcli quirk rather than a modeling mistake — `bin/bug-lookup.sh CE0117` / `BUG-102` / "keyword" / the whole pasted error message (ranked top 3) prints the matching ledger entries, so the session reads one entry, not the whole ledger mdl,gate 5,6 baseline diagnose
file-bugs bin/file-bugs.sh You hit, or worked around, a bug in mxcli or the toolkit, or log a FINDINGS.md entry about either — `bin/file-bugs.sh` (the `--add` line is in learned-detection-gaps.md) keeps docs/bugs.jsonl, redacts, shows duplicates, files with `--auto` when PROJECT.md says `Bug filing: auto`, else only a human files (`!`, `--file PBUG-NN`, y/N, denied to agents), or prints new-issue links (`--links`, `--json`) mdl,gate 5,6 baseline diagnose
status bin/status.sh The first command of every session, and any time someone asks "where are we" or "what next" — one screen: stage, done/overdue, the ONE next action, from the instruments, never from memory all P,0,1,2,3,4,5,6,7 baseline spine
platform-link skills/platform-link.md At project birth (before the first build script) and any time a model needs a platform home: creating the Team Server app, adopting an existing GitHub-born model into it without rewriting history, or deploying; also when the Platform SDK returns 403, git rejects the PAT, a deploy cannot be triggered from a PAT, or the app turns out to be a Free App all P,5,6,7 ondemand build
teamserver-alignment skills/teamserver-alignment.md Any session that will push a model to Mendix Team Server, and BEFORE telling the user a Team Server push is blocked — which remote is authoritative, settle-then-push order, and the four checks that have to fail first mdl?,gate,review? 5,6,7 baseline build
retesting-learned-rules skills/retesting-learned-rules.md Before obeying any learned-* STOP or workaround that costs a detour — probe the binary you actually have, then stamp the verdict back into the rule all,mdl? - baseline spine
deploy-to-sandbox skills/deploy-to-sandbox.md Promoting an app to a deployed sandbox or cloud node, or before a customer tests a deployment — "it works locally" is not evidence about a deployment; also when a test suite fails only against the remote URL all 7 ondemand build
learned-constants-and-secrets skills/learned-constants-and-secrets.md Adding a constant, installing a marketplace module, deploying to a new environment, or needing a Mendix PAT — where an encryption key, API credential, endpoint or access token gets its value, why a free node has only one channel, and why a token missing from the files you grepped is not missing mdl,architect,gate 4,5,6 ondemand build/integration
constants-audit project-bin/constants-audit.sh Before any first deploy to a new environment, and after installing or updating any marketplace module — which constants would be blank where nobody can set them, and which now carry a secret in the model. Never prints a value mdl,gate,architect 5,6 ondemand verify
speed-setup skills/speed-setup.md The user says the toolkit, an exec or the gate is slow, or asks to update the toolkit, run doctor and check whether it can be faster on their machine (werk de toolkit bij, draai doctor, controleer of het sneller kan) lead - ondemand diagnose