ADR-0112 — Two-tier skills: a framework-free universal catalog, a Suspec-coupled kit
- Sections
- 4
- Format
- Markdown
- Order
- 148 / 156
Context
ADR-0111 drew the kit/catalog line as "Suspec-concept builders + core-loop
methods → kit; styles / stances / depth → catalog." That made the catalog a catch-all and left the
catalog's skills shot through with Suspec concepts — most reference spec / task packet /
review packet / AC, and adversarial-review even bundled a type: review packet template. A skill
that names a Suspec artifact cannot be installed and used in a non-Suspec repo, which defeats the whole
point of an installable catalog. A research pass (deep-research, 105 agents, 19 confirmed claims) also
established the adopted-skill anatomy: a skill earns use by changing a default (not restating one),
fitting one purpose, triggering off its description, explaining the why over all-caps
imperatives, staying <500 lines with progressive disclosure, and accreting a Gotchas section —
over-specification measurably hurts ([[AGENTSMD-HARM]]).
Decision
Partition skills by coupling, as a binary — there is no middle tier.
-
The universality test. A skill is universal iff its body and its bundled files name zero Suspec concepts — no
spec,task/ task packet,review/ review packet,finding, acceptance criterion /AC,## Execution,type: spec|task|review, status board, orSPEC-/TASK-/REVIEW-id, and no citation of a Suspec ADR (an ADR reference is itself a coupling smell). The moment it names one, it is a Suspec skill. -
Placement is the binary. Framework-free → the catalog (suspec-skills): the universal disciplines and stances, installable into any repo (
npx skills) with zero Suspec knowledge. Suspec-coupled → the kit (.agents/skills/): every skill that operates a Suspec concept — the artifact builders, the core-loop methods, and thewrite-*task-implementation depth. -
The kit is an always-core + an opt-in Suspec-depth group. The minimal core (the loop + the always-needed authoring) ships first; the
write-*kind-specialised implementers are opt-in depth an adopter prunes or ignores (progressive disclosure keeps their always-on cost ~one description each). This is ADR-0105 stretch-collapse applied to skills: depth is summoned, not forced.
Level: convention.
Consequences
- The catalog becomes genuinely universal — a developer with no Suspec install gets the ultimate versions of the fundamental disciplines (review, the stances, evidence, concision, flaky-test).
- The kit holds every Suspec-coupled skill in one home (no homeless "Suspec-coupled depth").
- Moves:
write-feature/-fix/-refactor/-rewrite/-migration/-performance/-testing/-documentationrelocate catalog → kit; the catalog's long-formimplement-taskfolds into the kit's. The universal set (adversarial-review,persona-skeptic/-challenger/-surveyor,empirical-proof,concise-output,fix-flaky-test) is stripped framework-free —adversarial-reviewloses itstype:reviewtemplate (its Suspec review-packet building already lives in the kit'sreview-output). - The anatomy upgrades (Gotchas, explain-why, behavior-changing) apply to both tiers.
- Migration tail: the relocation is mechanical; no artifact format changes.
Affected obligations / constraints
- Refines: ADR-0111 (catalog = universal-only, not the catch-all; Suspec-coupled depth is kit-side) and ADR-0064 (kit = always-core + opt-in Suspec-depth group). Reaffirms: ADR-0105 (depth is a dial), ADR-0093, single-sourcing. Grounded by: [[AGENTSMD-HARM]] (over-specification harm) + the deep-research skill-anatomy synthesis.
- Does NOT change: the artifact formats, the core loop, the verdict model, or the checks contract. Accepted ADRs 0064/0111 are refined here, not edited in place (Nygard immutability).
Starter kit: Set up a workspace