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

oh-my-codes

v3.17.16

Published

The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools

Readme

CI publish

Oh My Codes

You're juggling Claude Code, Codex, random OSS models. Configuring workflows. Debugging agents.

We did the work. Tested everything. Kept what actually shipped.

Install OmO. Type ultrawork. Done.

Installation

Run the interactive installer:

npx oh-my-codes install
# or
bunx oh-my-codes install
# or
yarn dlx oh-my-codes install

Follow the prompts to configure your subscriptions. See the Installation Guide for details.

Note: Use the published package and binary name oh-my-codes. Plugin config files use oh-my-codes.json or oh-my-codes.jsonc.

Anonymous telemetry is enabled by default to help improve install and runtime reliability. It uses PostHog with a hashed installation identifier, never the raw hostname, and can be disabled with OMO_SEND_ANONYMOUS_TELEMETRY=0 or OMO_DISABLE_POSTHOG=1. See Privacy Policy and Terms of Service.


Highlights

🪄 ultrawork

You're actually reading this? Wild.

Install. Type ultrawork (or ulw). Done.

Everything below, every feature, every optimization, you don't need to know it. It just works.

Even only with following subscriptions, ultrawork will work well (this project is not affiliated, this is just personal recommendation):

| | Feature | What it does | | :-: | :------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 🤖 | Discipline Agents | Sisyphus orchestrates Hephaestus, Oracle, Librarian, Explore. A full AI dev team in parallel. | | ⚡ | ultrawork / ulw | One word. Every agent activates. Doesn't stop until done. | | 🚪 | IntentGate | Analyzes true user intent before classifying or acting. No more literal misinterpretations. | | 🔗 | Hash-Anchored Edit Tool | LINE#ID content hash validates every change. Zero stale-line errors. Inspired by oh-my-pi. The Harness Problem → | | 🛠️ | LSP + AST-Grep | Workspace rename, pre-build diagnostics, AST-aware rewrites. IDE precision for agents. | | 🧠 | Background Agents | Fire 5+ specialists in parallel. Context stays lean. Results when ready. | | 📚 | Built-in MCPs | Exa (web search), Context7 (official docs), Grep.app (GitHub search). Always on. | | 🔁 | Ralph Loop / /ulw-loop | Self-referential loop. Doesn't stop until 100% done. | | ✅ | Todo Enforcer | Agent goes idle? System yanks it back. Your task gets done, period. | | 💬 | Comment Checker | No AI slop in comments. Code reads like a senior wrote it. | | 🖥️ | Tmux Integration | Full interactive terminal. REPLs, debuggers, TUIs. All live. | | 🔌 | Claude Code Compatible | Your hooks, commands, skills, MCPs, and plugins? All work here. | | 🎯 | Skill-Embedded MCPs | Skills carry their own MCP servers. No context bloat. | | 📋 | Prometheus Planner | Interview-mode strategic planning before any execution. | | 🔍 | /init-deep | Auto-generates hierarchical AGENTS.md files throughout your project. Great for both token efficiency and your agent's performance |

Discipline Agents

Sisyphus (claude-opus-4-7 / kimi-k2.5 / glm-5 ) is your main orchestrator. He plans, delegates to specialists, and drives tasks to completion with aggressive parallel execution. He does not stop halfway.

Hephaestus (gpt-5.4) is your autonomous deep worker. Give him a goal, not a recipe. He explores the codebase, researches patterns, and executes end-to-end without hand-holding. The Legitimate Craftsman.

Prometheus (claude-opus-4-7 / kimi-k2.5 / glm-5 ) is your strategic planner. Interview mode: it questions, identifies scope, and builds a detailed plan before a single line of code is touched.

Every agent is tuned to its model's specific strengths. No manual model-juggling. Learn more →

Anthropic blocked OpenCode because of us. That's why Hephaestus is called "The Legitimate Craftsman." The irony is intentional.

We run best on Opus, but Kimi K2.5 + GPT-5.4 already beats vanilla Claude Code. Zero config needed.

Agent Orchestration

