Skip to content

AGENTS

Developer reference for all 11 Oh My OpenAgent agent definitions, factory patterns, tool restrictions, and model routing.

From plugin
oh-my-openagent
67k1 skill1 agent1 MCP
Install
$ npx -y skills add code-yeongyu/oh-my-openagent --agent claude-code

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

Developer reference for all 11 Oh My OpenAgent agent definitions, factory patterns, tool restrictions, and model routing.

Agent definition

AGENTS.md
name: agents-directory
description: Developer reference for all 11 Oh My OpenAgent agent definitions, factory patterns, tool restrictions, and model routing.

src/agents/ — 11 Agent Definitions

**Generated:** 2026-05-15

OVERVIEW

11 built-in agents. Type enum: [`src/config/schema/agent-names.ts`](../config/schema/agent-names.ts) `BuiltinAgentNameSchema`. 10 of them register via [`builtin-agents.ts`](builtin-agents.ts) `agentSources` record (factory functions). **Prometheus is special-cased** — it has no `createPrometheusAgent` factory; instead [`prometheus-agent-config-builder.ts`](../plugin-handlers/prometheus-agent-config-builder.ts) constructs its config directly during `agent-config-handler` Phase 3.

All factories follow `createXXXAgent(model) → AgentConfig`. Each carries a static `mode` property (`AgentFactory` type in [`src/agents/types.ts`](types.ts)). Composed via `buildAgent()`.

AGENT INVENTORY

Modes verified from each agent file's `const MODE: AgentMode = ...` and (for Prometheus) [`prometheus-agent-config-builder.ts:100`](../plugin-handlers/prometheus-agent-config-builder.ts#L100). Chains verified from [`src/shared/model-requirements.ts`](../shared/model-requirements.ts).

| Agent | Default Model | Temp | Mode | Fallback (after default) | Purpose | |-------|---------------|------|------|--------------------------|---------| | **Sisyphus** | claude-opus-5 max | (model default) | primary | kimi-k3 → gpt-5.6-sol medium → glm-5.2 → big-pickle | Main orchestrator, plans + delegates; `thinking: { type: "enabled", budgetTokens: 32000 }` | | **Hephaestus** | gpt-5.6-sol medium | (model default) | primary | GPT-5.6 Sol only (`requiresProvider`: openai \| github-copilot \| opencode \| vercel) | Autonomous deep worker | | **Oracle** | gpt-5.6-sol xhigh (high on Copilot) | 0.1 | subagent | gemini-3.1-pro high → claude-opus-5 max → glm-5.2 | Read-only consultation | | **Librarian** | gpt-5.6-luna-fast | 0.1 | subagent | qwen3.7-plus → minimax-m2.7-highspeed → minimax-m3 → minimax-m2.7 → claude-haiku-4-5 → gpt-5.4-nano | External docs/code search | | **Explore** | gpt-5.6-luna-fast | 0.1 | subagent | qwen3.7-plus → minimax-m2.7-highspeed → minimax-m3 → minimax-m2.7 → claude-haiku-4-5 → gpt-5.4-nano | Contextual grep | | **Multimodal-Looker** | gpt-5.6-sol low | 0.1 | subagent | kimi-k3 → glm-4.6v → gpt-5-nano | PDF/image analysis | | **Metis** | claude-opus-5 high | **0.3** | subagent | kimi-k3 low | Pre-planning consultant | | **Momus** | gpt-5.6-terra high | 0.1 | subagent | gpt-5.6-sol xhigh (high on Copilot) → claude-opus-5 max → gemini-3.1-pro high → glm-5.2 | Plan reviewer | | **Atlas** | claude-sonnet-5 | 0.1 | primary | kimi-k3 → gpt-5.6-sol medium → minimax-m3 → MiniMax-M3 → minimax-m2.7 | Todo-list orchestrator | | **Prometheus** | claude-fable-5 xhigh | (override-only) | primary | kimi-k3 max | Strategic planner (interview); built via `buildPrometheusAgentConfig` (not in `agentSources`) | | **Sisyphus-Junior** | claude-sonnet-5 | 0.1 (`SISYPHUS_JUNIOR_DEFAULTS`) | subagent | kimi-k3 → gpt-5.6-sol medium → minimax-m3 → MiniMax-M3 → minimax-m2.7 → big-pickle | Category-spawned executor |

TOOL RESTRICTIONS

Defined in [`src/shared/agent-tool-restrictions.ts`](../shared/agent-tool-restrictions.ts).

| Agent | Denied Tools | |-------|-------------| | Oracle | write, edit, task, call_omo_agent | | Librarian | write, edit, task, call_omo_agent | | Explore | write, edit, task, call_omo_agent | | Multimodal-Looker | ALL except read | | Atlas | task, call_omo_agent | | Momus | write, edit, task | | Prometheus | enforces `.md`-only writes via `prometheus-md-only` hook (path-based, not tool-based) |

TEAM-MODE ELIGIBILITY

Authoritative registry: [`AGENT_ELIGIBILITY_REGISTRY`](../features/team-mode/types.ts) in `team-mode/types.ts`. Three verdict tiers:

| Verdict | Agents | |---------|--------| | `eligible` | sisyphus, atlas, sisyphus-junior | | `conditional` | hephaestus (lacks `teammate: "allow"` permission by default — see D-36 / `tool-config-handler.ts`; use `subagent_type: "sisyphus"` instead) | | `hard-reject` | oracle, librarian, explore, multimodal-looker, metis, momus, prometheus (each with a specific rejection message) |

Read-only agents are rejected at TeamSpec parse time. For those, the lead delegates via `task` (delegate-task) instead. See [`team-mode/AGENTS.md`](../features/team-mode/AGENTS.md).

STRUCTURE

agents/
├── sisyphus.ts                                # Main orchestrator router
├── sisyphus/                                  # Model-specific variant prompts
│   ├── default.ts, gemini.ts, gpt-5-4.ts, gpt-5-5.ts
├── hephaestus.ts                              # Routes to model variant
├── hephaestus/                                # gpt.ts, gpt-5-4.ts, gpt-5-5.ts, gpt-5-6.ts
├── oracle.ts                                  # Read-only consultant
├── librarian.ts                               # External search
├── explore.ts                                 # Codebase grep
├── multimodal-looker.ts                       # Vision/PDF
├── metis.ts                                   # Pre-planning
├── momus.ts                                   # Plan review
├── atlas/agent.ts                             # Todo orchestrator
├── prometheus/                                # Strategic planner prompt router; prompt content in packages/prompts-core/prompts/prometheus/
├── types.ts                                   # BuiltinAgentName, AgentMode, AgentConfig
├── builtin-agents.ts                          # agentSources registry (10 → 11 with sisyphus-junior)
├── builtin-agents/                            # maybeCreateXXXConfig conditional factories + general-agents.ts + available-skills.ts
├── agent-builder.ts                           # buildAgent() composition
├── utils.ts                                   # agent utilities
├── env-context.ts                             # environment context for prompts
├── dynamic-agent-prompt-builder.ts
Read more
Ships withoh-my-openagent

You're juggling Claude Code, Codex, and random OSS models. Configuring workflows. Debugging agents. We did the work. Tested everything. Kept what actually shipped. Install oh-my-openagent. Type ultrawork. Done.

Get the whole plugin, auto-invoked
Stats
67,490
Stars
7
Views
5,505
Forks
Active
Maintenance
TypeScript
Language
4h ago
Last commit
8mo ago
Created

Repo: code-yeongyu/oh-my-openagent