Source-of-truth claude/ now matches the proven shape used by
anthropics/claude-plugins-official and other shipping marketplaces:
claude/.claude-plugin/marketplace.json references ./plugins/fj
claude/plugins/fj/.claude-plugin/plugin.json
claude/plugins/fj/skills/fj/SKILL.md
Previous string-source "./" and structured {source: url} forms both
tripped "source type your Claude Code version does not support."
The relative sub-path form works.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The "./" string form is older schema; modern Claude Code requires the
structured form. Same shape as anthropics/claude-plugins-official
catalogue entries.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The plain "." source triggered "This plugin uses a source type your
Claude Code version does not support" on `/plugin install`. Matching
the well-tested shape used by other working marketplaces: "./" root,
strict:false, explicit skills paths.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
A repo with only plugin.json is recognized as a plugin but not as a
marketplace, which is what `/plugin marketplace add` needs. Adding
.claude-plugin/marketplace.json that declares the marketplace
('rasterandstate') and lists fj as its single plugin.
The correct two-step install is now:
/plugin marketplace add rasterandstate/fj-claude-plugin
/plugin install fj@rasterandstate
README.md and claude/README.md updated accordingly.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>