Tools
Tools
Oh My OpenAgent gives your agents world-class tools. LSP, AST-Grep, Tmux, MCP — actually integrated, not duct-taped together.
Hashline (Hash-Anchored Edit Tool)
The harness problem is real. Most agent failures aren’t the model — it’s the edit tool.
“None of these tools give the model a stable, verifiable identifier for the lines it wants to change… They all rely on the model reproducing content it already saw. When it can’t - and it often can’t - the user blames the model.”
Inspired by oh-my-pi, Hashline tags every line with a content hash:
11#VK| function hello() {
22#XJ| return "world";
33#MB| }
The agent edits by referencing those tags. If the file changed since the last read, the hash won’t match and the edit is rejected before corruption. No whitespace reproduction. No stale-line errors.
Impact: Grok Code Fast 1 success rate went from 6.7% → 68.3% — just from changing the edit tool.
IntentGate
Analyzes true user intent before classifying or acting. No more literal misinterpretations.
When you type a request, IntentGate:
- Parses what you actually mean (not just what you said)
- Classifies the task type
- Routes to the appropriate agent
This prevents agents from taking instructions too literally and producing unexpected results.
LSP Tools
IDE precision for every agent:
| Tool | What it does |
|---|---|
lsp_rename | Safe cross-file symbol renaming |
lsp_goto_definition | Jump to symbol definition |
lsp_find_references | Find all references to a symbol |
lsp_diagnostics | Pre-build diagnostic checks |
These give agents the same code intelligence that your IDE provides — type-safe refactoring, accurate navigation, and real-time error detection.
AST-Grep
Pattern-aware code search and rewriting across 25 languages.
Unlike text-based search, AST-Grep understands code structure:
- Search by syntax pattern, not string matching
- Rewrite code while preserving structure
- Works across TypeScript, Python, Go, Rust, Java, and 20+ more languages
Example patterns:
- Find all React components using
useState - Find all async functions without error handling
- Batch-replace deprecated API calls
Tmux Integration
Full interactive terminal. REPLs, debuggers, TUI apps. Your agent stays in session.
What Tmux enables:
- Run long-running processes (dev servers, test watchers)
- Interact with REPLs (Node.js, Python, IRB)
- Use debuggers (gdb, pdb, node —inspect)
- Run TUI applications (vim, htop, lazygit)
- Agent maintains session state across interactions
Skill-Embedded MCPs
MCP servers eat your context budget. Oh My OpenAgent fixed that.
Skills bring their own MCP servers:
- Spin up on-demand — only when the skill is active
- Scoped to task — only relevant tools exposed
- Gone when done — context window stays clean
Built-in Skills
| Skill | What it does |
|---|---|
playwright | Browser automation — screenshots, E2E tests, web scraping |
git-master | Atomic commits, rebase surgery, clean git history |
frontend-ui-ux | Design-first UI implementation |
Custom Skills
Add your own skills:
- Project-level:
.opencode/skills/*/SKILL.md - User-level:
~/.config/opencode/skills/*/SKILL.md
Each skill includes:
- Domain-tuned system instructions
- Embedded MCP server definition
- Scoped permissions
Built-in MCPs
Three MCP servers are always on:
| MCP | Based On | What it does |
|---|---|---|
websearch | Exa | Web search — find relevant code, docs, solutions |
context7 | Context7 | Official documentation lookup — fetch library docs into context |
grep_app | Grep.app | GitHub code search — search across public repositories |
These are configured by default and require no setup. They provide agents with real-time access to web information, documentation, and code search.
Next Steps
- Agent System — How agents use these tools
- Features — Ralph Loop, Todo Enforcer, and other features
- Configuration — Configure MCPs, LSP, and tool behavior