Use when creating a new module from the project's canonical layout — a new service, MCP module, agent, or migration. Fires on: "add a new module", "scaffold a service", "new MCP module", "new agent", "new migration". Copies the canonical layout, wires it in, and runs check-drift so no coupled artifact is forgotten.
SkillScore77Maintained
Automatic
◆Coding pack
Last verified 8/16/2026
What it changes
Passed 13 of 17 test cases with the skill, and 6 of 17 without it.
Without skill36%
With skill77%
Checks it passed that the model alone missed
Includes drift couplings detected by check-drift.
States that both a golden test and an end-to-end test apply.
Includes a manual checklist of remaining implementation tasks.
and 7 more in the full report
9 fixed8 passed either way5 still failing0 broke
Pass-rate lift
+41 pp
Tokens
-21%
Agent turns
0%
Response time
-42%
Model gemini-3.6-flashMeasured 8/16/2026v217 of 22 cases passed with skill · 17 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 8
Prompt
I am about to write files for a new service `auth-proxy`. What specific project file should be checked first to locate the canonical reference module?
What was checked, without and with the skill
Checked
Without skill
With skill
Checks plans/PATTERNS.md as the primary pointer for canonical module definitions.
Missed
Passed
case-18 · gemini-3.6-flash · 8/16/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md38 linessingle file
new-module — scaffold from the canonical example, then reconcile
Do not re-derive a module's layout by reading a sibling wholesale. Start from the
project's designated canonical example and copy its shape.
Procedure
Find the canonical example: read the project's patterns pointer (e.g.
plans/PATTERNS.md) which names the canonical module for this kind. If none
exists, ask the user which existing module to mirror.
Copy the layout: replicate the directory structure, build file, and
required boilerplate from the canonical example. Substitute the new name
everywhere (package, artifact id, resource paths, ports).
Reuse shared code — don't clone a sibling's: copying a sibling module is for
layout, not for its outbound clients / helpers. Before writing a client to a
shared capability or platform service, check the project's shared library layer
for an existing one and bind that. If none exists yet and a second module now
needs it, lift it into the shared layer rather than pasting a second copy —
the second consumer is what promotes shared code (the "second-consumer rule").
A capability client duplicated across modules is drift a copy-friendly scaffold
invites; catch it here.
Register it: add the module wherever the project expects it (root build
file / module list / compose file / plan index).
Reconcile: run the check-drift skill immediately. A new module fires
several couplings (compose, root README layout, module README, architecture,
index, env vars) — let check-drift enumerate them rather than trusting memory.
Contract stubs: create the module's README with its purpose, port, env,
endpoints/tools, and a one-line index of key classes — the README is read
before the source, so it must exist from birth.
Test surface: if the module has an LLM surface, add a golden test; if it
introduces a cross-service wire contract, add an end-to-end test. State which
applies.
Output
The created paths, the couplings check-drift flagged, and a checklist of what the
user must still fill in (real logic, real env values). Never claim the module is
"done" — it is scaffolded.