A multi-host collection of plugins with shared skill sources: native marketplaces for Claude Code and Codex, and a native package for Pi.
# Add the marketplace
/plugin marketplace add pandysp/claude-plugins
# Install a plugin
/plugin install <plugin-name>@pandyspClaude Code disables auto-update by default for third-party marketplaces. To
keep these plugins current, run /plugin, open Marketplaces, select
pandysp, and enable auto-update. Claude Code updates plugins on disk in the
background after startup; run /reload-plugins when notified, or start a new
session, to load them. Because this marketplace publishes explicit plugin
versions, each release must bump the version before Claude Code installs the
new bundle.
# Add the Git marketplace
codex plugin marketplace add pandysp/claude-plugins
# Inspect and install a plugin
codex plugin list --marketplace pandysp --available --json
codex plugin add <plugin-name>@pandyspCodex automatically refreshes configured Git marketplaces on startup. Start a new Codex session after installation or a plugin version change so it loads the updated bundle.
# Install the package (add -l to install into project settings)
pi install git:github.com/pandysp/claude-plugins
# Pin a tag or commit, or roll back to one
pi install git:github.com/pandysp/claude-plugins@<tag-or-sha>
# Inspect, update, remove
pi list
pi update git:github.com/pandysp/claude-plugins
pi remove git:github.com/pandysp/claude-pluginsPi installs one package per repository rather than individual plugins. The
package exposes its skills as /skill:<name> commands and adds no extensions,
prompt templates, or themes. On interactive startup, Pi checks for package
updates and shows a notification; it does not install them automatically. Run
the update command above, then restart Pi to load changed skills.
| Plugin | Category | Codex | Pi | Description |
|---|---|---|---|---|
| agent-board | Workflow | yes | yes | Talk to other agent sessions through a shared board of plain files; Jev in Pi finds the posts that affect your task |
| align | Workflow | yes | yes | Surface what the agent thinks the task is before producing any artifact |
| explore | Workflow | yes | yes | Map the terrain before designing — locate, trace, pattern, constrain |
| clarify | Workflow | yes | yes | Resolve underspecified decisions with targeted questions before designing |
| design-options | Workflow | yes | yes | Generate multiple strong design options with tradeoff profiles, anchored against at least two ideal targets |
| pre-mortem | Workflow | yes | yes | Identify how a plan or design could fail before committing |
| second-opinion | Workflow | yes | yes | Get an independent review through the strongest channel the host provides |
| steel-man-own-position | Workflow | yes | yes | Restate the strongest version of a prior position before flipping under pushback |
| spec | Workflow | yes | yes | Write the implementation spec that drives execution after design is chosen |
| flue-workflows | Workflow | yes | yes | Compose native Flue workers in JavaScript with parallel, pipeline and child programs |
| deep-research | Workflow | yes | yes | Deep, multi-source research on Flue workers with skeptical verification and a cited report |
| verify-claims | Workflow | yes | yes | Identify and verify unverified claims before presenting them as conclusions |
| verify-result | Workflow | yes | yes | Black-box verification of any agent output — code, documents, presentations, configs |
| silent-failures | Workflow | yes | yes | Audit error handling for silent failures, inadequate feedback, and inappropriate fallbacks |
| quality-review | Workflow | no | no | Audit docs, code, or any artifact through 13 quality lenses with a workflow-backed finder/verifier pipeline |
| preflight | Workflow | yes | yes | Honest self-assessment before shipping; --fix fixes and reassesses until no autofixable issues remain |
| handoff | Workflow | yes | yes | Write a durable handoff — PR descriptions, summaries, memos, or memory notes |
| reflect | Workflow | yes | yes | Surface a session's durable lessons before they fade, each with the place it would be saved |
| manage-agents | Workflow | yes | yes | Run agent sessions in agent-manager like a chief of staff: one top session, one manager per group, and sessions that do the work |
| understudy | Workflow | yes | yes | Write code, comments, tests, and commits that read as if the project's own maintainer wrote them |
| plain-language | Workflow | yes | yes | Explain things in plain, jargon-free language, as if the reader has no idea what you are talking about, leading with why it matters to the reader |
| worktrunk-hook | Tooling | no | no | Route Claude Code's auto-created git worktrees through worktrunk so sessions inherit project hooks |
| drive-browser | Tooling | yes | yes | Drive a browser with Playwright. Resilient locators for your own app, a vision loop for opaque sites |
| excalidraw | Tooling | yes | yes | Draw diagrams and sketches with Excalidraw in an Obsidian vault, and check each one with a screenshot |
| classify-with-jev | Tooling | no | yes | Classify, label or score many items, or get a fast first feeling about any question, with TypeSafe's Jev classifier from Pi's codemode |
| transcribe | Tooling | yes | yes | Turn recordings into speaker-labelled markdown notes with AssemblyAI, without paying twice or overwriting corrected notes |
Six plugin/host combinations are deliberately not shipped. scripts/generate.rb
holds the declaration; a plugin that states neither support nor a reason fails CI.
quality-review(Codex, Pi): high, xhigh, and max reviews invoke Claude'sWorkflowtool. A main-model fallback would not preserve the finder/verifier contract.worktrunk-hook(Codex, Pi): hooks only, and it needs Claude Code'sWorktreeCreateandWorktreeRemoveevents.classify-with-jev(Claude Code, Codex): classifiers run through Pi'scodemodetool, which neither Claude Code nor Codex has. The plugin ships to Pi only.
Four skills pick host mechanics by capability and work on all three hosts:
explore falls back from exploration workers to search and file reads,
second-opinion to a labelled self-critique when no reviewer channel exists,
silent-failures carries its methodology in its own SKILL.md, and reflect
follows the host's own instruction hierarchy.
ruby scripts/generate.rb # rewrite the Codex and Pi packages
ruby scripts/validate.rb # check everything, including generated-file driftscripts/generate.rb derives the Codex manifests and
marketplace and the Pi package from the Claude metadata and the plugin
directories. Its HOST_SUPPORT table is the only place host support is declared:
a plugin missing from it fails validation, so nothing reaches Codex or Pi by
accident. A plugin withheld from Claude Code has no Claude marketplace entry but
still ships to Pi. CI runs both scripts and
checks that npm install leaves a Pi checkout clean.
To test whether a skill changes what an agent does, give Pi the same prompt with and without it, with your own instructions and other skills turned off:
pi -p --no-session -nc -ns -ne --mode json --skill plugins/<name>/skills/<name> "<prompt>"
pi -p --no-session -nc -ns -ne --mode json "<prompt>"The prompt should not name the skill. In the JSON output, check that the agent
read the whole SKILL.md: a read call with a limit means it saw only part of
it. Keep tools on: with -nt Pi lists no skills at all.
Flue keeps its pinned dependencies in a separate runtime, not the Pi package:
cd plugins/flue-workflows/skills/flue-workflows/runtime
npm ci --ignore-scripts --omit=dev
npm test -- ../../../test/*.test.mjsThe Flue CI job runs these on Node 22.19.0 and 26.5.0, on macOS and Linux, with real Flue, SQLite and Git and scripted model replies.
MIT