🧬 2026-08-30 skill distillation

Historical record — 2026-08-30

Preserved as observed. This is the standing reason the bench carries its own two skills; a later choice creates a new dated record naming this one rather than editing this page. Current work state: Program masterplan.

Decision

QuizWizz bench work needs a written change discipline and a shared vocabulary that survives a fresh agent. Two bench-local skills, qwizz-shared-language and qwizz-fix-loop, were distilled from excerpts of github.com/mattpocock/skills (MIT) into .omp/skills/, instead of installing the upstream set verbatim. The reason is that upstream skills assume mainstream trackers and present TypeScript-flavored stack examples, while this bench needs its own vocabulary, TAP and browser gates, stage-and-install protocol, and releaseEligible: false framing.

Considered options

  • Verbatim plugin install (claude plugins install mattpocock-skills): the upstream README describes this path as a managed, read-only bundle that updates when upstream ships. Rejected: bench laws cannot be written into a read-only bundle, and an upstream update could change a gate without a bench record.
  • Full editable install (npx skills@latest add mattpocock/skills): copies the chosen skill files into the repo as editable files. Rejected: it imports a large surface — the upstream skills/engineering/ and skills/productivity/ families — where two named skills are needed, and each installed skill still assumes the setup interview was answered.
  • Research only, no skill files: read the upstream material and carry the discipline in conversation. Rejected: the discipline then does not survive a session boundary, which is the failure the vault exists to prevent.
  • Chosen: two distilled skills that carry the bench anchors inline, so no setup interview and no upstream update sits between an agent and a gate.

Evidence

Upstream, read 2026-08-30 from github.com/mattpocock/skills:

  • licence MIT, reported by the GitHub repository API; primary language Shell.
  • the README documents both install paths above and a /setup-matt-pocock-skills run, once per repo, that asks which issue tracker to use (GitHub, Linear, or local files), which labels triage applies, and where docs are saved.
  • .out-of-scope/mainstream-issue-trackers-only.md states that “Every issue-tracker backend hard-codes a CLI shape into the skills (commands, flags, output parsing)”, that first-class support is limited to mainstream trackers, and that the escape hatches for anything else are local markdown or other/custom.
  • skills/engineering/tdd/tests.md presents every good and bad test example in a typescript fence and uses Jest-style test(...) and expect(...); that advice is useful, but its examples do not encode this PHP/WordPress bench’s shell, container, and browser gates.

Bench facts that make those three answers pre-decided, read 2026-08-30:

  • mirror and tracker: scripts/qwgit.sh operates the loca/quizwizz mirror at git.omp.loca.zone through a detached git dir, so the tracker is a self-hosted Gitea rather than an upstream first-class backend.
  • shell gate: scripts/quizwizz-probe.sh:8,14 accepts --wave 1|2|3|4|5|6|7|8|9|10|all and nothing else; the standing full-run result is TAP 1..76 with assertions=76 failures=0 (probe harness :35, :266).
  • browser gate: scripts/quizwizz-browser-smoke.js, run with cache disabled.
  • versions the skills pin: QUIZWIZZ_VERSION 1.10.0 at wp/wp-content/plugins/quizwizz/quizwizz.php:22, schema 1.6.8 at includes/Installer.php:20.
  • docs location: q5vault/audits/qwizz/, validated only with /home/loca/dev/wikis/build.sh wrdp --check-only.

The two distilled skills, as installed:

  • .omp/skills/qwizz-shared-language/SKILL.md, 168 lines — authority map at :10-16, bench anchors at :18-32, the CONTEXT-style page format at :79-104, the seeded glossary at :106-117, and the three-test decision-record threshold at :119-144.
  • .omp/skills/qwizz-fix-loop/SKILL.md, 180 lines — five gated phases: diagnose :21, specify :47, implement :80, verify :109, review and handoff :133.

Provenance

Provenance stays in the skills. Each file ends with a Provenance section listing the upstream skill files its rules were drawn from: qwizz-shared-language/SKILL.md:159-168 names eight, including skills/engineering/domain-modeling/CONTEXT-FORMAT.md and ADR-FORMAT.md; qwizz-fix-loop/SKILL.md:171-180 names eight, including skills/engineering/diagnosing-bugs/SKILL.md and skills/engineering/tdd/SKILL.md. Those footers carry upstream paths only, so the repository, its MIT licence, and the reason for distilling rather than installing are recorded here.

Not verified: the full upstream skill corpus was not read line by line for this record. The stack claim is limited to the directly inspected TDD skill and its all-TypeScript companion examples; the choice does not claim every upstream rule is TypeScript-specific.

Consequences

Vocabulary now has one authority: QuizWizz shared language, created the same day and seeded from the glossary at .omp/skills/qwizz-shared-language/SKILL.md:106-117. The fix loop’s evidence still lands in the existing places — current scope in the masterplan, executable proof in the probe harness, point-in-time findings in dated pages. This record changes no plugin file and authorises no release; bench patches remain releaseEligible: false.