---
title: "oma"
description: "Portable multi-agent harness for.agents-based skills and workflows"
canonical: https://agentpluginsdirectory.com/plugins/oma
last-updated: 2026-09-28
---

# oma
Portable multi-agent harness for.agents-based skills and workflows
- Slug: oma
- Publisher: First Fluke
- Repository: https://github.com/first-fluke/oh-my-agent
- Manifest: plugin.json
- Version: 15.0.6
- License: MIT
- Category (editorial): agent-tooling
- Skills: 33 (oma-academic-writing, oma-architecture, oma-backend, oma-brainstorm, oma-coordination, oma-db, oma-debug, oma-deepsec, oma-design, oma-dev-workflow, oma-docs, oma-explanation, oma-frontend, oma-hwp, oma-image, oma-market, oma-mobile, oma-observability, oma-orchestration, oma-pdf, oma-pm, oma-qa, oma-recap, oma-refactor, oma-scholar, oma-scm, oma-search, oma-skill-creation, oma-slide, oma-tf-infra, oma-translation, oma-video, oma-voice)
- MCP servers: 3 (aside, context7, serena)
- Stars: 1327
- Repository created: 2026-01-30
- Repository last pushed: 2026-09-28
- Publisher type: Organization
- Listing: https://agentpluginsdirectory.com/plugins/oma
- Schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json

## What oma does, in the publisher's words

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.

From the project README, punctuation lightly normalized. Full text: https://raw.githubusercontent.com/first-fluke/oh-my-agent/HEAD/README.md

## Skills

- oma-academic-writing: Academic writing capability for publication-grade English prose.
- oma-architecture: Architecture specialist for software/system design, module and
- oma-backend: Backend specialist for APIs, databases, authentication with clean
- oma-brainstorm: Design-first ideation that explores user intent, constraints, and
- oma-coordination: Guide for coordinating PM, Frontend, Backend, Mobile, and QA agents
- oma-db: Database specialist for SQL, NoSQL, and vector database modeling,
- oma-debug: Bug diagnosis and fixing specialist: analyzes errors, identifies
- oma-deepsec: "Drive Vercel's `deepsec` agent-powered vulnerability scanner
- oma-design: AI design specialist skill with DESIGN.md management, anti-pattern
- oma-dev-workflow: Use when setting up or optimizing developer workflows in a
- oma-docs: Verify documentation references against the current codebase,
- oma-explanation: Turn a code change (diff, PR, branch, commit range) into a rich,
- oma-frontend
- oma-hwp
- oma-image
- oma-market
- oma-mobile
- oma-observability
- oma-orchestration
- oma-pdf
- oma-pm
- oma-qa
- oma-recap
- oma-refactor
- oma-scholar
- oma-scm
- oma-search
- oma-skill-creation
- oma-slide
- oma-tf-infra
- oma-translation
- oma-video
- oma-voice

Descriptions come from the frontmatter of each SKILL.md, punctuation lightly normalized.

## MCP servers

- context7: transport: streamable-http; url: https://mcp.context7.com/mcp
- serena: transport: stdio; command: serena start-mcp-server --context oma --project-from-cwd --add-mode no-memories; env: SERENA_LOG_LEVEL

Read from the plugin's own mcp.json. Environment variable names only, never values.
