4.5 KiB
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
- Create
src/tools/[name]/with index.ts, tools.ts, types.ts, constants.ts - Static tools →
builtinToolsexport, Factory → separate export - Register in
src/plugin/tool-registry.ts
NAMING
- Tool names: snake_case (
lsp_goto_definition) - Functions: camelCase (
createDelegateTask) - Directories: kebab-case (
delegate-task/)