AO

alvinunreal/oh-my-opencode-slim

Developer tools
10.1K stars Quality 77 Trend 95MIT

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.

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:

  1. Log in to the providers you want to use if you haven’t already:

    opencode auth login
    
  2. Refresh and list the models OpenCode can see:

    opencode models --refresh
    
  3. Open your plugin config at ~/.config/opencode/oh-my-opencode-slim.json

  4. 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; --standalone hosts 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-slim skill 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 an observer model in your configuration. The bundled opencode-go install preset does this automatically because its GLM Orchestrator is not multimodal. Omitting image_routing preserves 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 @observer themselves 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


View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add alvinunreal/oh-my-opencode-slim
New to MCP? Start with the mcpskill.org guide →