npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

omos-fitzpa

v1.1.2

Published

Lightweight agent orchestration plugin for OpenCode - a fork of oh-my-opencode-slim

Readme


What's This Plugin

omos-fitzpa is the published npm package and CLI for this maintained fork of oh-my-opencode-slim, 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.

Current capabilities include:

  • @reviewer for read-only changed-code review and /review-changes
  • @simplifier for behavior-preserving cleanup and /simplify-changes
  • optional post-edit automation that can run review or simplification after tracked edits
  • CodeGraph-aware guidance when a project has .codegraph/codegraph.db and an OpenCode MCP named codegraph
  • generated presets for openai, opencode-go, zen-max, zen-balanced, and zen-low

To explore the agents themselves, see Meet the Pantheon. For the full feature set, see Features & Workflows below.

Quick Start

Copy and paste this prompt to your LLM agent (Claude Code, AmpCode, Cursor, etc.):

Install and configure omos-fitzpa from npm using: bunx omos-fitzpa@latest install

Manual Installation

bunx omos-fitzpa@latest install

The installer also registers the companion TUI plugin in OpenCode's tui.json, which adds a small sidebar showing specialist-agent status plus active/reusable task sessions. It also warms OpenCode's plugin cache so bunx installs keep loading even after temporary directories are cleaned up. For manual setups, add omos-fitzpa to the plugin array in both opencode.json and tui.json.

If you previously installed the upstream oh-my-opencode-slim package or a local development checkout, rerun the installer above. It replaces old plugin entries with omos-fitzpa while preserving the existing ~/.config/opencode/oh-my-opencode-slim.json plugin configuration file unless you pass --reset.

Getting Started

The installer generates OpenAI, OpenCode Go, and OpenCode Zen presets, with OpenAI active by default. OpenAI uses openai/gpt-5.5 for the higher-judgment agents and openai/gpt-5.4-mini for the faster-scoped agents. To make another generated preset active during install, run bunx omos-fitzpa@latest install --preset=opencode-go, --preset=zen-max, --preset=zen-balanced, or --preset=zen-low, 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 automatic delegation works. The Orchestrator prompt contains the delegation rules, specialist routing logic, and the thresholds for when the main agent should hand work off to subagents. You can always delegate manually by calling a subagent via: @agentName <task>

The default generated configuration includes openai, opencode-go, zen-max, zen-balanced, and zen-low presets.

{
  "$schema": "https://unpkg.com/omos-fitzpa@latest/oh-my-opencode-slim.schema.json",
  "preset": "openai",
  "presets": {
    "openai": {
      "orchestrator": { "model": "openai/gpt-5.5", "skills": ["*"], "mcps": ["*", "!context7"] },
      "oracle": { "model": "openai/gpt-5.5", "variant": "high", "skills": ["simplify"], "mcps": [] },
      "librarian": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
      "explorer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] },
      "designer": { "model": "openai/gpt-5.4-mini", "variant": "medium", "skills": ["agent-browser"], "mcps": [] },
      "fixer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] },
      "reviewer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] },
      "simplifier": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] }
    },
    "opencode-go": {
      "orchestrator": { "model": "opencode-go/glm-5.1", "skills": [ "*" ], "mcps": [ "*", "!context7" ] },
      "oracle": { "model": "opencode-go/deepseek-v4-pro", "variant": "max", "skills": ["simplify"], "mcps": [] },
      "council": { "model": "opencode-go/deepseek-v4-pro", "variant": "high", "skills": [], "mcps": [] },
      "librarian": { "model": "opencode-go/minimax-m2.7", "skills": [], "mcps": [ "websearch", "context7", "grep_app" ] },
      "explorer": { "model": "opencode-go/minimax-m2.7", "skills": [], "mcps": [] },
      "designer": { "model": "opencode-go/kimi-k2.6", "variant": "medium", "skills": [ "agent-browser" ], "mcps": [] },
      "fixer": { "model": "opencode-go/deepseek-v4-flash", "variant": "high", "skills": [], "mcps": [] },
      "reviewer": { "model": "opencode-go/deepseek-v4-flash", "variant": "high", "skills": [], "mcps": [] },
      "simplifier": { "model": "opencode-go/deepseek-v4-flash", "variant": "high", "skills": [], "mcps": [] },
      "observer": { "model": "opencode-go/kimi-k2.6", "skills": [], "mcps": [] }
    },
    "zen-balanced": {
      "orchestrator": {
        "model": [
          { "id": "opencode/glm-5.1", "variant": "medium" },
          { "id": "opencode/gpt-5.3-codex", "variant": "medium" },
          { "id": "opencode/kimi-k2.6", "variant": "medium" },
          { "id": "opencode/gpt-5.4-mini", "variant": "medium" }
        ],
        "skills": ["*"],
        "mcps": ["*", "!context7"]
      },
      "oracle": {
        "model": [
          { "id": "opencode/gpt-5.3-codex", "variant": "high" },
          { "id": "opencode/glm-5.1", "variant": "high" },
          { "id": "opencode/kimi-k2.6", "variant": "high" },
          { "id": "opencode/claude-haiku-4-5", "variant": "high" }
        ],
        "skills": ["simplify"],
        "mcps": []
      },
      "reviewer": {
        "model": [
          { "id": "opencode/gpt-5.3-codex", "variant": "medium" },
          { "id": "opencode/glm-5.1", "variant": "medium" },
          { "id": "opencode/claude-haiku-4-5", "variant": "medium" }
        ],
        "skills": [],
        "mcps": []
      },
      "simplifier": {
        "model": [
          { "id": "opencode/gpt-5.4-mini", "variant": "medium" },
          { "id": "opencode/minimax-m2.7", "variant": "medium" },
          { "id": "opencode/kimi-k2.6", "variant": "medium" }
        ],
        "skills": [],
        "mcps": []
      }
    }
  }
}