When Sisyphus delegates to a subagent, it doesn't pick a model. It picks a category. The category maps automatically to the right model:

| Category | What it's for | | :------------------- | :--------------------------------- | | visual-engineering | Frontend, UI/UX, design | | deep | Autonomous research + execution | | quick | Single-file changes, typos | | ultrabrain | Hard logic, architecture decisions |

Agent says what kind of work. Harness picks the right model. ultrabrain now routes to GPT-5.4 xhigh by default. You touch nothing.

Claude Code Compatibility

You dialed in your Claude Code setup. Good.

Every hook, command, skill, MCP, plugin works here unchanged. Full compatibility, including plugins.

World-Class Tools for Your Agents

LSP, AST-Grep, Tmux, MCP actually integrated, not duct-taped together.

  • LSP: lsp_rename, lsp_goto_definition, lsp_find_references, lsp_diagnostics. IDE precision for every agent
  • AST-Grep: Pattern-aware code search and rewriting across 25 languages
  • Tmux: Full interactive terminal. REPLs, debuggers, TUI apps. Your agent stays in session
  • MCP: Web search, official docs, GitHub code search. All baked in

Skill-Embedded MCPs

MCP servers eat your context budget. We fixed that.

Skills bring their own MCP servers. Spin up on-demand, scoped to task, gone when done. Context window stays clean.

Codes Better. Hash-Anchored Edits

The harness problem is real. Most agent failures aren't the model. It's the edit tool.

"None of these tools give the model a stable, verifiable identifier for the lines it wants to change... They all rely on the model reproducing content it already saw. When it can't - and it often can't - the user blames the model."

- Can Bölük, The Harness Problem

Inspired by oh-my-pi, we implemented Hashline. Every line the agent reads comes back tagged with a content hash:

11#VK| function hello() {
22#XJ|   return "world";
33#MB| }

The agent edits by referencing those tags. If the file changed since the last read, the hash won't match and the edit is rejected before corruption. No whitespace reproduction. No stale-line errors.

Grok Code Fast 1: 6.7% → 68.3% success rate. Just from changing the edit tool.

Deep Initialization. /init-deep

Run /init-deep. It generates hierarchical AGENTS.md files:

project/
├── AGENTS.md              ← project-wide context
├── src/
│   ├── AGENTS.md          ← src-specific context
│   └── components/
│       └── AGENTS.md      ← component-specific context

Agents auto-read relevant context. Zero manual management.

Planning. Prometheus

Complex task? Don't prompt and pray.

/start-work calls Prometheus. Interviews you like a real engineer, identifies scope and ambiguities, builds a verified plan before touching code. Agent knows what it's building before it starts.

Skills

Skills aren't just prompts. Each brings:

  • Domain-tuned system instructions
  • Embedded MCP servers, on-demand
  • Scoped permissions. Agents stay in bounds

Built-ins: playwright (browser automation), git-master (atomic commits, rebase surgery), frontend-ui-ux (design-first UI).

Add your own: .opencode/skills/*/SKILL.md or ~/.config/opencode/skills/*/SKILL.md.

Want the full feature breakdown? See the Features Documentation for agents, hooks, tools, MCPs, and everything else in detail.


New to oh-my-codes? Read the Overview to understand what you have, or check the Orchestration Guide for how agents collaborate.

Uninstallation

To remove oh-my-codes:

  1. Remove the plugin from your OpenCode config

    Edit ~/.config/opencode/opencode.json (or opencode.jsonc) and remove "oh-my-codes" from the plugin array:

    # Using jq
    jq '.plugin = [.plugin[] | select(. != "oh-my-codes")]' \
        ~/.config/opencode/opencode.json > /tmp/oc.json && \
        mv /tmp/oc.json ~/.config/opencode/opencode.json
  2. Remove configuration files (optional)

    # Remove plugin config files
    rm -f ~/.config/opencode/oh-my-codes.jsonc ~/.config/opencode/oh-my-codes.json
    
    # Remove project config (if exists)
    rm -f .opencode/oh-my-codes.jsonc .opencode/oh-my-codes.json
  3. Verify removal

    opencode --version
    # Plugin should no longer be loaded

