/00. Claude Plugins

A Claude Code plugin is a folder of skills, agents, hooks, and slash commands that Claude installs per project. 28 plugins, 68 skills here.

/plugin marketplace add aiocean/claude-plugins
/plugin install <plugin-name>@aiocean-plugins

Skills load when their description matches your message, hooks fire on tool-call events, agents spawn on the Agent tool. Idle plugins cost nothing — browse plugins or read the guides.

Folders

Articles

/03. aio-patch-compile

aio-patch-compile

From plugin aio-claude-toolkit

Install

/plugin install aio-claude-toolkit@aiocean-plugins

aio-patch-compile — apply patches + bun build

Goal

Produce one or more patched claude binaries at dist/<arch>/claude. Inner loop after editing tools/pipeline/patches.json or any tools/pipeline/sources/*.js file.

Usage

/aio-claude-toolkit:aio-patch-compile                                   # current host arch only (default)
/aio-claude-toolkit:aio-patch-compile --target=all                       # all 4 platforms
/aio-claude-toolkit:aio-patch-compile --target=darwin-arm64,linux-amd64  # csv list
STRICT=0 /aio-claude-toolkit:aio-patch-compile                           # ALLOW missing patches (NOT recommended)

Behavior

For each target arch in the list:

  1. If dist/<arch>/cli.js does NOT exist → transitively run ARCH=<arch> ./tools/extract.sh first
  2. Run ARCH=<arch> ./tools/build.sh which: inlines sources/*.js, applies patches.json (strict by default), bun-compiles → dist/<arch>/claude

Requires

  • Walk-up must find a scaffolded project
  • bun (>= 1.3 for stable cross-compile)
  • python3 (for patch + inline scripts)
  • tools/pipeline/patches.json populated (NOT empty) — compile fails fast on empty patches

Drift recovery

If compile reports MISSING patches (anchors not found in cli.js), Claude version likely shifted:

  • Read .aio-patch-setup to see the tested-against Claude version
  • Use /aio-claude-toolkit:aio-patch-anchor find <fragment> to locate new anchor
  • Update tools/pipeline/patches.json old field with new anchor text
  • Re-run compile

See docs/repatching-playbook.md (step-by-step re-anchoring recipe) and docs/patches.md (anchor selection strategy).

Implementation

Invokes ${CLAUDE_PLUGIN_ROOT}/skills/aio-patch-compile/scripts/compile.sh "$@".