Files
hmbown--codewhale/docs/CLAUDE_PLUGIN_COMPAT.md
Hunter B 8028d93f96 feat(plugins): enforce reviewed bundle activation
Build one deterministic Codewhale-owned bundle inventory with versioned manifests, contained content hashing, separate trust and enablement receipts, and fail-closed atomic state.

Activate only namespaced Skills and MCP through their existing engines, initialize the registry consistently across launch modes, preserve legacy executable tools as a separate surface, and document the bounded v0.9.1 lifecycle.

Refs #4399, #3916, #3917.

Builds on the original plugin manifest, discovery, CLI, and MCP foundation from pkeging in #3708, #3709, and #3710.

Co-authored-by: pkeging <237035657+pkeging@users.noreply.github.com>
Signed-off-by: Hunter B <hmbown@gmail.com>
2026-07-18 08:11:39 -07:00

1.8 KiB

Claude Plugin Compatibility

Codewhale treats Claude Code skill folders as instruction bundles when they are plain SKILL.md directories. It does not run Claude Code plugin runtimes.

Supported

  • Workspace or global .claude/skills/<name>/SKILL.md directories discovered by the normal skill registry.
  • GitHub or tarball installs that contain one selected skill directory such as skills/<name>/SKILL.md, .agents/skills/<name>/SKILL.md, .claude/skills/<name>/SKILL.md, or a nested package layout ending in skills/<name>/SKILL.md.
  • Companion files inside the selected skill directory, such as references/, examples/, or scripts that are only used after the skill is explicitly loaded and trusted.

Not Supported As A Plugin Runtime

Claude Code plugin features remain outside the compatibility boundary:

  • .claude-plugin/plugin.json metadata and activation semantics.
  • Custom slash-command bundles.
  • Plugin build steps, compiled TypeScript agents, dashboard servers, shared plugin state, or token-gated service processes.
  • Frontmatter fields that require Claude-specific runtime behavior, such as model: inherit.

If a Claude Code plugin repository contains multiple skills, install or migrate one skills/<name> directory at a time. /skill install rejects multi-skill plugin archives with a clear message so it never silently chooses one skill and drops the plugin runtime behavior.

For richer integrations, wrap the plugin's executable surface as MCP, hooks, or a Codewhale skill that names the external command explicitly.

Codewhale's own versioned plugin bundles are a different, explicitly trusted format. v0.9.1 can activate namespaced Skills and MCP configuration from plugin.toml, but it does not scan, convert, install, or trust Claude bundles automatically. See PLUGIN_BUNDLES.md.