| Dimension | Shared | Only in A | Only in B | Overlap |
|---|---|---|---|---|
| Sections | 0 | 8 | 8 | 0% |
| Commands | 1 | 2 | 9 | 8% |
| Section tags | 0 | 2 | 6 | 0% |
What each file covers
Sections
0 shared · 8 only in A · 8 only in B- − Gemini CLI — setup guide
- − Install
- − restart Gemini CLI
- − What you get
- − Companion Memory Extension
- − Gemini-specific differences
- − Regenerating
- − See also
- + claude-agents — multi-harness agentic plugin marketplace
- + Map
- + Working in this repo
- + Quality gates (run these before pushing)
- + Regenerating per-harness artifacts
- + Skills (cross-harness)
- + Subagents (cross-harness)
- + Why this file is short
Commands
1 shared · 2 only in A · 9 only in B- − make generate HARNESS=gemini PLUGIN=javascript-typescript
- − make clean-generated HARNESS=gemini
- + make validate STRICT=1
- + make garden
- + make test
- + make smoke-test
- + make generate HARNESS=codex
- + make generate HARNESS=cursor
- + make generate HARNESS=opencode
- + make generate-all
- + task
- make generate HARNESS=gemini
Section tags
0 shared · 2 only in A · 6 only in B- − setup
- − performance
- + test
- + lint-format
- + code-style
- + security
- + do-not
- + agent-behaviour
Line diff
wshobson/agents · GEMINI.md
@@ −1 @@
1# Gemini CLI — setup guide
2
3> The canonical context file is [`AGENTS.md`](AGENTS.md) at the repo root. Gemini CLI reads it via `.gemini/settings.json` (`context.fileName`). This guide covers Gemini-specific setup only.
4
5## Install
6
7```bash
8gemini extensions install https://github.com/wshobson/agents
9cd ~/.gemini/extensions/claude-code-workflows
10make generate HARNESS=gemini
11# restart Gemini CLI
12```
13
14## What you get
15
16- **156 skills** at `skills/<plugin>__<skill>/SKILL.md` — described in `AGENTS.md`. Describe a task to activate.
17- **192 subagents** at `agents/<plugin>__<agent>.md` — invoke with `@<agent>`.
18- **102 slash commands** at `/<plugin>:<command>` — use `/help` to list.
19
20## Companion Memory Extension
21
22Pensyve is maintained upstream as a separate Gemini CLI extension with MCP-backed
23memory and context injection:
24
25```bash
26gemini extensions install https://github.com/major7apps/pensyve
27```
28
29## Gemini-specific differences
30
31| Capability | Claude Code | Gemini CLI |
32|---|---|---|
33| Plugin installation | `/plugin install` | `gemini extensions install <url>` |
34| Context file | reads `CLAUDE.md` (a symlink to `AGENTS.md`) | reads via `.gemini/settings.json` redirect to AGENTS.md |
35| Per-agent tool allowlist | `tools:` (always) | `tools:` (honored — remapped to Gemini-native names) |
36| Skill / agent discovery | native | native (skills/, agents/ at extension root) |
37| Model assignment | per-agent | session-level (override via `model:` frontmatter) |
38| `TodoWrite` tool | yes | no equivalent |
39
40## Regenerating
41
42```bash
43make generate HARNESS=gemini # all plugins
44make generate HARNESS=gemini PLUGIN=javascript-typescript # one plugin
45make clean-generated HARNESS=gemini # remove output
46```
47
48## See also
49
50- [`AGENTS.md`](AGENTS.md) — canonical context (cross-harness conventions)
51- [`docs/harnesses.md`](docs/harnesses.md) — full capability matrix
52- [`docs/round-trip-results.md`](docs/round-trip-results.md) — Gemini round-trip verification recipe
53
wshobson/agents · AGENTS.md
@@ +1 @@
1# claude-agents — multi-harness agentic plugin marketplace
2
3Production-ready agentic-workflow building blocks: **94 plugins** (90 local + 4 external), **203 agents**, **175 skills**, **109 commands**. Native source-of-truth for Claude Code; also consumed by OpenAI Codex CLI, Cursor, OpenCode, and Gemini CLI from a single Markdown source.
4
5This file is the canonical context file. Codex / Cursor / OpenCode read it directly. Claude Code reads it via `CLAUDE.md`, a symlink to this file. Gemini CLI reads it via `gemini-extension.json` (`contextFileName`) / `.gemini/settings.json`.
6
7> **Read this file like a table of contents.** Detail lives in `docs/`. Authoring conventions live in `docs/authoring.md`. Per-harness setup and capability deltas live in [`docs/harnesses.md`](docs/harnesses.md). Gemini-specific setup is in `GEMINI.md` (also auto-loaded by Gemini CLI). This file should never grow beyond ~150 lines (per OpenAI's [harness-engineering](https://openai.com/index/harness-engineering/) practice).
8
9## Map
10
11- **[ARCHITECTURE.md](ARCHITECTURE.md)** — top-level architectural overview (adapter framework, source-of-truth invariant, capability matrix summary)
12- **[docs/architecture.md](docs/architecture.md)** — detailed design principles
13- **[docs/plugins.md](docs/plugins.md)** — full plugin catalog (94 plugins by category)
14- **[docs/agents.md](docs/agents.md)** — agent reference (203 agents, model tiers)
15- **[docs/agent-skills.md](docs/agent-skills.md)** — skill reference (progressive disclosure model)
16- **[docs/usage.md](docs/usage.md)** — commands, workflows, examples
17- **[docs/authoring.md](docs/authoring.md)** — portable-content style guide (read before adding plugins)
18- **[docs/harnesses.md](docs/harnesses.md)** — per-harness capability matrix
19- **[docs/plugin-eval.md](docs/plugin-eval.md)** — three-layer quality evaluation framework
20- **[docs/round-trip-results.md](docs/round-trip-results.md)** — real-CLI verification recipes
21- **[CONTRIBUTING.md](CONTRIBUTING.md)** — how to contribute
22
23## Working in this repo
24
25- Python tooling: **uv** (package manager), **ruff** (lint/format), **ty** (type check). Do not use pip / mypy / black.
26- Plugins live under `plugins/<name>/` with auto-discovery — see `docs/authoring.md` for frontmatter shapes.
27- Plugin names: lowercase, hyphen-separated. Never use `__` (it's the adapter namespace separator).
28- Never commit secrets. Never run destructive git (force-push, `reset --hard`, branch -D) without explicit ask.
29
30## Quality gates (run these before pushing)
31
32```bash
33make validate STRICT=1 # structural validation across all harness outputs
34make garden # drift detection (dead links, stale artifacts, oversize skills)
35make test # full pytest suite (plugin-eval + tools/tests/)
36make smoke-test # real-CLI subprocess tests against generated artifacts
37```
38
39CI (`.github/workflows/validate.yml`) runs all four on every PR plus installs OpenCode + Gemini CLI for live verification.
40
41## Regenerating per-harness artifacts
42
43```bash
44make generate HARNESS=codex # .codex/skills, .codex/agents, .codex/plugins/<p>/, .agents/plugins/marketplace.json
45make generate HARNESS=cursor # .cursor-plugin/{marketplace,plugin}.json, .cursor/rules/
46make generate HARNESS=opencode # .opencode/{skills,agents,commands,plugins}/, opencode.json
47make generate HARNESS=gemini # skills/, agents/, commands/ at extension root
48make generate-all # all four
49```
50
51Generated artifacts are **committed** so each harness installs natively from a clone / GitHub URL (native-install commands in [`docs/harnesses.md`](docs/harnesses.md)). Run `make generate-all` before committing source changes — CI fails on drift. Source-of-truth lives only under `plugins/`; never hand-edit generated files.
52
53## Skills (cross-harness)
54
55175 skills under `plugins/*/skills/<n>/SKILL.md` — discoverable by every harness:
56
57- **Claude Code**: auto-discovery via Anthropic's SKILL.md spec
58- **Codex CLI**: mirrored to `.codex/skills/<plugin>__<skill>/` (8 KB body cap; detail in `references/details.md`)
59- **OpenCode**: mirrored to `.opencode/skills/<plugin>-<skill>/` using hyphenated names for global install
60- **Cursor**: reads `.claude/skills/` directly (no re-emit)
61- **Gemini CLI**: native skills at `skills/<plugin>__<skill>/SKILL.md`
62
63Top-level `skills/` is Gemini output; do not use it for OpenCode installs.
64
65## Subagents (cross-harness)
66
67203 subagents under `plugins/*/agents/<name>.md`. Per-harness transpilation:
68
69- **Codex**: `.codex/agents/<plugin>__<agent>.toml` (drop `tools:`, map model alias to the GPT-5.x family, infer `sandbox_mode`)
70- **OpenCode**: `.opencode/agents/<plugin>__<agent>.md` with `mode: subagent` + `permission:` block (locked agents — those with source `tools: []` — get deny-everything except base `skill`/`task`)
71- **Gemini**: `agents/<plugin>__<agent>.md` (April 2026 subagent spec)
72- **Cursor**: reads `.claude/agents/` directly
73
74## Why this file is short
75
76Per 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.
77
@@ −1 +1 @@
1−# Gemini CLI — setup guide
1+# claude-agents — multi-harness agentic plugin marketplace
22
3−> The canonical context file is [`AGENTS.md`](AGENTS.md) at the repo root. Gemini CLI reads it via `.gemini/settings.json` (`context.fileName`). This guide covers Gemini-specific setup only.
3+Production-ready agentic-workflow building blocks: **94 plugins** (90 local + 4 external), **203 agents**, **175 skills**, **109 commands**. Native source-of-truth for Claude Code; also consumed by OpenAI Codex CLI, Cursor, OpenCode, and Gemini CLI from a single Markdown source.
44
5−## Install
5+This file is the canonical context file. Codex / Cursor / OpenCode read it directly. Claude Code reads it via `CLAUDE.md`, a symlink to this file. Gemini CLI reads it via `gemini-extension.json` (`contextFileName`) / `.gemini/settings.json`.
66
7−```bash
8−gemini extensions install https://github.com/wshobson/agents
9−cd ~/.gemini/extensions/claude-code-workflows
10−make generate HARNESS=gemini
11−# restart Gemini CLI
12−```
7+> **Read this file like a table of contents.** Detail lives in `docs/`. Authoring conventions live in `docs/authoring.md`. Per-harness setup and capability deltas live in [`docs/harnesses.md`](docs/harnesses.md). Gemini-specific setup is in `GEMINI.md` (also auto-loaded by Gemini CLI). This file should never grow beyond ~150 lines (per OpenAI's [harness-engineering](https://openai.com/index/harness-engineering/) practice).
138
14−## What you get
9+## Map
1510
16−- **156 skills** at `skills/<plugin>__<skill>/SKILL.md` — described in `AGENTS.md`. Describe a task to activate.
17−- **192 subagents** at `agents/<plugin>__<agent>.md` — invoke with `@<agent>`.
18−- **102 slash commands** at `/<plugin>:<command>` — use `/help` to list.
11+- **[ARCHITECTURE.md](ARCHITECTURE.md)** — top-level architectural overview (adapter framework, source-of-truth invariant, capability matrix summary)
12+- **[docs/architecture.md](docs/architecture.md)** — detailed design principles
13+- **[docs/plugins.md](docs/plugins.md)** — full plugin catalog (94 plugins by category)
14+- **[docs/agents.md](docs/agents.md)** — agent reference (203 agents, model tiers)
15+- **[docs/agent-skills.md](docs/agent-skills.md)** — skill reference (progressive disclosure model)
16+- **[docs/usage.md](docs/usage.md)** — commands, workflows, examples
17+- **[docs/authoring.md](docs/authoring.md)** — portable-content style guide (read before adding plugins)
18+- **[docs/harnesses.md](docs/harnesses.md)** — per-harness capability matrix
19+- **[docs/plugin-eval.md](docs/plugin-eval.md)** — three-layer quality evaluation framework
20+- **[docs/round-trip-results.md](docs/round-trip-results.md)** — real-CLI verification recipes
21+- **[CONTRIBUTING.md](CONTRIBUTING.md)** — how to contribute
1922
20−## Companion Memory Extension
23+## Working in this repo
2124
22−Pensyve is maintained upstream as a separate Gemini CLI extension with MCP-backed
23−memory and context injection:
25+- Python tooling: **uv** (package manager), **ruff** (lint/format), **ty** (type check). Do not use pip / mypy / black.
26+- Plugins live under `plugins/<name>/` with auto-discovery — see `docs/authoring.md` for frontmatter shapes.
27+- Plugin names: lowercase, hyphen-separated. Never use `__` (it's the adapter namespace separator).
28+- Never commit secrets. Never run destructive git (force-push, `reset --hard`, branch -D) without explicit ask.
2429
30+## Quality gates (run these before pushing)
31+
2532 ```bash
26−gemini extensions install https://github.com/major7apps/pensyve
33+make validate STRICT=1 # structural validation across all harness outputs
34+make garden # drift detection (dead links, stale artifacts, oversize skills)
35+make test # full pytest suite (plugin-eval + tools/tests/)
36+make smoke-test # real-CLI subprocess tests against generated artifacts
2737 ```
2838
29−## Gemini-specific differences
39+CI (`.github/workflows/validate.yml`) runs all four on every PR plus installs OpenCode + Gemini CLI for live verification.
3040
31−| Capability | Claude Code | Gemini CLI |
32−|---|---|---|
33−| Plugin installation | `/plugin install` | `gemini extensions install <url>` |
34−| Context file | reads `CLAUDE.md` (a symlink to `AGENTS.md`) | reads via `.gemini/settings.json` redirect to AGENTS.md |
35−| Per-agent tool allowlist | `tools:` (always) | `tools:` (honored — remapped to Gemini-native names) |
36−| Skill / agent discovery | native | native (skills/, agents/ at extension root) |
37−| Model assignment | per-agent | session-level (override via `model:` frontmatter) |
38−| `TodoWrite` tool | yes | no equivalent |
41+## Regenerating per-harness artifacts
3942
40−## Regenerating
41−
4243 ```bash
43−make generate HARNESS=gemini # all plugins
44−make generate HARNESS=gemini PLUGIN=javascript-typescript # one plugin
45−make clean-generated HARNESS=gemini # remove output
44+make generate HARNESS=codex # .codex/skills, .codex/agents, .codex/plugins/<p>/, .agents/plugins/marketplace.json
45+make generate HARNESS=cursor # .cursor-plugin/{marketplace,plugin}.json, .cursor/rules/
46+make generate HARNESS=opencode # .opencode/{skills,agents,commands,plugins}/, opencode.json
47+make generate HARNESS=gemini # skills/, agents/, commands/ at extension root
48+make generate-all # all four
4649 ```
4750
48−## See also
51+Generated artifacts are **committed** so each harness installs natively from a clone / GitHub URL (native-install commands in [`docs/harnesses.md`](docs/harnesses.md)). Run `make generate-all` before committing source changes — CI fails on drift. Source-of-truth lives only under `plugins/`; never hand-edit generated files.
4952
50−- [`AGENTS.md`](AGENTS.md) — canonical context (cross-harness conventions)
51−- [`docs/harnesses.md`](docs/harnesses.md) — full capability matrix
52−- [`docs/round-trip-results.md`](docs/round-trip-results.md) — Gemini round-trip verification recipe
53+## Skills (cross-harness)
54+
55+175 skills under `plugins/*/skills/<n>/SKILL.md` — discoverable by every harness:
56+
57+- **Claude Code**: auto-discovery via Anthropic's SKILL.md spec
58+- **Codex CLI**: mirrored to `.codex/skills/<plugin>__<skill>/` (8 KB body cap; detail in `references/details.md`)
59+- **OpenCode**: mirrored to `.opencode/skills/<plugin>-<skill>/` using hyphenated names for global install
60+- **Cursor**: reads `.claude/skills/` directly (no re-emit)
61+- **Gemini CLI**: native skills at `skills/<plugin>__<skill>/SKILL.md`
62+
63+Top-level `skills/` is Gemini output; do not use it for OpenCode installs.
64+
65+## Subagents (cross-harness)
66+
67+203 subagents under `plugins/*/agents/<name>.md`. Per-harness transpilation:
68+
69+- **Codex**: `.codex/agents/<plugin>__<agent>.toml` (drop `tools:`, map model alias to the GPT-5.x family, infer `sandbox_mode`)
70+- **OpenCode**: `.opencode/agents/<plugin>__<agent>.md` with `mode: subagent` + `permission:` block (locked agents — those with source `tools: []` — get deny-everything except base `skill`/`task`)
71+- **Gemini**: `agents/<plugin>__<agent>.md` (April 2026 subagent spec)
72+- **Cursor**: reads `.claude/agents/` directly
73+
74+## Why this file is short
75+
76+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.
5377
