Part of the plugin-conformance program — epic #313 (dimension 8 of its matrix).
31 plugins fail the uniform setup contract (skill named setup, disable-model-invocation: true, check read-only + apply idempotent actions, non-interactive when complete arguments are supplied). Two shapes:
A. Setup skill missing despite an external prerequisite or config surface (formatter/linter plugins owe a thin check-centric setup): actionlint, bash-format, biome-format, desktop-notification, disk-hygiene, eol-normalizer, firecrawl, guardrails, markdown-format, playwright, powershell-format, ruff-format.
B. Setup skill present but off-contract (interactive-only, no check/apply action split, no headless path): ai-briefing, bug-report, claude-config, claude-ops, code-tidying, codebase-health, context7, discovery, kindle-dedrm, knowledge, machine-health, miro, planning, repo-fleet-hygiene, skill-quality, songwriting, source-control, toolchain, work-items.
Remediation per plugin: add or refactor to the uniform contract; keep each setup limited to configuration the plugin owns; never write the plugin cache, user settings, or pluginConfigs. Where the only configuration is a Claude-owned userConfig scalar (bug-report, miro), the check action verifies and reports — doctrine may warrant a clarifying carve-out; raise it before mass-refactoring those.
Acceptance: every listed plugin either conforms or carries a documented doctrine-sanctioned exception; version bump + CHANGELOG entry per touched plugin; plugin contract gate green.
🤖 Generated with Claude Code
Part of the plugin-conformance program — epic #313 (dimension 8 of its matrix).
31 plugins fail the uniform setup contract (skill named
setup,disable-model-invocation: true,checkread-only +applyidempotent actions, non-interactive when complete arguments are supplied). Two shapes:A. Setup skill missing despite an external prerequisite or config surface (formatter/linter plugins owe a thin check-centric setup): actionlint, bash-format, biome-format, desktop-notification, disk-hygiene, eol-normalizer, firecrawl, guardrails, markdown-format, playwright, powershell-format, ruff-format.
B. Setup skill present but off-contract (interactive-only, no check/apply action split, no headless path): ai-briefing, bug-report, claude-config, claude-ops, code-tidying, codebase-health, context7, discovery, kindle-dedrm, knowledge, machine-health, miro, planning, repo-fleet-hygiene, skill-quality, songwriting, source-control, toolchain, work-items.
Remediation per plugin: add or refactor to the uniform contract; keep each setup limited to configuration the plugin owns; never write the plugin cache, user settings, or
pluginConfigs. Where the only configuration is a Claude-owneduserConfigscalar (bug-report, miro), thecheckaction verifies and reports — doctrine may warrant a clarifying carve-out; raise it before mass-refactoring those.Acceptance: every listed plugin either conforms or carries a documented doctrine-sanctioned exception; version bump + CHANGELOG entry per touched plugin; plugin contract gate green.
🤖 Generated with Claude Code