Features

Features you'll think should've always existed. Once you use them, you can't go back.

See full Features Documentation.

Quick Overview:

  • Agents: Sisyphus (the main agent), Prometheus (planner), Oracle (architecture/debugging), Librarian (docs/code search), Explore (fast codebase grep), Multimodal Looker
  • Background Agents: Run multiple agents in parallel like a real dev team
  • LSP & AST Tools: Refactoring, rename, diagnostics, AST-aware code search
  • Hash-anchored Edit Tool: LINE#ID references validate content before applying every change. Surgical edits, zero stale-line errors
  • Context Injection: Auto-inject AGENTS.md, README.md, conditional rules
  • Claude Code Compatibility: Full hook system, commands, skills, agents, MCPs
  • Built-in MCPs: websearch (Exa), context7 (docs), grep_app (GitHub search)
  • Session Tools: List, read, search, and analyze session history
  • Productivity Features: Ralph Loop, Todo Enforcer, Comment Checker, Think Mode, and more
  • Doctor Command: Built-in diagnostics (bunx oh-my-codes doctor) verify plugin registration, config, models, and environment
  • Model Fallbacks: fallback_models can mix plain model strings with per-fallback object settings in the same array
  • File Prompts: Load prompts from files with file:// support in agent configurations
  • Session Recovery: Automatic recovery from session errors, context window limits, and API failures
  • Model Setup: Agent-model matching is built into the Installation Guide

Configuration

Opinionated defaults, adjustable if you insist.

See Configuration Documentation.

Quick Overview:

  • Config Locations: Plugin config files use oh-my-codes.json or oh-my-codes.jsonc.
  • JSONC Support: Comments and trailing commas supported
  • Agents: Override models, temperatures, prompts, and permissions for any agent
  • Built-in Skills: playwright (browser automation), git-master (atomic commits)
  • Sisyphus Agent: Main orchestrator with Prometheus (Planner) and Metis (Plan Consultant)
  • Background Tasks: Configure concurrency limits per provider/model
  • Categories: Domain-specific task delegation (visual, business-logic, custom)
  • Hooks: 25+ built-in hooks, all configurable via disabled_hooks
  • MCPs: Built-in websearch (Exa), context7 (docs), grep_app (GitHub search)
  • LSP: Full LSP support with refactoring tools
  • Experimental: Aggressive truncation, auto-resume, and more

Author's Note

Want the philosophy? Read the Ultrawork Manifesto.


I burned through $24K in LLM tokens on personal projects. Tried every tool. Configured everything to death. OpenCode won.

Every problem I hit, the fix is baked into this plugin. Install and go.

If OpenCode is Debian/Arch, OmO is Ubuntu/Omarchy.

Heavy influence from AmpCode and Claude Code. Features ported, often improved. Still building. It's OpenCode.

Other harnesses promise multi-model orchestration. We ship it. Stability too. And features that actually work.

I'm this project's most obsessive user:

  • Which model has the sharpest logic?
  • Who's the debugging god?
  • Who writes the best prose?
  • Who dominates frontend?
  • Who owns backend?
  • What's fastest for daily driving?
  • What are competitors shipping?

This plugin is the distillation. Take the best. Got improvements? PRs welcome.

Stop agonizing over harness choices. I'll research, steal the best, and ship it here.

Sounds arrogant? Have a better way? Contribute. You're welcome.

No affiliation with any project/model mentioned. Just personal experimentation.

99% of this project was built with OpenCode. I don't really know TypeScript. But I personally reviewed and largely rewrote this doc.

Loved by professionals at

  • Indent
    • Making Spray - influencer marketing solution, vovushop - crossborder commerce platform, vreview - ai commerce review marketing solution
  • Google
  • Microsoft
  • ELESTYLE
    • Making elepay - multi-mobile payment gateway, OneQR - mobile application SaaS for cashless solutions

Special thanks to @junhoyeo for this amazing hero image.