oh-my-agent
A portable multi-agent harness that keeps project skills, workflows, and engineering roles consistent across AI coding runtimes.
What does this agent do, and when should you use it?
oh-my-agent is a project-scoped multi-agent harness that treats `.agents/` as the single source of truth for skills, workflows, and rules. It ships role-oriented agents for architecture, backend, frontend, databases, QA, security, infrastructure, project management, and other specialist work. Its slash-command workflows include `/plan`, `/work`, `/orchestrate`, `/review`, and `/debug`, while keyword detection can activate workflows from ordinary chat. `oma emit` projects the shared source into Agent Skills-conformant folders, `.claude-plugin/marketplace.json`, and `AGENTS.md`, alongside runtime-native or adapter layouts. The documented quality model includes `oma verify <agent>`, session quota caps, and the iterative `ralph` workflow, making it a fit for teams that want reusable engineering guidance to travel with a repository across supported coding tools.
oh-my-agent keeps skills, workflows, and rules in .agents/, then projects that source into detected runtime layouts. Users can invoke /deepinit, /brainstorm, /architecture, /plan, /work, /orchestrate, /ultrawork, /review, /debug, /docs, and /scm; the workflows coordinate roles such as oma-pm, oma-orchestrator, oma-backend, oma-frontend, oma-db, and oma-qa. oma emit produces Agent Skills-conformant skill folders, .claude-plugin/marketplace.json, and AGENTS.md; oma doctor --profile prints the resolved per-role model matrix; and oma verify <agent> runs shared and agent-type-specific checks. In .agents/oma-config.yaml, model_preset selects a model configuration and agents can override an individual role, for example backend: { model: openai/gpt-5.5, effort: high }.
- A full-stack team using Claude Code, Codex CLI, or Cursor that wants frontend, backend, database, and QA guidance maintained once in `.agents/`.
- An engineering lead planning a feature who needs `/architecture` to assess module boundaries before using `/plan` to create prioritized tasks.
- A team implementing independent workstreams that wants `/orchestrate` to run multiple agents while enforcing documented session quota limits.
- Maintainers of an existing repository who want `/deepinit` to map the codebase, then `/review`, `/debug`, and `/docs` for quality, regressions, and documentation work.
- A monorepo team using pnpm, Nx, Turbo, or Lerna that needs agents routed to the appropriate workspace.
What are this agent's strengths and limitations?
- Uses `.agents/` as a single source of truth and `oma emit` to produce open-standard skill folders, a Claude plugin marketplace manifest, and `AGENTS.md`.
- Provides named specialist roles across architecture, implementation, databases, mobile, QA, security, observability, infrastructure, and project management, with matching workflows.
- Documents concrete control mechanisms: `oma verify <agent>`, shared and type-specific checks, `session.quota_cap`, independent JUDGE verification in `ralph`, and hypothesis exploration after repeated retries.
- Explicitly supports several coding runtimes, including Codex CLI and Claude Code, and allows role-level model selection in configuration.
- It requires Node.js 26+; manual setup also requires bun, uv, and serena, which can add environment setup work.
- The multi-runtime approach uses generated native or adapter layouts, and the repository advises choosing either APM or CLI distribution per project to avoid drift.
- The number of agents, workflows, presets, and quality controls creates upfront adoption choices around scope, configuration, and budget caps.
- The supplied material does not document direct integration paths for ChatGPT, the OpenAI API, or the Claude API.
How do you install or deploy this agent?
Node.js 26+ is required. On macOS or Linux, run:curl -fsSL https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
The script auto-installs bun, uv, and serena when missing. On Windows PowerShell, run:irm https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1 | iex
With bun, uv, and serena already available, run:bunx oh-my-agent@latest
Microsoft APM can install all skills with apm install first-fluke/oh-my-agent, but APM distributes skills only; it does not include workflows, rules, oma-config.yaml, keyword-detection hooks, or the oma agent:spawn CLI.
How do you use this agent?
After installation, maintain shared project content in .agents/. Start with /deepinit to map an existing codebase, then use /plan followed by /work or /orchestrate for implementation. Run oma verify <agent> for that agent type's deterministic checks, and run oma doctor --profile to inspect the resolved role-to-model matrix. Configure .agents/oma-config.yaml with a preset such as model_preset: mixed, then add per-role model and effort overrides under agents when needed.
How does this agent compare with similar options?
Compared with installing through Microsoft's APM, bunx oh-my-agent@latest includes workflows, rules, oma-config.yaml, keyword-detection hooks, and the oma agent:spawn CLI; APM distributes skills only. The project names Claude Code, Codex CLI, Cursor, OpenCode, and Qwen Code among runtimes that can share the .agents/ source rather than requiring one IDE.