AGENTS
Developer reference for all 11 Oh My OpenAgent agent definitions, factory patterns, tool restrictions, and model routing.
Claude Code
$ npx -y skills add code-yeongyu/oh-my-openagent --agent claude-code
Cursor
Cursor also loads subagents from .claude/agents, so copy this file there to use it in Cursor.
Agent definition
AGENTS.mdname: 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
**Prompt ownership updated:** shared Native builders (PR #9856).
Model-specific system cores come from `@code-yeongyu/senpi/prompt-presets` through `native-model-prompt.ts`. Existing OpenCode role builders and artifacts retain their instructions and runtime context. `native-prompt-frame.ts` lets system-transform rebuild the generated core for the actual request model without replacing user appends. Do not add copies of Native model bodies. Existing role variants are separate from Native model calibration. Explore, librarian and multimodal-looker keep their original prompts without a Native core.
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-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 \| chatgpt-subscription \| github-copilot \| opencode) | Autonomous deep worker | | **Oracle** | gpt-5.6-sol xhigh (high on Copilot) | 0.1 | subagent | gemini-4-argon high → gemini-3.1-pro high → claude-opus-5-5 max → glm-5.2 | Read-only consultation | | **Librarian** | gpt-6-luna-fast | 0.1 | subagent | claude-haiku-5-5 medium → qwen3.7-plus → minimax-m3 → minimax-m2.7 → gpt-5.4-nano | External docs/code search | | **Explore** | gpt-6-luna-fast | 0.1 | subagent | claude-haiku-5-5 medium → qwen3.7-plus → minimax-m3 → minimax-m2.7 → 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-fable-5-2 max | **0.3** | subagent | claude-fable-5-1 max → claude-opus-5-5 max → kimi-k3 max | Pre-planning consultant | | **Momus** | gpt-5.6-terra high | 0.1 | subagent | gpt-5.6-sol xhigh (high on Copilot) → claude-opus-5-5 max → gemini-4-argon high → 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-2 xhigh | (override-only) | primary | claude-fable-5-1 xhigh → claude-opus-5-5 max → kimi-k3.1-pro max → 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
├── hephaestus.ts # Routes to model variant
├── 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
Read more
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
**Prompt ownership updated:** shared Native builders (PR #9856).
Model-specific system cores come from `@code-yeongyu/senpi/prompt-presets` through `native-model-prompt.ts`. Existing OpenCode role builders and artifacts retain their instructions and runtime context. `native-prompt-frame.ts` lets system-transform rebuild the generated core for the actual request model without replacing user appends. Do not add copies of Native model bodies. Existing role variants are separate from Native model calibration. Explore, librarian and multimodal-looker keep their original prompts without a Native core.
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-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 \| chatgpt-subscription \| github-copilot \| opencode) | Autonomous deep worker | | **Oracle** | gpt-5.6-sol xhigh (high on Copilot) | 0.1 | subagent | gemini-4-argon high → gemini-3.1-pro high → claude-opus-5-5 max → glm-5.2 | Read-only consultation | | **Librarian** | gpt-6-luna-fast | 0.1 | subagent | claude-haiku-5-5 medium → qwen3.7-plus → minimax-m3 → minimax-m2.7 → gpt-5.4-nano | External docs/code search | | **Explore** | gpt-6-luna-fast | 0.1 | subagent | claude-haiku-5-5 medium → qwen3.7-plus → minimax-m3 → minimax-m2.7 → 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-fable-5-2 max | **0.3** | subagent | claude-fable-5-1 max → claude-opus-5-5 max → kimi-k3 max | Pre-planning consultant | | **Momus** | gpt-5.6-terra high | 0.1 | subagent | gpt-5.6-sol xhigh (high on Copilot) → claude-opus-5-5 max → gemini-4-argon high → 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-2 xhigh | (override-only) | primary | claude-fable-5-1 xhigh → claude-opus-5-5 max → kimi-k3.1-pro max → 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 ├── hephaestus.ts # Routes to model variant ├── 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
Your tool for real work. But it's an agent. OmO is one omo command that turns your tokens into finished work: research across ten thousand sources, a deck people actually get, backends, frontends, code.
More agents from other plugins.
cavecrew-builder
AgentSurgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…
Questions about AGENTS.
- Which coding agents can use AGENTS?
- AGENTS installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.

