Skip to agent bundles
dotfilesGitHub

Workstation field guide / agent bundles

Agent bundles

7 bundles5 harnesses
01

Reference

Bundles

Open a bundle for its tutorial, tasks, inventory and design.

02

Reference

Harness support

Which harness loads each bundle part.

PartClaude CodeOMPPiZotCodex
Skillsskills/**/SKILL.md. Instructions that the agent or the user invokes. supported supported supported supported not supported
Agentsagents/*.md. Subagent definitions with a role and a tool list. supported supported supported not supported not supported
Hookshooks/hooks.json. Commands that run on harness events, such as SessionStart. supported supported not supported supported not supported
Extensionsextensions/. TypeScript modules that add commands and UI to OMP and Pi. not supported supported supported not supported not supported
03

Reference

Harnesses

How each harness finds the bundles.

Harnessmise moduleInstallReadsHooks
Claude Codedevtools-claudemise run claude.bootstrap (runs claude plugin install <bundle>@zenobius-agent-bundles).claude-plugin/plugin.json, skills/, agents/*.md, hooks/hooks.jsonhooks/hooks.json, loaded with the plugin. Claude runs a cached copy, so reinstall the plugin after a change.
OMPdevtools-ompmise symlinks ~/.omp/agent/bundles/<bundle> to the bundlepackage.json (pi key), skills/, agents/*.md, extensions/~/.agents/hooks/<name>.json, in the Claude hook format. devtools-agent links each bundle's hooks.json there.
Pidevtools-pimise symlinks ~/.pi/agent/bundles/<bundle> to the bundlepackage.json (pi key), skills/, agents/*.md, extensions/No hook route is wired.
Zotdevtools-agentmise symlinks ~/.local/state/zot/extensions/<bundle> to the bundleextension.json, skills/The zot-claude-hooks extension (devtools-zot) runs Claude-format hooks.
Codexnot supported—Not wired. No mise module installs the bundles for Codex.—Not supported.
04

Explanation

How a bundle works

One folder, three manifests, many harnesses.

An agent bundle is one folder under mise/conf.d/devtools-agent/bundles/. It holds skills, and it can also hold agents, hooks and extensions. Each harness reads the same folder through its own manifest, so one change reaches every supported harness.

A bundle has three manifests. .claude-plugin/plugin.json is for Claude Code, package.json (the pi key) is for OMP and Pi, and extension.json is for Zot. mise installs or links the bundle for each harness. Claude Code installs a copy into its plugin cache. The other harnesses read the folder through a symlink, so they see a change at once.

Hooks use the Claude Code hook format everywhere. OMP reads them from ~/.agents/hooks/, and Zot runs them through the zot-claude-hooks extension. A hook script must exit with code 0 and print nothing when it has nothing to say, so that it never blocks a session.

Skill scripts are relative to the installed skill folder, not to the repository. Each script is TypeScript, run by Bun through mise exec.