
alvinunreal/oh-my-opencode-slim
Developer toolsSix divine beings emerged from the dawn of code, each an immortal master of their craft, awaiting your command to forge order from chaos and build what was once thought impossible.
Overview
Six divine beings emerged from the dawn of code, each an immortal master of their craft, awaiting your command to forge order from chaos and build what was once thought impossible.
README
What’s This Plugin
oh-my-opencode-slim is an agent orchestration plugin for OpenCode. It includes a built-in team of specialized agents that can scout a codebase, look up fresh documentation, review architecture, handle UI work, and execute well-scoped implementation tasks under one orchestrator.
The main idea is simple: instead of forcing one model to do everything, the plugin routes each part of the job to the agent best suited for it, balancing quality, speed and cost. The Orchestrator plans the work graph, dispatches specialists as background tasks, and reconciles their results before continuing.
✨ Highlights
- Deepwork for heavy programming sessions. Big projects get built in phases, with an Oracle review between each one.
- Agent Marketplace is live, and it grows with the community. Suggest an agent or open a PR on oh-my-opencode-marketplace to help build it.
- OmniRoute is your friend. One free gateway to hundreds of providers and models, with automatic fallback when a quota runs out. Mix models across the team without the account juggling.
- Want to use Claude? Check out ACP support: bring Claude Code in as a subagent the Orchestrator can delegate to.
- Make it yours. oh-my-opencode-slim is built to be customized, globally or per project: add new agents, override prompts, and rewrite the delegation rules so the Orchestrator routes work your way.
- Own your presets. Model lineups change fast, so the example presets go stale quickly. Use them for ideas, then build your own around the models you actually have.
What Users Say
“Task management went from 5/10 to 8-9/10 easily. The Orchestrator sends Fixers and Explorers, and I can still talk and plan with the Orchestrator in the same session. The experience feels way smoother now.”
-
vipor_idk
“I ditched all my harnesses for this beta version of omo-slim and don’t look back or miss anything. Great work and IMHO all in the right direction.”
-
stephanschielke
“I love omo-slim, and can’t imagine running opencode without it. I love that I can create a Frankenstein of models… Makes the setup such a beast.”
-
Capital-One3039
“It has significantly improved my workflow… Now, it is working very smoothly, and I love it.”
-
xenstar1
Merch · The Pantheon in gold
The six agents as gold tarot artwork, on clothing, desk gear and prints.
Explore the collection →
Quick Start
Copy and paste this prompt to your LLM agent (Claude Code, AmpCode, Cursor, etc.):
Install and configure oh-my-opencode-slim: https://raw.githubusercontent.com/alvinunreal/oh-my-opencode-slim/refs/heads/master/README.md
Manual Installation
bunx oh-my-opencode-slim@latest install
The published CLI is a Node-compatible bundle, so npx works too if you don’t
have Bun installed:
npx oh-my-opencode-slim@latest install
Run from Master
Use this if you want the latest code, easier bug fixes, or a local setup for development and contributions:
git clone https://github.com/alvinunreal/oh-my-opencode-slim.git ~/repos/oh-my-opencode-slim
cd ~/repos/oh-my-opencode-slim
bun install
bun run build
bun dist/cli/index.js install
The installer adds the local repo path to the plugin array in
~/.config/opencode/opencode.json, so OpenCode loads the plugin from that
folder. To update later:
cd ~/repos/oh-my-opencode-slim
git pull
bun install
bun run build
Getting Started
The installer generates both OpenAI and OpenCode Go presets, with OpenAI active by default.
[!TIP] Tune the models and agents for your own workflow. The defaults are only a starting point; the plugin is designed for deep flexibility and customization.
To make OpenCode Go active during install, run bunx oh-my-opencode-slim@latest install --preset=opencode-go or change the default preset name in ~/.config/opencode/oh-my-opencode-slim.json after installation.
Then:
-
Log in to the providers you want to use if you haven’t already:
opencode auth login -
Refresh and list the models OpenCode can see:
opencode models --refresh -
Open your plugin config at
~/.config/opencode/oh-my-opencode-slim.json -
Update the models you want for each agent
[!TIP] It’s recommended to understand how background orchestration works. The Orchestrator prompt contains the scheduler rules, specialist routing logic, and thresholds for when work should be assigned to background agents. You can always delegate manually by calling a subagent via:
@agentName
[!TIP] Because background agents are now the default workflow, it is highly recommended to enable and configure Multiplexer Integration. It automatically opens each agent in a dedicated Tmux, Zellij, Herdr, cmux, kitty, WezTerm, or Orca pane, so you can watch specialists work live while the Orchestrator continues coordinating the session. On OpenCode v2 hosts, panes work with the shared background service or an explicit
--server;--standalonehosts cannot host panes (one diagnostic per process; use v2’s native subagent surfaces instead).
The default generated configuration includes both openai and opencode-go presets.
{
"$schema": "https://unpkg.com/oh-my-opencode-slim@latest/oh-my-opencode-slim.schema.json",
"preset": "openai",
"presets": {
"openai": {
"orchestrator": { "model": "openai/gpt-6.1-sol", "variant": "medium", "skills": ["*"] },
"oracle": { "model": "openai/gpt-6.1-sol", "variant": "high", "skills": ["simplify"] },
"explorer": { "model": "openai/gpt-6-luna", "variant": "low", "skills": [] },
"designer": { "model": "openai/gpt-6-luna", "variant": "medium", "skills": [] },
"fixer": { "model": "openai/gpt-6.1-sol", "variant": "low", "skills": [] }
}
}
}
Presets can inherit from one base preset with extends: a design preset can
extend base and override only its designer model. On v2, /preset lets you
apply subagent inference settings to Current session or change the
Global default. /preset applies the preset to the session you are
in — no restart — while manual configuration edits change the default for
future sessions; existing work and its future subagents retain their saved
configuration until you explicitly reapply a preset to that session.
Already-created children keep their own configuration. Main-session models,
prompts, tools, skills and MCPs are not switched by the session action.
The sidebar shows the current session’s saved team models and variants;
/preset marks its bound preset separately from the global default.
On v1, reload OpenCode after applying a preset. See
Preset Switching for scope and timing, and
Configuration for the inheritance
example and precedence rules.
Preset Docs
Project settings in .opencode/oh-my-opencode-slim.json[c] are inherited from
ancestor directories, matching the host’s discovery: v2 walks to the filesystem
root; v1 stops at the Git worktree boundary. OPENCODE_DISABLE_PROJECT_CONFIG
disables the project walk.
Closer settings override matching fields. Prompt files and the optional
skills_include_local grants also search ancestor .opencode directories,
following OpenCode’s directory discovery. See
Configuration for precedence and trust boundaries.
[!TIP] Treat these presets as starting points, not recipes. Models change fast and presets go stale quickly. Build your own from the models you actually have access to rather than copy-pasting one blindly. The bundled
oh-my-opencode-slimskill can help: ask the Orchestrator to tune your setup.
- OpenAI Preset — the default generated preset; runs all agents on OpenAI models.
- OpenCode Go Preset — runs the agents on OpenCode Go models; enables the Observer agent for visual analysis since its orchestrator model isn’t multimodal.
- Author’s Preset — the exact config the author runs day to day, with third-party skills.
- $30 Preset — a mixed-provider setup built around Codex Plus and GitHub Copilot Pro for about $30/month.
- $40 Preset — a dual-subscription setup pairing Claude Pro and ChatGPT Plus for about $40/month.
For Alternative Providers
To use custom providers or a mixed-provider setup, use Configuration for the full reference.
✅ Verify Your Setup
After installation and authentication, verify all agents are configured and responding:
opencode
Then run:
ping all agents
If any agent fails to respond, check your provider authentication and config file.
🏛️ Meet the Pantheon
01. Orchestrator: The Embodiment Of Order
02. Explorer: The Eternal Wanderer
03. Oracle: The Guardian of Paths
04. Council: The Chorus of Minds
[!NOTE] Why doesn’t Orchestrator auto-call Council more often? This is intentional. Council runs multiple models at once, so automatic delegation is kept strict because it is usually the highest-cost path in the system. In practice, ask for it in your message — mentioning
council,@council,consensus,共识, or another trigger word injects the Council Mode procedure once per session (at the first trigger; later triggers don’t re-inject it) and the orchestrator dispatches every councillor seat in parallel, for example: run a council on these two architectures. The full procedure is never carried statically: sessions that never ask for a council pay zero tokens for it, and the injection can be turned off entirely with disabled_hooks: [“council-inject”].
05. Designer: The Guardian of Aesthetics
06. Fixer: The Last Builder
🛒 Marketplace
The Pantheon is open to newcomers. The Agent Marketplace is live: community-built specialist agents you can install with one command and add to your team.
Browse the Marketplace → · Submit your agent →
Add one to your team. Ask the Orchestrator (“install the Paladin agent from the marketplace”), or use the CLI from your project directory:
bunx oh-my-opencode-slim@latest marketplace install alvin/paladin
bunx oh-my-opencode-slim@latest marketplace enable alvin/paladin
Restart OpenCode afterwards; new agents join the registry on the next plugin load. Installed agents use your session model by default, and the Orchestrator routes work to them the same way it routes to the built-in specialists. See Marketplace packages for the full CLI, preset activation, and update flow.
Optional Agents
Observer: The Silent Witness
[!NOTE] Why a separate agent? If your Orchestrator model is not multimodal, enable Observer to handle images, screenshots, and other visual files. Observer is disabled by default and gives the Orchestrator a dedicated multimodal reader without forcing you to change your main reasoning model. Set
disabled_agents: []and anobservermodel in your configuration. The bundledopencode-goinstall preset does this automatically because its GLM Orchestrator is not multimodal. Omittingimage_routingpreserves existing conditional Observer behavior."auto"is capability-aware: models that accept image input keep attachments inline for native vision; non-vision chains get attachments saved under.opencode/images//with a delegation nudge by path."direct"always keeps image parts inline. Saved workspace images are not automatically deleted. Remove the whole.opencode/images/directory or a single session subdirectory manually when no longer needed (references in old conversations then stop resolving); images from session-less messages are saved at the top level.
[!TIP] Subagents reading images. Advisory subagents (explorer, oracle, designer, councillors) can dispatch
@observerthemselves for image files on disk. On OpenCode v2 hosts this needs one extra hop of nesting, which the host denies by default — set"experimental": { "subagent_depth": 2 }in your opencode config to enable it. Fixer, observer itself, and the council synthesizer stay non-spawning by design.
🧩 Skills
Skills are prompt-based instructions injected into an agent’s system prompt to
guide decisions, workflows, and tool use. Unlike MCPs (which are running
servers), a skill runs no process — it is a focused playbook an agent activates
when the task calls for it. The plugin registers its eight bundled skills
in-process at load — updates apply on restart, nothing is copied to disk. A
same-named skill directory under ~/.config/opencode/skills/ overrides the
bundled version.
| Skill | Purpose | Default agent | How to invoke |
|---|---|---|---|
codemap |
Hierarchical repository maps so agents understand codebases without re-reading everything | orchestrator |
run codemap |
deepwork |
Autonomous pass-by-pass workflow (sketch → structure → detail) for large, risky coding sessions, one review gate per pass | orchestrator |
/deepwork |
verification-planning |
Plans a project-specific evidence path before non-trivial changes | orchestrator |
automatic before non-trivial work |
simplify |
Behavior-preserving simplification for readability and maintainability | oracle |
ask for simplification or during review |
worktrees |
Git worktrees as safe, isolated coding lanes for risky or parallel work | orchestrator |
work in a worktree |
clonedeps |
Clones dependency source locally so agents can inspect library internals | orchestrator |
clone dependencies |
step-back |
Pauses snowballing patches to reassess direction and propose a cleaner path | orchestrator |
automatic when fixes start stacking |
deanchor |
Generalizes from examples instead of copying them with light edits | orchestrator |
automatic when a request includes examples |
ai-estimates |
Estimates task duration for a human working with AI, not alone | orchestrator |
ask how long something will take |
reflect |
Turns repeated workflow friction into reusable skills, agents, or config | orchestrator |
/reflect |
oh-my-opencode-slim |
Configures and safely improves the plugin setup itself | orchestrator |
ask to tune your setup |
Skill assignments are permission grants — an agent can only activate skills it
has been given. Configure them per agent with the skills array in
~/.config/opencode/oh-my-opencode-slim.json: an explicit list, "*" for
everything, or "!skill-name" to deny one.
See Skills for full documentation, or browse the illustrated overview at ohmyopencodeslim.com/skills.
🖥️ Companion
Native source and releases: oh-my-opencode-companion. The plugin keeps the installer, updater, and state integration; existing commands and configuration are unchanged.
The optional Companion is a floating desktop status window for live agent activity. It shows the current session state and which agents are active, so background work is easier to follow at a glance.
Companion is not part of the regular install. Add it any time after installing the plugin:
bunx oh-my-opencode-slim@latest companion install
This downloads the native binary for your platform and sets
"companion": { "enabled": true } in your config. Restart OpenCode to launch it.
See Companion for configuration, positions, sizes, and install details.
📚 Documentation
Use this section as a map: start with installation, then jump to features, configuration, or example presets depending on what you need.
✨ Features & Workflows
| Doc | What it covers |
|---|---|
| Council | Run multiple models in parallel and synthesize a single answer — keyword-triggered via the orchestrator’s Council Mode procedure |
| Custom Agents | Define your own specialists with custom prompts, models, MCP access, and Orchestrator delegation rules |
| ACP Agents | Connect external ACP-compatible agents such as Claude Code ACP or Gemini ACP as delegatable subagents; tool and plan progress streams to the TUI while they work |
| Multiplexer Integration | Watch agents work live in Tmux, Zellij, Herdr, cmux, kitty, WezTerm, or Orca panes |
| Codemap | Generate hierarchical codemaps to understand large codebases faster |
| Clonedeps | Clone selected dependency source into an ignored local workspace for inspection |
| Worktrees | Use .slim/worktrees/ lanes for isolated parallel or risky coding work |
| Preset Switching | Switch agent model presets at runtime with /preset |
| Interview | Turn rough ideas into a structured markdown spec through a browser-based Q&A flow, then implement it with /implement |
| Companion | Floating window companion for parsing, help, and types |
⚙️ Config & Reference
| Doc | What it covers |
|---|---|
| Installation Guide | Install the plugin, use CLI flags, reset config, and troubleshoot setup |
| OpenCode v2 Compatibility | Host contracts, feature matrix, entrypoints and package loading |
| Runtime Efficiency | Shared configuration reads, request-local facts, optional implementation loading and verification |
| Configuration | Config file locations, JSONC support, prompt overrides, and full option reference |
| Marketplace | Install, inspect, activate, and update marketplace agent packages |
| Project Customization | Repository-specific custom agents, prompt overrides, per-agent skills, and precedence |
| Background Orchestration | Scheduler-first orchestrator model built around native background subagents |
| Maintainer Guide | Issue triage rules, label meanings, support routing, and repo maintenance workflow |
| Developer Evals | Source-checkout routing/reliability harness, offline scoring, and advisory model judging |
| Skills | Bundled skills such as simplify, codemap, clonedeps, deepwork, verification-planning, step-back, deanchor, ai-estimates, reflect, worktrees, and oh-my-opencode-slim |
| MCPs | context7, gh_grep, and how MCP permissions work per agent |
| Tools | What Slim adds: background task control, ast_grep search, and the enhanced webfetch |
🏛️ Contributors
📄 License
MIT
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add alvinunreal/oh-my-opencode-slim