Skip to content

Fix: use self-referencing source so /plugin install handoff works - #1

Open
gardinermichael wants to merge 1 commit into
willseltzer:mainfrom
gardinermichael:fix/marketplace-source-self-reference
Open

Fix: use self-referencing source so /plugin install handoff works#1
gardinermichael wants to merge 1 commit into
willseltzer:mainfrom
gardinermichael:fix/marketplace-source-self-reference

Conversation

@gardinermichael

Copy link
Copy Markdown

Summary

/plugin install handoff@handoff-marketplace fails after /plugin marketplace add willseltzer/claude-handoff because the marketplace manifest points the plugin's source at github:willseltzer/claude-handoff — which is this same repo.

Claude Code treats the plugin source as a separate artifact to fetch, expecting the plugin layout (.claude-plugin/plugin.json, commands/, skills/, …) to live at the root of whatever that source resolves to. In the current manifest it resolves back to this repo via GitHub, but then Claude Code can't cleanly reconcile a plugin source that is identical to the marketplace source, and the install does not complete.

Fix

Change the plugin source to "./" so the plugin is loaded from the marketplace checkout itself — which is exactly where its files already live (/.claude-plugin/plugin.json, /commands/*.md, /skills/handoff/*).

This matches the convention used by other single-plugin, root-layout marketplaces in the Claude Code ecosystem, including:

  • affaan-m/everything-claude-code"source": "./"
  • Ryandonofrio3/osgrep"source": "./plugins/osgrep" (nested) but root-layout marketplaces consistently use "./"

Diff

     {
       "name": "handoff",
-      "source": {
-        "source": "github",
-        "repo": "willseltzer/claude-handoff"
-      },
+      "source": "./",
       "description": "Hand off context to any AI coding agent",
       "version": "1.0.0"
     }

Test plan

  • /plugin marketplace add willseltzer/claude-handoff
  • /plugin install handoff@handoff-marketplace
  • Verify /handoff:create, /handoff:quick, /handoff:resume commands appear
  • Verify the handoff skill is loaded

The marketplace.json listed the handoff plugin with a `github:willseltzer/claude-handoff`
source, which points back at this same repository. When `/plugin install handoff` runs,
Claude Code treats that as a separate plugin source to fetch — which fails because the
plugin files live at the repo root, not in a nested `claude-handoff` sub-repo.

Switch to `"source": "./"` so the plugin resolves from the marketplace checkout itself.
This matches the convention used by other single-plugin, root-layout marketplaces
(e.g. everything-claude-code, osgrep, Mixedbread-Grep).

Verified against other marketplace manifests in the Claude Code plugin ecosystem.

Fixes: `/plugin install handoff@handoff-marketplace` failing after
`/plugin marketplace add willseltzer/claude-handoff`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant