Claude Code Plugin
Install devboy as a Claude Code plugin — one slash-command, no manual npm step. The plugin ships skills, MCP server registration, and a bootstrap recipe that the agent itself runs to install the CLI binary on first use.
Install
From inside any Claude Code session:
That is the only thing the user does manually. Claude Code fetches the plugin, registers the skills, wires up the MCP server placeholder, and surfaces the setup skill on first use.
What happens next — agent-driven bootstrap
The plugin does not ship the Rust binary. On first activation the bundled setup skill detects whether devboy is on $PATH and, if not, installs it. ADR-018 §1 has the full sequence; the short version:
- Detect plugin context —
$CLAUDE_PLUGIN_DATAis set, so the skill picks--agent claudeautomatically. - Check
command -v devboy. If found, jump to step 4. npm install -g @devboy-tools/cliif npm is available; otherwise download the platform tarball (devboy-<os>-<arch>.tar.gz) and the matching.sha256sibling from the latest GitHub Release,shasum -a 256 -cto verify, extract into${CLAUDE_PLUGIN_DATA}/bin/, add to PATH. Releases are not currently code-signed; the per-asset SHA-256 is the integrity check.- Run
devboy onboard --agent claude --yesto detect agents on the machine and (where applicable) install the curated skill bundle. - Run
devboy doctorand report.
If something fails along the way the agent invokes the repair skill in the same session — no out-of-band debugging.
After the binary is installed, run /reload-plugins so Claude Code picks up the MCP server entry. The MCP shim (bin/devboy-shim.sh) finds the binary in either ${CLAUDE_PLUGIN_DATA}/bin/ or $PATH and exec's it.
What the plugin ships
Skill names match the source filenames one-to-one — plugins/claude/skills/<name> is a symlink to crates/devboy-skills/skills/<category>/<name>/, so editing /crates/devboy-skills/skills/00-self-bootstrap/setup/SKILL.md updates the plugin in the same edit. Plugin namespacing prepends devboy:, so:
/devboy:setup— bootstrap/devboy:get-issues— fetch open / closed issues/devboy:review-mr— review a merge / pull request/devboy:analyze-usage— Claude Code session analytics
See PLUGIN_NAMING.md for the full layout.
Updating
The plugin's version field is synced with the Cargo workspace version on every tag push. To pull a new release:
…then /reload-plugins. The CLI binary is updated separately (npm or a fresh GitHub Release pull) — re-running /devboy:setup upgrades it.
Compared to the npm path
Both install paths produce the same end state — same binary, same MCP server, same skills surface — but cover different audiences.
You can mix and match — npm install -g first, then install the plugin later: devboy onboard reads ~/.claude/settings.json#enabledPlugins and skips the Claude target so you don't end up with duplicate skill copies (ADR-018 §5).
Troubleshooting
- MCP server not connected. Run
/reload-pluginsaftersetupfinishes the install. The shim only findsdevboyonce it is on PATH or in${CLAUDE_PLUGIN_DATA}/bin/. npm install -gfails with permissions. The bootstrap will fall back to the GitHub Release binary in${CLAUDE_PLUGIN_DATA}/bin/automatically. If both fail, ask/devboy:repair.- Skills don't show up after install. Trigger
/reload-plugins, or restart Claude Code if reload is unavailable. - Conflicting skills in
~/.claude/skills/. Rundevboy onboard --agent claude --yesonce — it detects the active plugin and removes nothing, but future runs respect the dedup rule.
See also
- ADR-018 — Distribution as Claude Code and Codex plugins
- ADR-017 —
devboy onboard - Codex plugin install — same architecture for OpenAI Codex CLI