Two years of daily work with AI coding agents, distilled into a reproducible system. This repo is the full inventory: what's installed, how the pieces connect, and the patterns that work. It also serves as the portable source of truth for reproducing the setup on a new machine.
| Harness | Role | MCP Servers |
|---|---|---|
| Claude Code | Primary. Plugins, skills, hooks, commands all live here. | 10 servers: Exa, Google-PSE, Granola, HelpScout, Slack, nanobanana, Docker MCP, ChatPRD, 2 plugin MCPs |
| Codex CLI | Secondary. Gets skills via symlink. | Docker MCP, Playwright, Pencil, Linear |
| Gemini CLI | Tertiary. Gets skills via symlink. | Docker MCP, Playwright |
| OpenCode | Fourth. Gets skills via symlink. | Docker MCP, 4 Z.AI servers |
| Count | What | |
|---|---|---|
| 🏪 | 10 | Plugin marketplaces (Anthropic official, community, and personal) |
| 🔌 | 65 | Plugins providing agents, hooks, LSP integrations, and document tools |
| ⚡ | 77 | Unique skills (10 personal + 67 from plugins), synced across all harnesses |
| 🌐 | 10+ | MCP servers configured per-harness, Docker MCP Toolkit shared across all four |
| 🔧 | 30+ | CLI tools for service integrations, browser automation, and development runtimes |
| 🖥️ | 20+ | Apps and infrastructure including Docker Desktop, Obsidian, Superwhisper, and supporting macOS apps |
Patterns for how the tools compose together. These are atomic building blocks, not rigid pipelines. See workflows/README.md for details.
| Pattern | What It Does |
|---|---|
| Multi-Model Consultation | Three models (Gemini, Codex, Claude) review every hard problem in parallel via the braintrust plugin |
| Local Quality Gate | Run the quality-gate skill with --local during development for early issue detection |
| PR Review Pipeline | Full review combining agent reviews, Devin Review, and CodeRabbit in parallel |
| Design & Prototyping | Agentic CLI + frontend-design skill + nanobanana, or external tools (Stitch, v0, Lovable, Paper, Pencil) |
| Security | Layered: pre-commit credential scanning, codeguard-security plugin, full PR review pipeline |
| Knowledge Capture | Obsidian Knowledge Vault with Zettelkasten + CORE framework, semantic search via obsidian-graph-mcp (Voyage Context-3 + pgvector) |
| Skill Distribution | Automatic. Plugins install skills into Claude Code, sync script symlinks to all other harnesses on every session start |
Per-harness configuration, global instructions, hooks, and security settings.
| Config | What |
|---|---|
| Claude Code | CLAUDE.md global instructions, settings, hooks |
| Codex CLI | Settings, MCP servers, trusted projects |
| Gemini CLI | Settings, MCP servers, global instructions |
| OpenCode | Settings, MCP servers |
| Git | Global pre-commit hook (credential blocking, .env warning, npm audit) |
| Reference | What |
|---|---|
| Browser tools comparison | Command-by-command matrix: agent-browser (~130) vs dev-browser (~79) vs Claude-in-Chrome (~39) vs Playwright MCP (~42) |
The only executable code in this repo. Claude Code is the single source of truth for plugins and skills. The other three harnesses get read access through symlinks.
Claude Code plugins install skills
|
v
sync-skills.sh scans ~/.claude/skills/ and ~/.claude/plugins/cache/
|
v
Deduplicates by name (personal skills win over plugin skills)
|
v
Creates symlinks in ~/.gemini/skills/
~/.codex/skills/
~/.config/opencode/skills/
The script runs automatically via a SessionStart hook every time Claude Code starts. Silent, failure-safe.
zsh scripts/sync-skills.sh # sync all skills
zsh scripts/sync-skills.sh --dry-run # preview without changesReproducing on a new machine
curl -fsSL https://claude.ai/install.sh | bash # Claude Code
npm install -g @google/gemini-cli # Gemini CLI
brew install --cask codex # Codex CLI
curl -fsSL https://opencode.ai/install | bash # OpenCodegit clone https://github.com/drewburchfield/agentic-setup.git ~/dev/agentic-setupmkdir -p ~/.claude/scripts
ln -s ~/dev/agentic-setup/scripts/sync-skills.sh ~/.claude/scripts/sync-skills.shThen add the SessionStart hook to ~/.claude/settings.json (see hooks.md for the exact JSON).
See plugins.md for the full list. Marketplaces are added with claude plugin marketplace add <url>, then individual plugins are enabled in settings.
See mcp-servers.md for per-harness configuration. Docker MCP Toolkit is shared across all four harnesses.
cp ~/dev/agentic-setup/config/claude-code/CLAUDE.md ~/.claude/CLAUDE.md
mkdir -p ~/.claude/references
cp ~/dev/agentic-setup/references/* ~/.claude/references/See the settings reference for permissions, environment variables, and other settings to configure.
Day-to-day operations
All skills go through Claude Code. Never use npx skills add in project directories; it creates per-agent scaffolding that conflicts with the sync script.
cp -r /path/to/skill-name ~/.claude/skills/skill-name # must contain SKILL.md
zsh ~/dev/agentic-setup/scripts/sync-skills.sh # or wait for next session startFor npm packages, symlink instead of copying:
ln -s /opt/homebrew/lib/node_modules/agent-browser/skills/agent-browser ~/.claude/skills/agent-browserclaude plugin marketplace add <github-url> # add a new marketplace
# Then enable individual plugins from the marketplaceMCP servers are configured per-harness. See mcp-servers.md for config file locations and format.
- Don't use
npx skills addin project directories. It scatters.agent/,.claude/,.goose/,.kiro/,.windsurf/, andskills/directories that duplicate what the sync script handles. - Don't install skills directly into secondary harnesses. The sync script owns those directories.
- Don't use Gemini's Antigravity skill installer. It creates a separate index that duplicates what the sync script provides.