Skills: fold in four external-skills-review borrows; record the comparison memo

This commit is contained in:
2026-07-04 16:57:57 +03:00
parent 74b810f8c9
commit acf14a8b13
4 changed files with 97 additions and 1 deletions
+73
View File
@@ -0,0 +1,73 @@
# External skills repos review — mattpocock/skills and github/spec-kit
_Point-in-time record, 2026-07-04. Both repos are shallow-cloned under
`/Users/oleh/code/reference/` (`mattpocock-skills/`, `spec-kit/`) for grepping._
## Question
Do the general-purpose engineering-robustness skill sets — mattpocock/skills and
github/spec-kit — contain anything our project skills (`/alignment`, `/eng-council`,
`/council`, `/doc-update`) should adopt? Constraint: fold single additive ideas into
existing skills; never install a parallel framework.
## Verdict
Neither repo is worth adopting wholesale. Our set covers the same ground with more rigor
because it is project-specific and evidence-grounded where theirs is generic. Four
discrete ideas were folded in (all from mattpocock/skills or shared with spec-kit);
everything else was already covered or rejected.
## The three approaches
- **Ours** — a closed-loop system: `/alignment` enforces numbered project-specific checks
per diff; `/eng-council` and `/council` review from altitude under a hard evidence
requirement (file:line, tool output, cited canon); recurring findings promote into
architecture rules and new alignment checks. Built around the code-leads /
descriptive-spec regime and a deletion bias (LOC delta per finding).
- **mattpocock/skills** — small composable per-task disciplines: grilling (relentless
one-question-at-a-time plan interviews), TDD, a bug-diagnosis loop, two-axis code review
(repo standards + Fowler smell baseline vs. originating spec), domain modeling
(`CONTEXT.md` glossary + ADRs), deep-module design vocabulary (Ousterhout/Feathers).
Same anti-framework philosophy as ours; its README positions against spec-kit explicitly.
- **github/spec-kit** — a heavyweight spec-first pipeline (constitution → specify →
clarify → plan → tasks → analyze → implement → converge), seven-plus artifacts per
feature, gates between phases. Its thesis — the spec is the primary artifact, code its
expression — is the inverse of our regime, and it assumes greenfield feature branches,
team role separation, and business-stakeholder specs. Even `converge`, its only
code-vs-artifacts mode, treats undocumented code behavior as scope creep to justify or
remove, where our regime says the code is right and the spec gets rewritten.
## Folded in (2026-07-04)
| Idea | Source | Landed in |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | --------------------------------- |
| Reproduce-before-theorizing debugging discipline: red-capable repro command before any hypothesis; minimize; regression test before fix; prefix-tagged debug logs | `diagnosing-bugs` | AGENTS.md → AI Developer Protocol |
| Fowler smell baseline as judgement-call heuristics (mysterious name, data clumps, primitive obsession, feature envy, repeated switches, message chains, middle man) | `code-review` | `/alignment` rule 4 |
| Tautological-test rule: expected values from an independent source of truth, never recomputed the implementation's way | `tdd` | AGENTS.md → Testing Philosophy |
| The deletion test for suspected pass-throughs: delete the module mentally — complexity vanishing means shallow wrapper, reappearing across callers means it earned its keep | `codebase-design` | `/eng-council` consult mode |
## Considered and rejected
- **Grilling as a skill** — sessions here are already interactively driven, and the
harness's question tool plus explore-instead-of-ask covers the discipline. No standing
gap.
- **`CONTEXT.md` glossary + ADRs (domain modeling)** — `docs/architecture/` +
`/doc-update` fill the same role with a stricter altitude bar; a second
decision-record home would split the record.
- **spec-kit's constitution** — SOUL.md + the architecture playbook already are the
constitution, and ours is enforced mechanically (alignment checks), not re-read per
phase.
- **spec-kit's "unit tests for English" checklists** (items test requirement quality:
completeness/clarity/measurability, banned Verify/Test verbs) — the standout idea of
the repo, but it targets prescriptive specs. Our spec is descriptive; its quality bar
is "matches the code", which alignment's spec-tracking check already enforces.
- **spec-kit's bidirectional coverage / gap-type taxonomy** (`missing`/`partial`/
`contradicts`/`unrequested`) — both directions of spec↔code drift are already covered
by alignment's spec-tracking check and the eng-council Documentation seat.
- **spec-kit's clarify mechanics** (fixed ambiguity taxonomy, Impact×Uncertainty question
cap, recommend-before-asking) — recommend-before-asking is already harness convention;
the rest is ceremony sized for teams, not a solo interactive loop.
- **`improve-codebase-architecture` / HTML report** — `/eng-council` sweep covers it with
real evidence tooling (madge/knip/jscpd) and the metrics trend.
- **`research`, `prototype`, `handoff`** — already covered by reference clones, the
one-off HTML showcase habit, and harness context management respectively.