Plugin: implementation · Categories: hardcoded opinion (1), missing externalization (2) — designed default, low severity
Source: work-readiness sweep (read-only audit vs docs/PLUGIN-PHILOSOPHY.md + docs/MIGRATION-PLAYBOOK.md)
Findings
plugins/implementation/skills/implement/SKILL.md:3 (description), SKILL.md:67 — "TDD is the default — skip only when genuinely impractical"
plugins/implementation/skills/implement/context/feature.md:11
plugins/implementation/skills/implement/context/bugfix.md:7 — "Reproduce first (test-first, always)"
Why flagged
Strong methodology opinion applied as the default-when-silent. Mitigations exist: TDD-by-default is the plugin's advertised identity (plugin.json description), and SKILL.md:67 defers to the consuming project's own testing conventions (CLAUDE.md/rules) — so seam-3 externalization is present. Gap: when the consumer CLAUDE.md is silent the opinionated default fires, and there is no userConfig toggle (README:76: plugin "declares no userConfig options"). Under PLUGIN-PHILOSOPHY this is a defensible rung-4 safe default — filed for triage visibility because it is the plugin's most load-bearing baked opinion.
Fix direction
If a consumer must disable the TDD default without editing prose, the sanctioned surface is a userConfig boolean (e.g. tdd_default) read into the cadence, alongside the existing seam-3 consumer CLAUDE.md deferral. Not a hardcode swap.
Plugin:
implementation· Categories: hardcoded opinion (1), missing externalization (2) — designed default, low severitySource: work-readiness sweep (read-only audit vs docs/PLUGIN-PHILOSOPHY.md + docs/MIGRATION-PLAYBOOK.md)
Findings
plugins/implementation/skills/implement/SKILL.md:3(description),SKILL.md:67— "TDD is the default — skip only when genuinely impractical"plugins/implementation/skills/implement/context/feature.md:11plugins/implementation/skills/implement/context/bugfix.md:7— "Reproduce first (test-first, always)"Why flagged
Strong methodology opinion applied as the default-when-silent. Mitigations exist: TDD-by-default is the plugin's advertised identity (plugin.json description), and SKILL.md:67 defers to the consuming project's own testing conventions (CLAUDE.md/rules) — so seam-3 externalization is present. Gap: when the consumer CLAUDE.md is silent the opinionated default fires, and there is no
userConfigtoggle (README:76: plugin "declares no userConfig options"). Under PLUGIN-PHILOSOPHY this is a defensible rung-4 safe default — filed for triage visibility because it is the plugin's most load-bearing baked opinion.Fix direction
If a consumer must disable the TDD default without editing prose, the sanctioned surface is a
userConfigboolean (e.g.tdd_default) read into the cadence, alongside the existing seam-3 consumer CLAUDE.md deferral. Not a hardcode swap.