Repository navigation
v3.2.0 — plugin/skill best-practices modernization
Modernizes the whole marketplace against the current official Claude Code plugin, skill, sub-agent, slash-command, and hooks documentation. Versions: marketplace 3.2.0, codebase-health 2.2.0, research-assistant 1.4.0.
Added
- Marketplace: Replaced the dead
$schemaURL inmarketplace.jsonwith the SchemaStore marketplace schema, and added a top-levelrenamesmap recording the plugin lineage (code-auditor→codebase-health,codex-consultant/gemini-consultant→second-opinion,second-opinion→ retired) so old installs migrate cleanly. - All plugins: Added
$schema(SchemaStore plugin-manifest schema) as the first key in eachplugin.json. - codebase-health 2.2.0:
disable-model-invocation: trueon/deep-auditand/update-docsso these resource-intensive commands only run when the user invokes them. - research-assistant 1.4.0:
/researchand/official-docsnow declarecontext: forkandagent:in frontmatter, running directly as their agents in a forked context.
Changed
- All plugins: Trimmed
plugin.jsonmanifests to metadata only — removed the explicitagents,commands, andskillsarrays so default directory auto-discovery applies (explicit arrays replace the default scan, silently dropping newly added files). - codebase-health 2.2.0:
/deep-audithardening — scoped Bash pre-approvals instead of bareBash,Task→Agenttool rename, and a Stop-hookstop_hook_activeloop guard with an explicit{"ok": …}response contract. - codebase-health 2.2.0:
dead-code-cleanupandupdate-docsagents no longer listAskUserQuestion(unavailable inside subagents) — agents return a verified findings report plus a proposed plan, and the wrapper commands gather user approval in the main conversation before applying changes. - codebase-health 2.2.0: Skills reference bundled files via
${CLAUDE_SKILL_DIR}, use use-case-first descriptions with awhen_to_usetrigger-phrase field, anddocs-maintenancepre-approvesEdit/Write. - codebase-health 2.2.0:
dead-code-detect.shemits a single JSON envelope for mixed Node+Python projects with--format json, with graceful fallbacks for invalid knip output and missingjq; documented invocations quote"${CLAUDE_PLUGIN_ROOT}".
Full details in CHANGELOG.md.