The Zen presets use the opencode/... provider IDs from OpenCode Zen. zen-max prefers the strongest non-Pro models while avoiding gpt-5.4-pro, gpt-5.5-pro, and claude-opus-4-7; zen-balanced uses efficient paid models; zen-low keeps paid cheap models first and free models late in fallback chains to reduce rate-limit risk.

For CodeGraph-aware discovery, configure an OpenCode MCP named codegraph and generate .codegraph/codegraph.db in the project. Agents only receive the guidance when their mcps list allows codegraph. See MCPs for details.

For Alternative Providers

To use custom providers or a mixed-provider setup, use Configuration for the full reference. If you want a ready-made starting point, check the Author's Preset and $30 Preset - the $30 preset is the best cheap setup.

The configuration guide also covers custom subagents via agents.<name>, where you can define both a normal prompt and an orchestratorPrompt block for delegation.

For model suggestions, see the Recommended Models listed under each agent below.

✅ 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, Council is meant to be used manually when you want it, for example: @council compare these two architectures.


05. Librarian: The Weaver of Knowledge


06. Designer: The Guardian of Aesthetics


07. Fixer: The Last Builder


08. Reviewer: The Watchful Auditor

Read-only changed-code review — reviews staged, unstaged, and untracked working tree changes for bugs, correctness, security, regressions, and missing tests. Use @reviewer directly or run /review-changes.

  • Default model: openai/gpt-5.4-mini
  • Best for routine review of bounded changes
  • Use @oracle instead when review requires architecture-level judgment or high-risk trade-off analysis

Prompt: src/agents/reviewer.ts


09. Simplifier: The Careful Refiner

Behavior-preserving cleanup — simplifies recently changed code without changing public APIs, error messages, execution order, async behavior, or side effects. Use @simplifier directly or run /simplify-changes.

  • Default model: openai/gpt-5.4-mini
  • Best for local cleanup, reduced nesting, redundant checks, and clearer changed code
  • Skips changes when behavior preservation is uncertain

Prompt: src/agents/simplifier.ts


Optional Agents

Observer: The Silent Witness

[!NOTE] Why a separate agent? If your Orchestrator model is not multimodal, enable Observer to handle images, screenshots, PDFs, 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.

Read-only visual analysis — interprets images, screenshots, PDFs, and diagrams. Returns structured observations to the orchestrator without loading raw file bytes into the main context window.

  • Images, screenshots, diagrams → read tool (native image support)

  • PDFs and binary documents → read tool (text + structure extraction)

  • Disabled by default — enable with "disabled_agents": [] and configure a vision-capable model; installing with --preset=opencode-go enables it with opencode-go/kimi-k2.6


📚 Documentation

Use this section as a map: start with installation, then jump to features, configuration, or example presets depending on what you need.

🚀 Start Here

| Doc | What it covers | |-----|----------------| | Installation Guide | Install the plugin, use CLI flags, reset config, and troubleshoot setup |

✨ Features & Workflows

| Doc | What it covers | |-----|----------------| | Council | Run multiple models in parallel and synthesize a single answer with @council | | Multiplexer Integration | Watch agents work live in Tmux or Zellij panes | | Session Management | Reuse recent child-agent sessions with short aliases instead of starting over | | Todo Continuation | Auto-continue orchestrator sessions with cooldowns and safety checks | | Preset Switching | Switch agent model presets at runtime with /preset | | Subtask | Run a bounded child worker with /subtask and return a structured summary to the main session | | Configuration | Optional post-edit /review-changes and /simplify-changes automation | | Codemap | Generate hierarchical codemaps to understand large codebases faster | | Clonedeps | Clone selected dependency source into an ignored local workspace for inspection | | Interview | Turn rough ideas into a structured markdown spec through a browser-based Q&A flow | | Divoom Display | Mirror orchestrator and specialist-agent activity to a Divoom MiniToo Bluetooth display |

⚙️ Config & Reference

| Doc | What it covers | |-----|----------------| | Configuration | Config file locations, JSONC support, prompt overrides, and full option reference | | Maintainer Guide | Issue triage rules, label meanings, support routing, and repo maintenance workflow | | Skills | Built-in and recommended skills such as simplify, agent-browser, codemap, and clonedeps | | MCPs | websearch, context7, grep_app, and how MCP permissions work per agent | | Tools | Built-in tool capabilities like webfetch, LSP tools, code search, and formatters |

💡 Presets

| Doc | What it covers | |-----|----------------| | Author's Preset | The author's daily mixed-provider setup | | $30 Preset | A budget mixed-provider setup for around $30/month | | OpenCode Go Preset | The bundled opencode-go preset generated by the installer | | OpenCode Zen Presets | Bundled zen-max, zen-balanced, and zen-low generated presets |


🏛️ Contributors

All Contributors


📄 License

MIT