The repository provides 94 plugins (92 local + 2 external), 202 agents, 185 skills, and 105 commands for seven coding tools: Claude Code, OpenAI Codex CLI, Cursor, OpenCode, Google Antigravity CLI (agy), GitHub Copilot, and Pi. Shared source files use the Claude Code format, and adapters provide the formats used by other tools. External entries have their own tool support.
AGENTS.md is the canonical context file. Codex, Cursor, OpenCode, Antigravity CLI, GitHub Copilot, and Pi read it directly. Claude Code reads it via CLAUDE.md, a symlink to this file.
Read this file like a table of contents. Detail lives in
docs/. Authoring conventions live indocs/authoring.md. Per-harness setup and capability deltas live indocs/harnesses.md. This file should never grow beyond ~150 lines (per OpenAI's harness-engineering practice).
- ARCHITECTURE.md — top-level architectural overview (adapter framework, source-of-truth invariant, capability matrix summary)
- docs/architecture.md — detailed design principles
- docs/plugins.md — full plugin catalog (94 plugins by category)
- docs/agents.md — agent reference (202 agents, model tiers)
- docs/agent-skills.md — skill reference (progressive disclosure model)
- docs/usage.md — commands, workflows, examples
- docs/authoring.md — portable-content style guide (read before adding plugins)
- docs/harnesses.md — per-harness capability matrix
- docs/plugin-eval.md — three-layer quality evaluation framework
- docs/round-trip-results.md — real-CLI verification recipes
- docs/mlops.md — MLOps lab pipeline (W&B, Hugging Face, model release)
- CONTRIBUTING.md — how to contribute
- Python tooling: uv (package manager), ruff (lint/format), ty (type check). Do not use pip / mypy / black.
- Plugins live under
plugins/<name>/with auto-discovery — seedocs/authoring.mdfor frontmatter shapes. - Plugin names: lowercase, hyphen-separated. Never use
__(it's the adapter namespace separator). - Never commit secrets. Never run destructive git (force-push,
reset --hard, branch -D) without explicit ask.
make validate STRICT=1 # structural validation across all harness outputs
make garden # drift detection (dead links, stale artifacts, oversize skills)
make test # full pytest suite (plugin-eval + tools/tests/)
make smoke-test # real-CLI subprocess tests against generated artifactsCI (.github/workflows/validate.yml) runs all four on every PR plus installs OpenCode + Antigravity CLI + Pi for live verification.
make generate HARNESS=codex # .codex/skills, .codex/agents, .codex/plugins/<p>/, .agents/plugins/marketplace.json
make generate HARNESS=cursor # .cursor-plugin/{marketplace,plugin}.json, .cursor/rules/
make generate HARNESS=opencode # .opencode/{skills,agents,commands,plugins}/, opencode.json
make generate HARNESS=antigravity # .antigravity/plugins/<p>/
make generate HARNESS=copilot # .copilot/{skills,agents,commands}/
make generate HARNESS=pi # .pi/{skills,prompts,agents}/
make generate-all # every harnessSmall native-install registries are committed for tools that support that route. See the installation commands in docs/harnesses.md. The transformed skill and agent trees under .codex/, .opencode/, .copilot/, .antigravity/ and .pi/ stay gitignored and are rebuilt locally. Under .pi/ the generator owns only skills/, prompts/ and agents/, because Pi reads its own project config from the same directory. Run make generate-all before committing source changes. It also prunes artifacts whose source was removed, and CI fails on drift. Source files live only under plugins/. Never hand-edit generated files.
185 skills under plugins/*/skills/<n>/SKILL.md — discoverable by every harness:
- Claude Code: auto-discovery via Anthropic's SKILL.md spec
- Codex CLI: mirrored to
.codex/skills/<plugin>__<skill>/(8 KB body cap; detail inreferences/details.md) - OpenCode: mirrored to
.opencode/skills/<plugin>-<skill>/using hyphenated names for global install - Cursor: reads
.claude/skills/directly (no re-emit) - Antigravity CLI: native plugins at
.antigravity/plugins/<p>/— bareskills/<skill>/SKILL.md(no<plugin>__namespacing; the plugin dir already scopes it) - GitHub Copilot: mirrored to
.copilot/skills/<plugin>__<skill>/. Commands also become user-invocable skills. - Pi: mirrored to
.pi/skills/<plugin>/<skill>/; discovery is recursive so names stay bare - Skills-only installers:
gh skill install wshobson/agentsandnpx skills add wshobson/agentsreadplugins/*/skills/from GitHub directly (seedocs/harnesses.md);make smoke-testruns both plus the agentskills.io spec check
202 subagents under plugins/*/agents/<name>.md. Per-harness transpilation:
- Codex:
.codex/agents/<plugin>__<agent>.toml(droptools:, map model alias to the GPT-5.x family, infersandbox_mode) - OpenCode:
.opencode/agents/<plugin>__<agent>.mdwithmode: subagent+permission:block (locked agents — those with sourcetools: []— get deny-everything except baseskill/task) - Antigravity CLI:
.antigravity/plugins/<p>/agents/<agent>.md(Markdown + YAML frontmatter,model:is a tier alias —inherit/flash/pro); TOML commands atcommands/<p>/<cmd>.toml(agy reports these as "converted to skills"); global install viamake install-antigravitysymlinks each plugin into~/.gemini/config/plugins/ - GitHub Copilot:
.copilot/agents/<plugin>__<agent>.agent.mdprofiles with translated tool names and Claude model IDs. - Pi:
.pi/agents/<plugin>__<agent>.mdin the referencesubagentextension's format (name, description, tools, model); commands become prompt templates at.pi/prompts/<plugin>__<cmd>.md - Cursor: reads
.claude/agents/directly
Per OpenAI's harness-engineering practice: this file is a map, not an encyclopedia. Procedural detail lives in skills (loaded on demand by agents). Reference material lives in docs/ (loaded when an agent navigates). A single bloated AGENTS.md crowds out the task, rots quickly, and is hard to verify mechanically. Keep it lean; push detail elsewhere.