oh-my-agent is a free, open source orchestration & scheduling project written in TypeScript and released under MIT. It has 1,309 GitHub stars, 149 forks and 0 open issues, and was last pushed 3 days ago. On this registry it ranks #81 of 110 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available.

oh-my-agent: The Multi-Agent Harness That Checks the Work

npm version npm downloads GitHub stars License Last Updated

한국어 | 中文 | Português | 日本語 | Français | Español | Nederlands | Polski | Русский | Deutsch | Tiếng Việt | ภาษาไทย

Agents narrate success. oh-my-agent checks the artifacts.

Spawning parallel agents is the easy part. The hard part is knowing whether they actually did the work. "Tests pass, all criteria met" costs an agent nothing to say, and nothing inside that same session can contradict it.

oh-my-agent makes the claim falsifiable. A Stop hook refuses to end your session until your project's own typecheck / test / lint script exits 0. A gate command decides whether a workflow really ran by looking for the artifacts it must have left behind — and its JSON verdict, not the agent's summary, is the result. An independent judge with a fresh context re-verifies every criterion each round, including the ones that already passed. Every gate decision lands on an append-only event log you can read after the fact. Then it runs that same discipline across a dozen agent runtimes from one portable .agents/ directory.

oh-my-agent explainer

Watch the full video (35s)

Quick Start

The install scripts below auto-install bun, uv, and serena if they're missing.

# macOS / Linux — auto-installs bun, uv & serena if missing
curl -fsSL https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
# Windows (PowerShell) — auto-installs bun, uv & serena if missing
irm https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1 | iex
# Or manual (any OS, requires bun + uv + serena)
bunx oh-my-agent@latest
Or install skills with Microsoft's Agent Package Manager (APM). Click to expand.

Not to be confused with oma-observability's APM (Application Performance Monitoring).

# All skills, deployed to every detected runtime
# (.claude, .cursor, .codex, .opencode, .github, .agents)
apm install first-fluke/oh-my-agent

# A single skill
apm install first-fluke/oh-my-agent/.agents/skills/oma-frontend

APM ships skills only. For workflows, rules, oma-config.yaml, keyword-detection hooks, and the oma agent spawn CLI, use bunx oh-my-agent@latest. Pick one distribution per project to avoid drift.

Pick a preset and you're ready:

Preset What You Get
All Every agent and skill
Backend architecture + backend + brainstorm + db + debug + dev-workflow + pm + qa + scm
Content academic-writer + design + image + scm + translator + voice
DevOps architecture + brainstorm + debug + dev-workflow + observability + pm + qa + scm + tf-infra
Frontend architecture + brainstorm + debug + design + frontend + pm + qa + scm
Fullstack architecture + backend + brainstorm + db + debug + design + dev-workflow + frontend + mobile + pm + qa + scm + tf-infra
Fullstack Mobile architecture + backend + brainstorm + db + debug + design + dev-workflow + mobile + pm + qa + scm
Fullstack Web architecture + backend + brainstorm + db + debug + design + dev-workflow + frontend + pm + qa + scm
Mobile architecture + brainstorm + debug + mobile + pm + qa + scm
Research academic-writer + hwp + market + pdf + scholar + scm + search + translator

Works With Every Agent

Verification is worth little if it's locked to one vendor. oh-my-agent keeps .agents/ as the single source of truth and projects it into each runtime's native layout, so every supported tool shares the same skills, workflows, rules, and gates — and switching vendors is a config change, not a migration.

Claude Code
Claude Code
native + adapter
Codex CLI
Codex CLI
native + adapter

Antigravity
native SSOT
Cursor
Cursor
native + adapter
Qwen Code
Qwen Code
native dispatch
Reasonix
Reasonix
native-compatible

Pi
native-compatible

OpenCode
native-compatible

Amp
native-compatible
GitHub Copilot
GitHub Copilot
symlinked skills

Grok Build
native hooks

Kiro CLI
native hooks + agents

& more

Your Engineering Team

Instead of one AI doing everything (and getting confused halfway through), oh-my-agent splits work across specialized agents. Each one knows its domain deeply, has its own tools and checklists, and stays in its lane.

Agent What They Do
oma-architecture Weighs architecture tradeoffs and draws module boundaries, with ADR/ATAM/CBAM analysis.
oma-backend Builds and secures your APIs in Python, Node.js, or Rust.
oma-brainstorm Explores ideas with you before you commit to building.
oma-db Designs your schema, migrations, indexes, and vector stores.
oma-debug Finds the root cause, fixes the bug, and writes a regression test.
oma-deepsec Scans your code for security holes and blocks risky pull requests.
oma-design Builds design systems with tokens, accessibility, and responsive layouts.
oma-dev-workflow Automates your CI/CD, releases, and monorepo tasks.
oma-docs Checks your docs for broken references and flags ones a code change touched.
oma-explanation Turns a diff, PR, or branch into a self-contained interactive HTML explainer with a quiz.
oma-frontend Builds your UI with React/Next.js, TypeScript, Tailwind CSS v4, and shadcn/ui.
oma-mobile Builds cross-platform mobile a

readme truncated — read the full docs on github

Frequently asked questions

Is oh-my-agent free to use?

oh-my-agent is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does oh-my-agent do?

The multi-agent harness that checks the work: verifies agent runs by artifacts (stop-hook gates, independent judges, append-only event logs) across Claude Code,

What is oh-my-agent written in?

oh-my-agent is primarily written in TypeScript. Its source is publicly available at https://github.com/first-fluke/oh-my-agent, and it has 1,309 GitHub stars.