BeClaude

oma

New
1.1kCommunity RegistryGeneralby First Fluke

Portable multi-agent harness for .agents-based skills and workflows

Community PluginView Source

Overview

![npm version](https://www.npmjs.com/package/oh-my-agent) ![npm downloads](https://www.npmjs.com/package/oh-my-agent) ![GitHub stars](https://github.com/first-fluke/oh-my-agent) ![License](https://github.com/first-fluke/oh-my-agent/blob/main/LICENSE) ![Last Updated](https://github.com/first-fluke/oh-my-agent/commits/main)

Ever wished your AI assistant had coworkers? That's what oh-my-agent does.

Instead of one AI doing everything (and getting confused halfway through), oh-my-agent splits work across specialized agents — frontend, backend, architecture, QA, PM, DB, mobile, infra, debug, design, and more. Each one knows its domain deeply, has its own tools and checklists, and stays in its lane.

Works with all major AI IDEs: Pi, Claude Code, Cursor, Antigravity, Codex CLI, OpenCode, and more.

Quick Start

bash
# 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
powershell
# Windows (PowerShell) — auto-installs bun, uv & serena if missing
irm https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1 | iex
bash
# Or manual (any OS, requires bun + uv + serena)
bunx oh-my-agent@latest

Install via Agent Package Manager

<details> <summary>Microsoft's <a href="https://github.com/microsoft/apm">Agent Package Manager</a> (APM) — skills-only distribution. Click to expand.</summary>

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

bash
# 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.

</details>

Pick a preset and you're ready:

PresetWhat You Get
AllEvery agent and skill
Backendarchitecture + backend + brainstorm + db + debug + dev-workflow + pm + qa + scm
Contentacademic-writer + design + image + scm + translator + voice
DevOpsarchitecture + brainstorm + debug + dev-workflow + observability + pm + qa + scm + tf-infra
Frontendarchitecture + brainstorm + debug + design + frontend + pm + qa + scm
Fullstackarchitecture + backend + brainstorm + db + debug + design + dev-workflow + frontend + mobile + pm + qa + scm + tf-infra
Fullstack Mobilearchitecture + backend + brainstorm + db + debug + design + dev-workflow + mobile + pm + qa + scm
Fullstack Webarchitecture + backend + brainstorm + db + debug + design + dev-workflow + frontend + pm + qa + scm
Mobilearchitecture + brainstorm + debug + mobile + pm + qa + scm
Researchacademic-writer + hwp + market + pdf + scholar + scm + search + translator

Works With Every Agent

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, and rules.

<table> <colgroup> <col span="6" style="width:16.67%" /> </colgroup> <tr> <td align="center"> <a href="https://claude.com/product/claude-code"><img src="https://github.com/anthropics.png?size=120" alt="Claude Code" width="48" height="48" /></a><br/> <strong>Claude Code</strong><br/> <sub>native + adapter</sub> </td> <td align="center"> <a href="https://github.com/openai/codex"><img src="https://github.com/openai.png?size=120" alt="Codex CLI" width="48" height="48" /></a><br/> <strong>Codex CLI</strong><br/> <sub>native + adapter</sub> </td> <td align="center"> <a href="https://antigravity.google"><img src="./docs/assets/agents/antigravity.png" alt="Antigravity" width="48" height="48" /></a><br/> <strong>Antigravity</strong><br/> <sub>native SSOT</sub> </td> <td align="center"> <a href="https://cursor.com"><img src="https://github.com/cursor.png?size=120" alt="Cursor" width="48" height="48" /></a><br/> <strong>Cursor</strong><br/> <sub>native + adapter</sub> </td> <td align="center"> <a href="https://github.com/QwenLM/qwen-code"><img src="https://github.com/QwenLM.png?size=120" alt="Qwen Code" width="48" height="48" /></a><br/> <strong>Qwen Code</strong><br/> <sub>native dispatch</sub> </td> <td align="center"> <a href="https://github.com/esengine/DeepSeek-Reasonix"><img src="https://github.com/deepseek-ai.png?size=120" alt="Reasonix" width="48" height="48" /></a><br/> <strong>Reasonix</strong><br/> <sub>native-compatible</sub> </td> </tr> <tr> <td align="center"> <a href="https://pi.dev/"><img src="./docs/assets/agents/pi.svg" alt="Pi" width="48" height="48" /></a><br/> <strong>Pi</strong><br/> <sub>native-compatible</sub> </td> <td align="center"> <a href="https://github.com/anomalyco/opencode"><img src="./docs/assets/agents/opencode.png" alt="OpenCode" width="48" height="48" /></a><br/> <strong>OpenCode</strong><br/> <sub>native-compatible</sub> </td> <td align="center"> <a href="https://ampcode.com"><img src="./docs/assets/agents/amp.png" alt="Amp" width="48" height="48" /></a><br/> <strong>Amp</strong><br/> <sub>native-compatible</sub> </td> <td align="center"> <a href="https://github.com/features/copilot"><img src="https://github.com/github.png?size=120" alt="GitHub Copilot" width="48" height="48" /></a><br/> <strong>GitHub Copilot</strong><br/> <sub>symlinked skills</sub> </td> <td align="center"> <a href="https://grok.x.ai"><img src="./docs/assets/agents/grok.png" alt="Grok" width="48" height="48" /></a><br/> <strong>Grok</strong><br/> <sub>native hooks</sub> </td> <td align="center"> <a href="https://kiro.dev"><img src="./docs/assets/agents/kiro.png" alt="Kiro CLI" width="48" height="48" /></a><br/> <strong>Kiro CLI</strong><br/> <sub>native hooks + agents</sub> </td> </tr> </table>

<p align="center"><sub><a href="./docs/SUPPORTED_AGENTS.md">& more</a></sub></p>

Your Agent Team

AgentWhat They Do
oma-academic-writerDrafts, revises, and audits academic prose to publication quality.
oma-architectureWeighs architecture tradeoffs and draws module boundaries, with ADR/ATAM/CBAM analysis.
oma-backendBuilds and secures your APIs in Python, Node.js, or Rust.
oma-brainstormExplores ideas with you before you commit to building.
oma-dbDesigns your schema, migrations, indexes, and vector stores.
oma-debugFinds the root cause, fixes the bug, and writes a regression test.
oma-deepsecScans your code for security holes and blocks risky pull requests.
oma-designBuilds design systems with tokens, accessibility, and responsive layouts.
oma-dev-workflowAutomates your CI/CD, releases, and monorepo tasks.
oma-docsChecks your docs for broken references and flags ones a code change touched.
oma-frontendBuilds your UI with React/Next.js, TypeScript, Tailwind CSS v4, and shadcn/ui.
oma-hwpConverts HWP, HWPX, and HWPML files to Markdown.
oma-imageGenerates images through several AI providers at once.
oma-marketResearches your market from community signals and frames it with SWOT, 5F, and PESTEL.
oma-mobileBuilds cross-platform mobile apps with Flutter.
oma-observabilityRoutes observability work across metrics, logs, traces, SLOs, and incident forensics.
oma-orchestratorRuns multiple agents in parallel from the CLI.
oma-pdfConverts PDF files to Markdown.
oma-pmPlans tasks, breaks down requirements, and defines API contracts.
oma-qaReviews your code for OWASP security, performance, and accessibility issues.
oma-recapRecaps your conversation history into themed work summaries.
oma-scholarSearches academic literature and helps you run peer review.
oma-scmManages your branches, merges, worktrees, and Conventional Commits.
oma-searchRoutes each query to the best source and scores how much you can trust the result.
oma-skill-creatorWrites and audits new OMA skills in the SSL-lite format.
oma-slideGenerates distinctive, animation-rich HTML presentation decks and exports to PDF/PNG/PPTX.
oma-tf-infraProvisions multi-cloud infrastructure with Terraform.
oma-translatorTranslates between languages so it reads like a native wrote it.
oma-voiceGenerates voiceovers and transcribes audio on-device, no cloud needed.

How It Works

Just chat. Describe what you want and oh-my-agent figures out which agents to use.

code
You: "Build a TODO app with user authentication"
→ PM plans the work
→ Backend builds auth API
→ Frontend builds React UI
→ DB designs schema
→ QA reviews everything
→ Done: coordinated, reviewed code

Or use slash commands for structured workflows:

StepCommandWhat It Does
0/deepinitBootstrap an existing codebase (AGENTS.md, ARCHITECTURE.md, docs/)
1/brainstormFree-form ideation
2/architectureSoftware architecture review, tradeoffs, ADR/ATAM/CBAM-style analysis
2/design7-phase design system workflow
2/planPM breaks down your feature into tasks
3/workStep-by-step multi-agent execution
3/orchestrateAutomated parallel agent spawning
3/ultrawork5-phase quality workflow with 11 review gates
3/ralphWraps /ultrawork in an independent verifier loop until criteria pass
4/reviewSecurity + performance + accessibility audit
4/deepsecDeep agent-powered security scan
5/debugStructured root-cause debugging
5/docsDocumentation drift verify + sync via oma-docs
6/scmSCM + Git workflow and Conventional Commit support

Auto-detection: You don't even need slash commands — keywords like "architecture", "plan", "review", and "debug" in your message (in 11 languages!) auto-activate the right workflow.

CLI

bash
# Install globally
bun install --global oh-my-agent   # or: brew install oh-my-agent

# Use anywhere (sorted alphabetically)
oma agent:parallel -i backend:"Auth API" frontend:"Login form"
oma agent:spawn backend "Build auth API" session-01
oma dashboard               # Real-time agent monitoring
oma doctor                  # Health check
oma image generate "cat"    # Multi-vendor AI image generation
oma link                    # Regenerate .claude/.codex/.gemini/etc. from .agents/
oma model:check             # Detect drift between registered models and live vendor lists
oma recap --window 1d       # Cross-tool conversation history recap
oma retro 7d --compare      # Engineering retrospective with metrics + trends
oma search fetch <url>      # Mechanical search with auto-escalating strategies

Model selection follows two layers:

  • Same-vendor native dispatch uses the generated vendor agent definition in .claude/agents/, .codex/agents/, or .gemini/agents/.
  • Cross-vendor or fallback CLI dispatch uses the vendor defaults in .agents/skills/oma-orchestrator/config/cli-config.yaml.

Per-Agent Models

Set model_preset in .agents/oma-config.yaml to choose which AI models each agent uses:

yaml
language: en
model_preset: mixed   # antigravity | claude | codex | cursor | grok | mixed | qwen

# Optional per-agent overrides
agents:
  backend: { model: openai/gpt-5.5, effort: high }

Why oh-my-agent?

Read why →

  • Portable.agents/ travels with your project, not trapped in one IDE
  • Role-based — Agents modeled like a real engineering team, not a pile of prompts
  • Token-efficient — Two-layer skill design saves ~75% of tokens
  • Quality-first — Charter preflight, quality gates, and review workflows built in:

- oma verify <agent> — 14 deterministic checks per agent type (TypeScript strict, tests, raw SQL, hardcoded secrets, Flutter analyze, inline styles, scope violation, charter alignment, …) - session.quota_cap — per-session token / spawn / per-vendor budget caps in oma-config.yaml; orchestrate Step 5 blocks the next spawn when exceeded - ralph workflow — independent JUDGE re-verifies every criterion each iteration to catch silent regressions; heavy-test caching for >30s suites - Exploration Loop — after 2 retries, orchestrate spawns hypothesis variants in parallel and keeps the highest-scoring result - Monorepo auto-routing — detectWorkspace reads pnpm / nx / turbo / lerna and routes each agent to its workspace

  • Multi-vendor — Mix Claude, Codex, Cursor, and Qwen per agent type
  • Observable — Terminal and web dashboards for real-time monitoring

Architecture

mermaid
flowchart TD
    subgraph Workflows["Workflows"]
        direction TB
        W0["/brainstorm"]
        W1["/work"]
        W1b["/ultrawork"]
        W2["/orchestrate"]
        W3["/architecture"]
        W4["/plan"]
        W5["/review"]
        W6["/debug"]
        W7["/deepinit"]
        W8["/design"]
    end

    subgraph Orchestration["Orchestration"]
        direction TB
        PM[oma-pm]
        ORC[oma-orchestrator]
    end

    subgraph Domain["Domain Agents"]
        direction TB
        ARC[oma-architecture]
        FE[oma-frontend]
        BE[oma-backend]
        DB[oma-db]
        MB[oma-mobile]
        DES[oma-design]
        TF[oma-tf-infra]
    end

    subgraph Quality["Quality"]
        direction TB
        QA[oma-qa]
        DBG[oma-debug]
    end

    Workflows --> Orchestration
    Orchestration --> Domain
    Domain --> Quality
    Quality --> SCM([oma-scm])

Learn More

  • [Detailed Documentation](./docs/AGENTS_SPEC.md) — Full technical spec and architecture
  • [Supported Agents](./docs/SUPPORTED_AGENTS.md) — Agent support matrix across IDEs
  • [Web Docs](https://first-fluke.github.io/oh-my-agent/) — Guides, tutorials, and CLI reference

Sponsors

This project is maintained thanks to our generous sponsors.

Like this project? Give it a star!

```bash

gh api --method PUT /user/starred/first-fluke/oh-my-agent

```

Try our optimized starter template: fullstack-starter

<a href="https://github.com/sponsors/first-fluke"> <img src="https://img.shields.io/badge/Sponsor-♥-ea4aaa?style=for-the-badge" alt="Sponsor" /> </a> <a href="https://buymeacoffee.com/firstfluke"> <img src="https://img.shields.io/badge/Buy%20Me%20a%20Coffee-☕-FFDD00?style=for-the-badge" alt="Buy Me a Coffee" /> </a>

🚀 Champion

<!-- Champion tier ($100/mo) logos here -->

🛸 Booster

<!-- Booster tier ($30/mo) logos here -->

☕ Contributor

<!-- Contributor tier ($10/mo) names here -->

Become a sponsor →

See SPONSORS.md for a full list of supporters.

Star History

![Star History Chart](https://www.star-history.com/#first-fluke/oh-my-agent&type=date&legend=bottom-right)

References

  • Liang, Q., Wang, H., Liang, Z., & Liu, Y. (2026). From skill text to skill structure: The scheduling-structural-logical representation for agent skills (Version 4) [Preprint]. arXiv. https://doi.org/10.48550/arXiv.2604.24026
  • Chen, C., Yu, Q., Gu, Y., Huang, Z., Li, H., Liu, H., Liu, S., Liu, J., Peng, D., Wang, J., Yan, Z., Meng, F., Qin, E., Che, C., & Hu, M. (2026). The scaling laws of skills in LLM agent systems (Version 1) [Preprint]. arXiv. https://doi.org/10.48550/arXiv.2605.16508
  • Yang, Y., Gong, Z., Huang, W., Yang, Q., Zhou, Z., Huang, Z., Li, Y., Gao, X., Dai, Q., Liu, B., Qiu, K., Yang, Y., Chen, D., Yang, X., & Luo, C. (2026). SkillOpt: Executive strategy for self-evolving agent skills [Preprint]. arXiv. https://doi.org/10.48550/arXiv.2605.23904
  • Huang, Z., Xu, J., Yang, Y., Gong, Z., Yang, Q., Tian, M., Wang, X., Lv, C., Gao, X., Dai, Q., Liu, B., Qiu, K., Yang, X., Chen, D., Zheng, X., & Luo, C. (2026). From raw experience to skill consumption: A systematic study of model-generated agent skills [Preprint]. arXiv. https://doi.org/10.48550/arXiv.2605.23899

License

MIT

Install & Usage

1
Create the skills directory
mkdir -p .claude/skills
2
Download the skill file
mkdir -p .claude/skills && curl -o .claude/skills/oma.md https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/SKILL.md
3
Invoke in Claude Code
/oma
View source on GitHub
agentmulti-agentorchestratorskillsworkflows

Frequently Asked Questions

What is oma?

Portable multi-agent harness for .agents-based skills and workflows

How to install oma?

To install oma, create the .claude/skills directory in your project, then run the curl command to download the skill file. Once installed, invoke it in Claude Code with /oma.

What is oma best for?

oma is a community categorized under General. It is designed for: agent, multi-agent, orchestrator, skills, workflows. Created by First Fluke.