docs(agents): refresh hierarchical AGENTS.md with team-mode coverage
Update root + 43 directory-level AGENTS.md files to reflect current state: - Root AGENTS.md rewritten with accurate counts (1967 TS files, 1304 source + 663 test, 278k LOC, 120 barrel index.ts), 7-step init flow, 5-tier hook composition, and full Team Mode section (12 team_* tools, eligibility, storage layout, config gate) - src/AGENTS.md adds team-mode init step, current per-subdir file/LOC table - src/tools/AGENTS.md documents conditional gates (team-mode +12, task system +4, hashline +1, interactive_bash +1, look_at +1) with always-on baseline of 20 - src/hooks/AGENTS.md splits into 5 tiers + 4 conditional team-mode hooks - src/features/team-mode/AGENTS.md surfaces 12 tools, eligible agents, spawn-race-safe invariants, and integration points - src/features/builtin-skills/AGENTS.md tracks 10 skills incl. team-mode - src/agents/AGENTS.md, src/plugin/AGENTS.md, src/config/AGENTS.md updated for team-mode awareness, accurate counts, and current schema field list - All other AGENTS.md files refreshed to 2026-05-08 generation date
This commit is contained in:
+66
-44
@@ -5,30 +5,34 @@ description: Developer reference for all 11 Oh My OpenAgent agent definitions, f
|
||||
|
||||
# src/agents/ — 11 Agent Definitions
|
||||
|
||||
**Generated:** 2026-04-18
|
||||
**Generated:** 2026-05-08
|
||||
|
||||
## OVERVIEW
|
||||
|
||||
Agent factories following `createXXXAgent(model) → AgentConfig` pattern. Each has static `mode` property. Built via `buildAgent()` compositing factory + categories + skills.
|
||||
Agent factories follow `createXXXAgent(model) → AgentConfig` pattern. Each has static `mode` property. Built via `buildAgent()` compositing factory + categories + skills. Built-in agent registry: [`builtin-agents.ts`](file:///Users/yeongyu/local-workspaces/omo/src/agents/builtin-agents.ts) `agentSources`. Type definition: [`types.ts`](file:///Users/yeongyu/local-workspaces/omo/src/agents/types.ts) `BuiltinAgentName` (10 names + sisyphus-junior derived = 11 distinct agents).
|
||||
|
||||
## AGENT INVENTORY
|
||||
|
||||
| Agent | Model | Temp | Mode | Fallback Chain | Purpose |
|
||||
|-------|-------|------|------|----------------|---------|
|
||||
| **Sisyphus** | claude-opus-4-7 max | 0.1 | all | k2p5 -> kimi-k2.6 -> gpt-5.5 medium -> glm-5 -> big-pickle | Main orchestrator, plans + delegates |
|
||||
| **Hephaestus** | gpt-5.5 medium | 0.1 | all | — | Autonomous deep worker |
|
||||
| **Oracle** | gpt-5.5 high | 0.1 | subagent | gemini-3.1-pro high -> claude-opus-4-7 max | Read-only consultation |
|
||||
| **Librarian** | gpt-5.4-mini-fast | 0.1 | subagent | qwen3.5-plus -> minimax-m2.7-highspeed -> minimax-m2.7 -> claude-haiku-4-5 -> gpt-5.4-nano | External docs/code search |
|
||||
| **Explore** | gpt-5.4-mini-fast | 0.1 | subagent | qwen3.5-plus -> minimax-m2.7-highspeed -> minimax-m2.7 -> claude-haiku-4-5 -> gpt-5.4-nano | Contextual grep |
|
||||
| **Multimodal-Looker** | gpt-5.3-codex medium | 0.1 | subagent | k2p5 -> gemini-3-flash -> glm-4.6v -> gpt-5-nano | PDF/image analysis |
|
||||
| **Metis** | claude-opus-4-7 max | **0.3** | subagent | gpt-5.5 high -> gemini-3.1-pro high | Pre-planning consultant |
|
||||
| **Momus** | gpt-5.5 xhigh | 0.1 | subagent | claude-opus-4-7 max -> gemini-3.1-pro high | Plan reviewer |
|
||||
| **Atlas** | claude-sonnet-4-6 | 0.1 | primary | gpt-5.5 medium | Todo-list orchestrator |
|
||||
| **Prometheus** | claude-opus-4-7 max | 0.1 | — | internal planner | Strategic planner (internal) |
|
||||
| Agent | Model | Temp | Mode | Fallback Chain (top of) | Purpose |
|
||||
|-------|-------|------|------|--------------------------|---------|
|
||||
| **Sisyphus** | claude-opus-4-7 max | 0.1 | all | k2p5 → kimi-k2.6 → gpt-5.5 medium → glm-5 → big-pickle | Main orchestrator, plans + delegates |
|
||||
| **Hephaestus** | gpt-5.5 medium | 0.1 | all | (GPT-only) | Autonomous deep worker — "Legitimate Craftsman" |
|
||||
| **Oracle** | gpt-5.5 high | 0.1 | subagent | gemini-3.1-pro high → claude-opus-4-7 max → glm-5.1 | Read-only consultation |
|
||||
| **Librarian** | gpt-5.4-mini-fast | 0.1 | subagent | qwen3.5-plus → minimax-m2.7-highspeed → claude-haiku-4-5 → gpt-5.4-nano | External docs/code search |
|
||||
| **Explore** | gpt-5.4-mini-fast | 0.1 | subagent | qwen3.5-plus → minimax-m2.7-highspeed → claude-haiku-4-5 → gpt-5.4-nano | Contextual grep |
|
||||
| **Multimodal-Looker** | gpt-5.5 medium | 0.1 | subagent | kimi-k2.6 → glm-4.6v → gpt-5-nano | PDF/image analysis |
|
||||
| **Metis** | claude-opus-4-7 max | **0.3** | subagent | gpt-5.5 high → gemini-3.1-pro high → glm-5.1 → k2p5 | Pre-planning consultant |
|
||||
| **Momus** | gpt-5.5 xhigh | 0.1 | subagent | claude-opus-4-7 max → gemini-3.1-pro high → glm-5.1 | Plan reviewer |
|
||||
| **Atlas** | claude-sonnet-4-6 | 0.1 | primary | kimi-k2.6 → gpt-5.5 medium → minimax-m2.7 | Todo-list orchestrator |
|
||||
| **Prometheus** | claude-opus-4-7 max | 0.1 | primary | gpt-5.5 high → glm-5.1 → gemini-3.1-pro | Strategic planner (interview) |
|
||||
| **Sisyphus-Junior** | claude-sonnet-4-6 | 0.1 | all | user-configurable | Category-spawned executor |
|
||||
|
||||
Authoritative chains live in [`src/shared/model-requirements.ts`](file:///Users/yeongyu/local-workspaces/omo/src/shared/model-requirements.ts).
|
||||
|
||||
## TOOL RESTRICTIONS
|
||||
|
||||
Defined in [`src/shared/agent-tool-restrictions.ts`](file:///Users/yeongyu/local-workspaces/omo/src/shared/agent-tool-restrictions.ts).
|
||||
|
||||
| Agent | Denied Tools |
|
||||
|-------|-------------|
|
||||
| Oracle | write, edit, task, call_omo_agent |
|
||||
@@ -37,37 +41,41 @@ Agent factories following `createXXXAgent(model) → AgentConfig` pattern. Each
|
||||
| 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
|
||||
|
||||
Only **sisyphus, atlas, sisyphus-junior, hephaestus** can be team members. Read-only agents (oracle, librarian, explore, multimodal-looker, metis, momus, prometheus) are rejected at TeamSpec parse. See [`team-mode/AGENTS.md`](file:///Users/yeongyu/local-workspaces/omo/src/features/team-mode/AGENTS.md).
|
||||
|
||||
## STRUCTURE
|
||||
|
||||
```
|
||||
agents/
|
||||
├── sisyphus.ts # 559 LOC, main orchestrator
|
||||
├── hephaestus.ts # 507 LOC, autonomous worker
|
||||
├── 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
|
||||
├── types.ts # AgentFactory, AgentMode
|
||||
├── agent-builder.ts # buildAgent() composition
|
||||
├── utils.ts # Agent utilities
|
||||
├── builtin-agents.ts # createBuiltinAgents() registry
|
||||
├── dynamic-agent-prompt-builder.ts # Dynamic prompt builder system
|
||||
├── dynamic-agent-core-sections.ts # Core prompt sections
|
||||
├── dynamic-agent-policy-sections.ts # Policy prompt sections
|
||||
├── dynamic-agent-tool-categorization.ts # Tool categorization
|
||||
├── dynamic-agent-category-skills-guide.ts # Category skills guide
|
||||
├── custom-agent-summaries.ts # Custom agent summaries
|
||||
├── env-context.ts # Environment context
|
||||
└── builtin-agents/ # maybeCreateXXXConfig conditional factories
|
||||
├── sisyphus-agent.ts
|
||||
├── hephaestus-agent.ts
|
||||
├── atlas-agent.ts
|
||||
├── general-agents.ts # collectPendingBuiltinAgents
|
||||
└── available-skills.ts
|
||||
├── 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-3-codex.ts, gpt-5-4.ts, gpt-5-5.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 — system-prompt.ts, identity-constraints.ts, interview-mode.ts, plan-template.ts, gemini.ts, gpt.ts
|
||||
├── 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
|
||||
├── custom-agent-summaries.ts # custom-agent prompt summaries
|
||||
├── dynamic-agent-prompt-builder.ts # dynamic prompt builder
|
||||
├── dynamic-agent-core-sections.ts # core prompt sections
|
||||
├── dynamic-agent-policy-sections.ts # policy sections
|
||||
├── dynamic-agent-tool-categorization.ts # tool categorization for prompt
|
||||
└── dynamic-agent-category-skills-guide.ts # category-skill guidance
|
||||
```
|
||||
|
||||
## FACTORY PATTERN
|
||||
@@ -82,10 +90,24 @@ const createXXXAgent: AgentFactory = (model: string) => ({
|
||||
createXXXAgent.mode = "subagent" // or "primary" or "all"
|
||||
```
|
||||
|
||||
Model resolution: 4-step: override → category-default → provider-fallback → system-default. Defined in `shared/model-requirements.ts`.
|
||||
Model resolution: 4-step pipeline → override → category-default → provider-fallback → system-default. Defined in [`shared/model-resolution-pipeline.ts`](file:///Users/yeongyu/local-workspaces/omo/src/shared/model-resolution-pipeline.ts).
|
||||
|
||||
## MODES
|
||||
|
||||
- **primary**: Respects UI-selected model, uses fallback chain
|
||||
- **subagent**: Uses own fallback chain, ignores UI selection
|
||||
- **all**: Available in both contexts (Sisyphus-Junior)
|
||||
- **`primary`** — respects UI-selected model, uses fallback chain (Atlas, Prometheus)
|
||||
- **`subagent`** — uses own fallback chain, ignores UI selection (Oracle, Librarian, Explore, etc.)
|
||||
- **`all`** — available in both contexts (Sisyphus, Hephaestus, Sisyphus-Junior)
|
||||
|
||||
## CANONICAL ORDER
|
||||
|
||||
`Sisyphus → Hephaestus → Prometheus → Atlas` (primary core agents) then alphabetical for the rest. Enforced by [`installAgentSortShim()`](file:///Users/yeongyu/local-workspaces/omo/src/shared/agent-sort-shim.ts) — patches `Array.prototype.{toSorted,sort}` narrowly when ≥2 canonical core agents are in the array. See [`src/plugin-handlers/AGENTS.md`](file:///Users/yeongyu/local-workspaces/omo/src/plugin-handlers/AGENTS.md) for the full history.
|
||||
|
||||
## DYNAMIC PROMPT BUILDER
|
||||
|
||||
`dynamic-agent-prompt-builder.ts` composes per-agent system prompts at runtime by stitching:
|
||||
- Core sections (identity, mode, restrictions)
|
||||
- Policy sections (citation, verification, anti-patterns)
|
||||
- Tool categorization (per-domain tool guidance)
|
||||
- Category-skills guide (which skills load with which categories)
|
||||
|
||||
This is what the Sisyphus prompt's "AGENTS / CATEGORY + SKILLS" tables come from.
|
||||
|
||||
@@ -5,7 +5,7 @@ description: Developer reference for the Hephaestus autonomous deep worker agent
|
||||
|
||||
# src/agents/hephaestus/ -- Autonomous Deep Worker
|
||||
|
||||
**Generated:** 2026-04-11
|
||||
**Generated:** 2026-05-08
|
||||
|
||||
## OVERVIEW
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ description: Developer reference for the Prometheus strategic planner agent —
|
||||
|
||||
# src/agents/prometheus/ -- Strategic Planner
|
||||
|
||||
**Generated:** 2026-04-11
|
||||
**Generated:** 2026-05-08
|
||||
|
||||
## OVERVIEW
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ description: Developer reference for Sisyphus orchestrator model-specific prompt
|
||||
|
||||
# src/agents/sisyphus/ -- Orchestrator Variants
|
||||
|
||||
**Generated:** 2026-04-11
|
||||
**Generated:** 2026-05-08
|
||||
|
||||
## OVERVIEW
|
||||
|
||||
|
||||
Reference in New Issue
Block a user