Files
oh-my-opencode/src/tools/AGENTS.md
T

4.5 KiB

TOOLS KNOWLEDGE BASE

OVERVIEW

26 tools across 14 directories. Two patterns: Direct ToolDefinition (static) and Factory Function (context-dependent).

STRUCTURE

tools/
├── delegate-task/    # Category routing (constants.ts 569 lines, tools.ts 213 lines)
├── task/             # 4 tools: create, list, get, update (task-create.ts, task-list.ts, task-get.ts, task-update.ts)
├── lsp/              # 6 LSP tools: goto_definition, find_references, symbols, diagnostics, prepare_rename, rename
├── ast-grep/         # 2 tools: search, replace (25 languages)
├── grep/             # Content search (60s timeout, 10MB limit)
├── glob/             # File pattern matching (60s timeout, 100 file limit)
├── session-manager/  # 4 tools: list, read, search, info
├── call-omo-agent/   # Direct agent invocation (explore/librarian)
├── background-task/  # background_output, background_cancel
├── interactive-bash/ # Tmux session management (135 lines)
├── look-at/          # Multimodal PDF/image analysis (156 lines)
├── skill/            # Skill execution with MCP support (211 lines)
├── skill-mcp/        # MCP tool/resource/prompt operations (182 lines)
└── slashcommand/     # Slash command dispatch

TOOL INVENTORY

Tool Category Pattern Key Logic
task_create Task Factory Auto-generated T-{uuid} ID, threadID recording, dependency management
task_list Task Factory Active tasks with summary (excludes completed/deleted), filters unresolved blockers
task_get Task Factory Full task object by ID
task_update Task Factory Status/field updates, additive addBlocks/addBlockedBy for dependencies
task Delegation Factory Category routing with skill injection, background execution
call_omo_agent Agent Factory Direct explore/librarian invocation
background_output Background Factory Retrieve background task result (block, timeout, full_session)
background_cancel Background Factory Cancel running/all background tasks
lsp_goto_definition LSP Direct Jump to symbol definition
lsp_find_references LSP Direct Find all usages across workspace
lsp_symbols LSP Direct Document or workspace symbol search
lsp_diagnostics LSP Direct Get errors/warnings from language server
lsp_prepare_rename LSP Direct Validate rename is possible
lsp_rename LSP Direct Rename symbol across workspace
ast_grep_search Search Factory AST-aware code search (25 languages)
ast_grep_replace Search Factory AST-aware code replacement (dry-run default)
grep Search Factory Regex content search with safety limits
glob Search Factory File pattern matching
session_list Session Factory List all sessions
session_read Session Factory Read session messages with filters
session_search Session Factory Search across sessions
session_info Session Factory Session metadata and stats
interactive_bash System Direct Tmux session management
look_at System Factory Multimodal PDF/image analysis via dedicated agent
skill Skill Factory Load skill instructions with MCP support
skill_mcp Skill Factory Call MCP tools/resources/prompts from skill-embedded servers
slashcommand Command Factory Slash command dispatch with argument substitution

DELEGATION SYSTEM (delegate-task)

8 built-in categories with domain-optimized models:

Category Model Domain
visual-engineering gemini-3-pro UI/UX, design, styling
ultrabrain gpt-5.3-codex xhigh Deep logic, architecture
deep gpt-5.3-codex medium Autonomous problem-solving
artistry gemini-3-pro high Creative, unconventional
quick claude-haiku-4-5 Trivial tasks
unspecified-low claude-sonnet-4-5 Moderate effort
unspecified-high claude-opus-4-6 max High effort
writing kimi-k2p5 Documentation, prose

HOW TO ADD

  1. Create src/tools/[name]/ with index.ts, tools.ts, types.ts, constants.ts
  2. Static tools → builtinTools export, Factory → separate export
  3. Register in src/plugin/tool-registry.ts

NAMING

  • Tool names: snake_case (lsp_goto_definition)
  • Functions: camelCase (createDelegateTask)
  • Directories: kebab-case (delegate-task/)