omo for Claude Code
The lazy way to run omo inside Claude Code. A native Claude Code plugin marketplace by Sisyphus Labs.
What it is
omo for Claude Code brings the omo experience — rule injection, comment checking, LSP intelligence, ultrawork orchestration, durable ultragoal tracking, and start-work continuation — into Claude Code through Claude Code's native plugin system.
This repository is the distribution surface: a native Claude Code plugin
marketplace. The marketplace is named sisyphuslabs and ships a single
plugin named omo. The repository name (lazyclaudecode) is the install
alias and the home of this marketplace — it is not the marketplace name.
The marketplace name is
sisyphuslabs. The plugin name isomo. You install the plugin asomo@sisyphuslabs.
Everything is self-contained: hooks, skills, subagents, and the bundled MCP
servers all resolve from ${CLAUDE_PLUGIN_ROOT}, so the plugin runs correctly
straight from the Claude Code plugin cache.
Install
Native (recommended)
Add this marketplace, then install the omo plugin:
/plugin marketplace add code-yeongyu/lazyclaudecode
/plugin install omo@sisyphuslabs
Via the omo CLI
# Claude Code platform (cc is the short alias for claudecode):
bunx omo install --platform=cc
# or via the dedicated alias (same compiled CLI, defaults to Claude Code):
bunx lazyclaudecode install
The omo CLI shells out to claude plugin marketplace add code-yeongyu/lazyclaudecode
and claude plugin install omo@sisyphuslabs. If claude is not on your PATH,
it prints the two /plugin commands above so you can run them inside a Claude
Code session.
Components
omo is one plugin namespace; each capability stays isolated internally as a
component.
| Component | What it does |
|---|---|
| rules | Injects AGENTS.md / CLAUDE.md / .omo/rules/** into context via SessionStart, UserPromptSubmit, PostToolUse, and PostCompact. |
| comment-checker | Runs comment-checker after Write / Edit / MultiEdit tool use to keep comments honest. |
| lsp | Exposes Language Server Protocol diagnostics, navigation, symbols, and rename through MCP plus post-edit hooks. |
| ultrawork | Detects ultrawork / ulw in a prompt and injects the full ultrawork orchestration directive. |
| ultragoal | Durable, repo-native multi-goal orchestration with embedded success criteria and an observable evidence audit under .omo/ultragoal/, scoped per Claude Code session. |
| start-work-continuation | A Stop / SubagentStop continuation hook that resumes .omo/boulder.json start-work plans, keyed per Claude Code session. |
| telemetry | Anonymous, opt-out daily-active signal emitted on the plugin SessionStart hook. |
MCP servers
omo bundles two MCP servers, wired through ${CLAUDE_PLUGIN_ROOT} so they
spawn cleanly from the plugin cache:
| Server | Purpose |
|---|---|
| ast_grep | Structural code search and rewrite via ast-grep. |
| lsp | Language Server Protocol tools: diagnostics, definitions, references, symbols, rename. |
Skills & subagents
Installing omo registers a library of skills (init-deep, planning,
refactor, remove-ai-slops, review-work, start-work, and more) and a set of
subagents for orchestrated work:
| Subagent | Role | Model |
|---|---|---|
| reviewer | Reviews ultrawork output against the directive. | opus |
| metis | Strategic planning and decomposition. | opus |
| planner | Turns objectives into executable plans. | opus |
| momus | Adversarial critique of plans and changes. | opus |
| explorer | Fast, read-only codebase reconnaissance. | haiku |
| librarian | Fast, read-only documentation and reference lookup. | haiku |
Skills carry a Claude Code Harness Tool Compatibility section so they speak in
Claude Code's native verbs (Edit, Write, MultiEdit, Task).
Telemetry
omo for Claude Code sends an anonymous, at-most-once-per-UTC-day "still alive"
signal so the project can gauge real-world usage. It uses the same PostHog
project as the wider omo family but emits the distinct event
omo_claude_daily_active. The signal is keyed to a SHA256-hashed installation
identifier, person profiles are suppressed, and the daily dedup state is stored
locally.
Opt out
# Claude Code only:
export OMO_CLAUDE_DISABLE_POSTHOG=1
export OMO_CLAUDE_SEND_ANONYMOUS_TELEMETRY=0
# Globally (also silences the rest of the omo family):
export OMO_DISABLE_POSTHOG=1
export OMO_SEND_ANONYMOUS_TELEMETRY=0
Setting OMO_DISABLE_POSTHOG disables omo for Claude Code telemetry too — the
global flag is inherited.
Relationship to the omo family
omo ships in editions tuned to each agent harness. They all share the same
core ideas and the same sisyphuslabs identity.
| Edition | Harness | Distribution |
|---|---|---|
| Ultimate | OpenCode | omo OpenCode plugin |
| Light (Codex) | OpenAI Codex | lazycodex |
| Light (Claude Code) | Claude Code | this repo — lazyclaudecode |
All editions descend from oh-my-openagent (omo).
License
MIT © Yeongyu Kim
No comments yet
Be the first to share your take.