A collection of plugins (skills and hooks) for Claude Code, OpenAI's Codex CLI, and OpenCode, from Christopher Boone.
From within claude, open the plugins manager via /plugin, tab to Marketplace, and hit enter on Add Marketplace. Type cboone/agent-harness-plugins, then choose which plugins to install.
Or, from within claude:
/plugin marketplace add cboone/agent-harness-pluginscodex plugin marketplace add cboone/agent-harness-pluginsSee Using with Codex CLI below for the plugin_hooks feature flag, marketplace upgrade and remove semantics, and Codex-specific limitations.
export OPENCODE_CONFIG_DIR="$(pwd)/dist/opencode"See Using with OpenCode below for mirror regeneration and known limitations.
Each skill links to its own README. The Trigger column shows the slash command. Some style-guide skills also activate automatically when you touch their target file types; see the per-plugin README for activation rules.
| Plugin | Trigger | What it does |
|---|---|---|
| Commit | /commit |
Smart, context-aware git commits with conventional commit messages and plan awareness. |
| Merge Main | /merge-main |
Fetch and merge the base branch into the current feature branch with automatic conflict resolution. |
| PR | /pr |
Lint, commit, push, and create a pull request in one step with no prompts. |
| Rebase Onto Main | /rebase-onto-main |
Fetch and rebase the current feature branch onto the base branch with automatic conflict resolution and force-with-lease push. |
| Release | /release |
Prepare a versioned release or Claude Code marketplace catalog state tag: update release files, create a release commit, tag locally, and optionally publish a GitHub Release. |
| Review Branch | /review-branch |
Review and evaluate all work done on the current branch: summarize changes, assess plan compliance, and evaluate code quality. |
| Use Git | /use-git |
Git and GitHub CLI conventions for Claude Code: tmpfile patterns, HEREDOC commits, GPG signing, safe push practices, and permission-prompt avoidance. |
External tools:
- PR:
gh - Merge Main, Rebase Onto Main:
gh(falls back togit remote show originif unavailable) - Release:
jqfor marketplace catalog releases;ghoptional for GitHub Release creation
| Plugin | Trigger | What it does |
|---|---|---|
| Address Issue | /address-issue |
Fetch a GitHub issue, plan the work, execute changes, and commit with issue references. |
| Create Issue | /create-issue |
Create GitHub issues using tmpfiles to avoid permission prompts from large multiline Bash arguments. |
| Create Worktree | /create-worktree |
Create a git worktree, branch, and tmux window with a task prompt using workmux. |
| Create Worktree from Issue | /create-worktree-from-issue |
Find a GitHub issue and create a worktree, branch, and tmux window for working on it, with issue context injected as a task prompt. |
| Suggest Next Issue | /suggest-next-issue |
Review open GitHub issues and recommend what to work on next with prioritized reasoning. |
External tools:
- Address Issue, Create Issue, Suggest Next Issue:
gh - Create Worktree:
workmux - Create Worktree from Issue:
gh,workmux
| Plugin | Trigger | What it does |
|---|---|---|
| Address Review | /address-review <path> |
Parse a review document for actionable feedback, work through items systematically, and track resolution progress. |
| Resolve Copilot PR Feedback | /resolve-copilot-pr-feedback |
Process and resolve GitHub Copilot automated PR review comments. |
| Plugin | Trigger | What it does |
|---|---|---|
| Add Scrut CLI Tests | /add-scrut-cli-tests |
Set up scrut snapshot-based CLI integration testing for a CLI project. |
| Check Zsh Scripts | /check-zsh-scripts |
Check and evaluate zsh scripts using shellcheck, shfmt, shellharden, zsh -n, zcompile, setopt warn_create_global/warn_nested_var, and checkbashisms. |
| Handle Secrets | /handle-secrets |
Best practices for handling user-provided secrets in CLI tools: secure input methods, credential storage, secret masking, and language-specific libraries. |
| Lint and Fix | /lint-and-fix |
Detect project linters and formatters, run them with auto-fix, resolve remaining issues, then commit and push the fixes. |
| Set-Up Linters | /set-up-linters |
Detect project languages, recommend linters and formatters, install them, and generate config files, including Pandoc-academic Markdown presets. |
| Write Bash Scripts | /write-bash-scripts |
Applies Bash style conventions when creating or editing Bash scripts. |
| Write Go Code | /write-go-code |
Go code style guide based on Google Go Style Guide, Effective Go, Code Review Comments, and Cobra CLI behavior. |
| Write LaTeX | /write-latex |
LaTeX mathematical typesetting style guide based on AMS, IEEE, ISO 80000-2, and Knuth conventions. |
| Write Lean Code | /write-lean-code |
Lean 4 style guide and Mathlib conventions for naming, proofs, formatting, and metaprogramming. |
| Write Lean Tests | /write-lean-tests |
Conventions for compile-time, example-based Lean 4 API regression tests that mirror a library's public surface. |
| Write Scrut Tests | /write-scrut-tests |
Applies scrut test style conventions when creating or editing scrut test files for CLI binaries and zsh plugins. |
| Write Zsh Scripts | /write-zsh-scripts |
Applies zsh style conventions when creating or editing zsh scripts, configurations, and completions. |
External tools:
- Add Scrut CLI Tests:
scrut(Makefile checks for availability and provides install instructions) - Check Zsh Scripts:
shellcheck,shfmt,shellharden,checkbashisms
| Plugin | Trigger | What it does |
|---|---|---|
| Write Formalization Roadmap | /write-formalization-roadmap |
Document-structure guide for multi-milestone formalization roadmaps in Lean, Rocq, Isabelle, HOL, and other proof assistants. |
| Write Markdown | /write-markdown |
Applies Markdown style conventions when creating or editing Markdown files. |
| Write Math | /write-math |
Mathematical writing and exposition guide based on Tao, Knuth, Halmos, and other leading references. |
| Write Pandoc Markdown | /write-pandoc-markdown |
Pandoc-flavored Markdown conventions for academic papers with LaTeX output. |
| Plugin | Trigger | What it does |
|---|---|---|
| Add Community Files | /add-community-files |
Add standard community files to a project: CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, and PR template. |
| Bootstrap Project | /bootstrap-project |
Assess a repository, determine what scaffolding and setup tools are needed, present a plan, and execute them in the correct order. |
| Manage Repo Licensing | /manage-repo-licensing |
Bootstrap, audit, and maintain REUSE-style mixed-license coverage in a repository: LICENSES/, NOTICE, REUSE.toml, SPDX headers, and reuse lint cleanliness. |
| Refresh Project Scaffolding | /refresh-project-scaffolding |
Refresh existing project scaffolding against the latest plugin templates. |
| Scaffold Go CLI | /scaffold-go-cli |
Scaffold a complete Go CLI project with Cobra, GoReleaser, GitHub Actions, and Homebrew tap support. |
| Scaffold Go Library | /scaffold-go-library |
Scaffold a Go library project with GoReleaser changelog releases, golangci-lint, GitHub Actions CI/CD, and Makefile. |
| Scaffold Lean Library | /scaffold-lean-library |
Scaffold a Lean 4 library project with Mathlib or PFR dependencies, Lake test/lint wiring, GitHub Actions CI, text linting, and agent instructions. |
| Scaffold New Repo | /scaffold-new-repo |
Scaffold the universal boilerplate for a new repository: LICENSE, README, CHANGELOG, .gitignore, agent config files, and a plans directory. |
| Scaffold Rust CLI | /scaffold-rust-cli |
Scaffold a complete Rust CLI project with Cargo, cargo-deny, cargo-nextest, git-cliff, GitHub Actions CI/CD, and Makefile. |
External tools:
| Plugin | Trigger | What it does |
|---|---|---|
| Add Cobra Version | /add-cobra-version |
Add a version subcommand with build metadata (version, commit hash, build date, Go runtime version, optional JSON output) to an existing Cobra-based Go CLI, wiring up ldflags in main.go, the cmd package, GoReleaser, and the Makefile. |
| Add GoReleaser Homebrew | /add-goreleaser-homebrew |
Add GoReleaser and Homebrew tap publishing to an existing Go CLI project with conditional support for completions, man pages, and macOS-only builds. |
| Optimize Runner Usage | /optimize-runner-usage |
Add paths-ignore, concurrency groups, and timeout-minutes to existing GitHub Actions workflows. |
| Pin Everything | /pin-everything |
Pin every version surface in a repository (action SHAs, packageManager integrity digests, dependency exact-pins, runtime version files, install commands) for one-shot supply-chain hardening. |
| Set-Up CI | /set-up-ci |
Set up GitHub Actions CI with test, lint, format, and vulnerability check jobs, plus matching Makefile targets. |
| Set-Up Installers | /set-up-installers |
Set up installer and distribution methods for Go, Swift, Rust, and Zig projects: Homebrew tap, go/cargo install, and release workflow. |
| Set-Up Secret Scanning | /set-up-secret-scanning |
Set up secret scanning with gitleaks and TruffleHog GitHub Actions workflows and optional gitleaks configuration. |
| Upgrade Everything | /upgrade-everything |
Assess every version reference in a repository, evaluate available upgrades with repo-specific risk and reward, and present selectable upgrade options. |
| Write Homebrew Formula | /write-homebrew-formula |
Write or update Homebrew formulae using current Homebrew guidance and cboone/homebrew-tap conventions. |
External tools:
- Pin Everything:
gh,jq; optionalcorepack(only when pinning Yarn or pnpm) andreuse(only in REUSE-licensed repos) - Write Homebrew Formula: Homebrew for formula audit, style, install, and test validation
| Plugin | Trigger | What it does |
|---|---|---|
| Clean Up Agent Config | /clean-up-agent-config |
Review and reorganize AI coding agent configuration and instruction files across Claude Code, Codex, Copilot, and OpenCode. |
| Create Plugin | /create-plugin |
Guide for creating new plugins in this repository with consistent structure and conventions. |
Hooks are event-driven; they have no slash-command trigger.
| Plugin | What it does |
|---|---|
| Notify (macOS) | Sends macOS notifications when Claude Code, OpenCode, or Codex CLI finishes a task or needs your attention. |
External tools:
This repository works as a native Codex CLI plugin marketplace. Codex reads the generated .agents/plugins/marketplace.json, which points at committed plugin roots under dist/codex/plugins/. Those generated roots mirror the canonical plugins/* directories but replace skill frontmatter descriptions with shorter Codex-facing descriptions from the marketplace entries. The canonical plugins/*/skills/*/SKILL.md files keep their richer Claude Code trigger descriptions.
For per-plugin metadata Codex prefers .codex-plugin/plugin.json when present and falls back to .claude-plugin/plugin.json otherwise. Hook registration requires a .codex-plugin/plugin.json with a non-empty hooks path (for example "hooks": "./hooks/hooks.json"); this lets hook plugins point Codex at a Codex-compatible hook file. Codex exposes ${CLAUDE_PLUGIN_ROOT} to plugin-bundled hook commands for backward compatibility with existing Claude Code plugins.
Codex CLI currently manages plugins at the marketplace level. In Codex CLI 0.128.0, codex plugin exposes the marketplace subcommand with add, upgrade, and remove; it does not expose a separate codex plugin install subcommand.
Enable plugin-bundled hooks once per host so the notify hook fires:
codex features enable plugin_hooksPlugin-bundled hooks are gated behind the plugin_hooks feature flag (listed as under development in Codex CLI 0.128.0). Without it the marketplace add and skill discovery still work, but hooks/hooks.json files inside installed plugins are silently ignored.
Refresh a Git-backed marketplace after pulling repository updates or after a published release:
codex plugin marketplace upgrade agent-harness-pluginscodex plugin marketplace upgrade and remove take the marketplace name (agent-harness-plugins, derived from the repository name), not the owner/repo identifier used by add.
When changing plugin metadata, skills, hooks, scripts, or references, regenerate the Codex marketplace with bin/build-codex-marketplace and commit .agents/plugins/marketplace.json plus dist/codex/. For a local-path marketplace, restart Codex after changing plugin files so it can rebuild cached plugin copies from the local source.
Remove the configured marketplace by name:
codex plugin marketplace remove agent-harness-plugins- Plugin-bundled hooks are gated behind a feature flag.
plugin_hooksisunder developmentin Codex CLI 0.128.0 and isfalseby default. Runcodex features enable plugin_hooksonce before expectingnotifyto fire on Codex; see above. NotificationandPreCompacthook events are not supported. Codex CLI's hook schema only supportsPreToolUse,PermissionRequest,PostToolUse,SessionStart,UserPromptSubmit, andStop. Thenotifyplugin therefore wires only theStopandPermissionRequestevents on Codex (turn completion plus permission requests withApprove/Denybuttons). Idle, elicitation, and compact-style banners have no Codex hook equivalent; for those, enable Codex's built-intui.notifications = truein~/.codex/config.toml. The two are complementary and can run side by side. See thenotifyplugin README for details.- No custom prompts shipped. Codex's
~/.codex/prompts/mechanism is officially deprecated in favor of skills. This repository ships skills (and hooks), not prompts.
This repository also works with the skills and hooks in OpenCode via a committed mirror at dist/opencode/.
When adding or removing a plugin, regenerate the mirror with bin/build-opencode-mirror and commit the result. CI fails if the mirror drifts from the source plugins. Hooks are mirrored to dist/opencode/plugins/ as TypeScript plugins, sourced from each plugin's opencode/index.ts.
${CLAUDE_PLUGIN_ROOT}references do not expand. Some skills use Claude Code's@${CLAUDE_PLUGIN_ROOT}/references/...pattern to inline reference files at runtime. OpenCode does not expand this variable, so those inclusions appear to the agent as literal path strings rather than inlined content. The inline workflow text in each affected file still loads correctly. Affected skills:/add-goreleaser-homebrew,/scaffold-go-cli,/scaffold-go-library,/scaffold-new-repo,/scaffold-rust-cli,/set-up-ci,/set-up-secret-scanning,/create-plugin. For full fidelity in these cases, run them in Claude Code.- Hook event parity is approximate. OpenCode's event model collapses several distinct Claude Code notification matchers (
idle_prompt,elicitation_dialog,permission_prompt) and thePreCompactevent is mapped to an experimental OpenCode hook. See each hook's README for the specific mapping.
MIT License. TL;DR: Do whatever you want with this software, just keep the copyright notice included. The authors aren't liable if something goes wrong.