Lets a plugin.json declare an `external` target->source map instead of carrying local content, so the generator emits that Claude Code marketplace source (e.g. a GitHub repo) verbatim rather than a local dist path. Adds caveman and ponytail as external entries, installed straight from their upstream repos with nothing vendored or copied. Claude Code-only for now — agy has no equivalent external-source mechanism, and both plugins' hooks/MCP assume Claude Code's runtime. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014YVWWAnvR5TDQzmfY3RXG9