Skip to content

Add missing .claude-plugin/marketplace.json so the documented install paths work - #1

Open
Talnerith wants to merge 1 commit into
EpicGames:mainfrom
Talnerith:fix/add-marketplace-manifest
Open

Add missing .claude-plugin/marketplace.json so the documented install paths work#1
Talnerith wants to merge 1 commit into
EpicGames:mainfrom
Talnerith:fix/add-marketplace-manifest

Conversation

@Talnerith

Copy link
Copy Markdown

Summary

The README documents installing this plugin by registering the repo directory as a marketplace — both interactively (/plugin marketplace add <dir>) and declaratively (extraKnownMarketplaces with a directory source). Neither works as written, because the repo ships .claude-plugin/plugin.json but no .claude-plugin/marketplace.json.

Claude Code requires a .claude-plugin/marketplace.json manifest to register any directory as a marketplace; it does not synthesize one from a bare plugin manifest. With the file absent:

  • Option A (/plugin marketplace add <dir>) errors: File not found: .claude-plugin/marketplace.json.
  • Option B (extraKnownMarketplaces directory source) fails silently — the marketplace never resolves, so the plugin and its skills (unreal-mcp, unreal-skill, create-toolset) never load, and no error is surfaced. The symptom is easily misattributed to restart timing or a stale session.

The plugin still works through dev paths that bypass the marketplace (claude --plugin-dir, skills-directory auto-load), which likely masked the gap during development.

Refs (Claude Code docs):

  • Marketplaces require .claude-plugin/marketplace.json; missing manifest is a documented validation error.
  • Marketplace identity comes from the name field in marketplace.json, not the directory name, and is independent of the extraKnownMarketplaces key.

Changes

  • Add .claude-plugin/marketplace.json — lists this single plugin ("source": "./"), named unreal-engine-skills-for-claude-code to match the plugin and the README Option A install command.
  • README fixes:
    • Correct the "standalone plugin … no marketplace.json" sentence (the repo now ships one).
    • Fix the claim that the marketplace name derives from the directory name — it comes from the name field in marketplace.json.
    • Reconcile the Option B example: the enabledPlugins reference must use the marketplace name (...@unreal-engine-skills-for-claude-code), not the arbitrary extraKnownMarketplaces alias key.

How I verified

Reproduced the silent Option B failure locally (skills did not load), added .claude-plugin/marketplace.json, and confirmed all three skills (unreal-mcp, unreal-skill, create-toolset) load after the manifest is present. JSON validated.

🤖 Generated with Claude Code

…lace

The README instructs installing this plugin by registering the repo
directory as a marketplace (both `/plugin marketplace add <dir>` and an
`extraKnownMarketplaces` directory source). Claude Code requires a
`.claude-plugin/marketplace.json` manifest to register any directory as a
marketplace -- it does not synthesize one from a bare `plugin.json`.

Because the manifest was absent, both documented install paths failed:
`/plugin marketplace add` errors with "File not found:
.claude-plugin/marketplace.json", and the `extraKnownMarketplaces`
directory-source path fails silently -- the plugin and its skills
(`unreal-mcp`, `unreal-skill`, `create-toolset`) never load, with no
error surfaced. The plugin still works via dev paths that skip the
marketplace (`claude --plugin-dir`, skills-directory auto-load), which
likely masked the gap.

Changes:
- Add `.claude-plugin/marketplace.json` listing this single plugin
  (`source: "./"`), named `unreal-engine-skills-for-claude-code` to match
  the plugin and README Option A.
- README: correct the "no marketplace.json" sentence; fix the claim that
  the marketplace name derives from the directory name (it comes from the
  `name` field in marketplace.json); reconcile the Option B example so the
  `enabledPlugins` reference uses the marketplace name, not the alias key.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant