docs(genie): fix plugin installation instructions#77
Conversation
The install docs describe symlinking ~/.claude/plugins/genie directly, but the current CLI (dist/genie.js syncPlugin()) manages the plugin through Claude Code's marketplace system instead (~/.claude/plugins/marketplaces/automagik, installed_plugins.json). Following the documented symlink approach leaves the plugin undiscoverable and slash commands missing. - Replace the symlink step with the actual `claude plugin marketplace add` / `claude plugin install` flow - Update the genie doctor sample output to match real v4 output, and note that doctor does not check plugin registration - Add a "Verify the plugin is registered" section using `claude plugin list`, plus a restart-required note (plugin changes need a fresh Claude Code session to load) - Warn that `genie update` can downgrade the marketplace plugin version as a side effect (npm/Bun dist-tag lags the marketplace source), with the recovery command - Correct the uninstall section: it doesn't remove the npm/Bun package or unregister the Claude Code plugin, contrary to the current text
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughDocumentation in genie/installation.mdx was revised to reflect Claude Code plugin marketplace registration instead of symlink-based linking. Verification steps now separate ChangesInstallation Documentation Update
Estimated code review effort: 1 (Trivial) | ~5 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request updates the installation documentation (genie/installation.mdx) to reflect the transition from symlinking the Claude Code plugin to registering it via Claude's plugin marketplace. It updates the genie doctor diagnostic output, adds verification steps using claude plugin list, and clarifies the behavior of genie update and genie uninstall. The review feedback suggests clarifying whether plugin registration is manual during the bootstrap step, and recommends documenting the /reload-plugins command as a faster alternative to restarting the Claude Code session.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| <Step title="Register the Claude Code plugin"> | ||
| Runs `claude plugin marketplace add automagik-dev/genie` and `claude plugin install genie@automagik`, which registers Genie in Claude Code's plugin marketplace system (`~/.claude/plugins/installed_plugins.json`) so its skills — `/wish`, `/work`, `/review`, `/brainstorm`, and friends — are discoverable. | ||
| </Step> |
There was a problem hiding this comment.
If the bootstrap script (install.sh) does not automate the registration of the Claude Code plugin, listing this step under the "One-line bootstrap" <Steps> block can be misleading to users. If this is a manual step that the user must perform after running the bootstrap script, we should explicitly clarify that in the description.
<Step title="Register the Claude Code plugin">
Requires manual registration. Run `claude plugin marketplace add automagik-dev/genie` and `claude plugin install genie@automagik` to register Genie in Claude Code's plugin marketplace system (`~/.claude/plugins/installed_plugins.json`) so its skills — `/wish`, `/work`, `/review`, `/brainstorm`, and friends — are discoverable.
</Step>
| <Note> | ||
| **Restart required.** After any install or update, Claude Code only picks up plugin changes ("skills"/slash commands like `/wish`, `/work`, `/review`) on the *next* session start. If a slash command doesn't autocomplete, restart your `claude` session before assuming the install failed. | ||
| </Note> |
There was a problem hiding this comment.
Instead of requiring a full session restart, Claude Code also supports reloading active plugins dynamically during a session using the /reload-plugins command. We should mention this as a quicker alternative to restarting the entire session.
<Note>
**Restart or reload required.** After any install or update, Claude Code only picks up plugin changes ("skills"/slash commands like `/wish`, `/work`, `/review`) on the *next* session start, or when you run `/reload-plugins` within an active session. If a slash command doesn't autocomplete, reload or restart your `claude` session before assuming the install failed.
</Note>
| <Warning> | ||
| `genie update` pulls the CLI from npm/Bun's dist-tag, which can lag behind the plugin marketplace source on GitHub. If `genie update` reports an older version than what `claude plugin list` shows, it can overwrite the plugin's marketplace metadata down to the older version as a side effect. Recover with: | ||
|
|
||
| ```bash | ||
| claude plugin marketplace update automagik | ||
| claude plugin update genie@automagik | ||
| ``` | ||
|
|
||
| Then restart your Claude Code session. | ||
| </Warning> |
There was a problem hiding this comment.
Similarly, we can mention the /reload-plugins command here as an alternative to restarting the Claude Code session after recovering from a version downgrade.
<Warning>
`genie update` pulls the CLI from npm/Bun's dist-tag, which can lag behind the plugin marketplace source on GitHub. If `genie update` reports an older version than what `claude plugin list` shows, it can overwrite the plugin's marketplace metadata down to the older version as a side effect. Recover with:
```bash
claude plugin marketplace update automagik
claude plugin update genie@automagik
Then restart your Claude Code session or run /reload-plugins.
Summary
Installed Genie following
genie/installation.mdxexactly and hit a real bug: slash commands never showed up in Claude Code. Root cause traced to the docs describing a mechanism the current CLI doesn't actually use.~/.claude/plugins/geniedirectly. ButsyncPlugin()in the compiled CLI (dist/genie.js) operates on~/.claude/plugins/marketplaces/automagik/...andinstalled_plugins.json— i.e. it expects the plugin to be registered through Claude Code's plugin marketplace system (claude plugin marketplace add/claude plugin install), not a hand-made symlink.genie doctorsample output includes a✓ Plugin symlink activeline that doesn't appear in real output on v4.260423.10 — doctor doesn't currently check plugin registration at all, so a broken install can look fully green.genie updatepulls the CLI from npm/Bun's dist-tag, which lagged behind the marketplace/GitHub source and silently downgraded the already-installed plugin (5.x → 4.x) as a side effect of its internal sync step.performUninstall()in the compiled source: it doesn't remove the npm/Bun package (tells you to run that separately) and doesn't touch the Claude Code plugin registration at all.Changes
genie doctorsample output to match real output, with a note that it doesn't check plugin registrationclaude plugin list, plus a note that a running Claude Code session needs a restart to pick up plugin changesgenie updatepotentially downgrading the marketplace plugin, with the recovery commandsgenie uninstallactually removesTest plan
claude plugin marketplace add automagik-dev/genie+claude plugin install genie@automagik) is indeed the currently-supported path, and not itself something the bootstrap script is meant to automateinstall.shbe fixed to do this automatically, or is manual registration expected?Summary by CodeRabbit