High-payoff omp habits, ordered roughly by leverage.
Route by role, not by hope
- Cheap model →
smol(fan-out, titles, mechanical work); strong model →slowandplan. - Stop running everything on the biggest model “to be safe”.
Alt+Massigns roles;Ctrl+Pcycles;--smol/--slow/--planoverride at launch.
/omfg turns annoyance into policy
- Agent reached for a banned API or ignored a convention? Type
/omfgimmediately after. - Forges a TTSR rule (time-traveling stream rule) from your complaint.
- Rule sleeps until a regex matches the live output stream, then aborts mid-token, injects the correction, retries from that point.
- Zero context cost until it fires; permanent once written. Inspect with
omp ttsr.
Plan mode
/plan(orAlt+Shift+P) makes the agent hard read-only and writes an execution spec tolocal://<slug>-plan.md.- Quality bar: a competent implementer who never saw the conversation executes the file top to bottom with zero design decisions.
- Read the plan before approving.
- Trap:
--plansets the plan role’s model; it does not enter plan mode. See Traps.
ultrathink
- Bare
ultrathinkin a prompt requests maximum reasoning for that turn only. - Cheaper than raising
defaultThinkingLevelglobally. Shift+Tabcycles the level live for a stretch of work.
Know your context exits
Not interchangeable:
| Command | What happens | Cost |
|---|---|---|
/compact | LLM summarizes older history | a summarization call |
/shake | heavy tool results become recoverable artifact:// refs | free; nothing lost, just parked |
/handoff | fresh session carrying a handoff document | live context is gone |
/fresh | re-keys a wedged provider stream, context intact | free; use before /clear |
/context | shows what is actually filling the window | free; run it before choosing |
/btw and /tan protect your context
/btw— side question against current context without polluting it./tan— full background agent for tangential work. See Multi-agent.
Memory is off until you flip it
memory.backendshipsoff; nothing persists between sessions.omp config set memory.backend mnemopi→ local SQLite bank, project-scoped./memory statsshows what it kept;/memory enqueueforces full retention now.
Read the meter before tuning
omp stats -s # where the model-minutes went
omp usage # remaining quota on every authed account
omp bench # race your models: TTFT, tokens/s
~/.omp/stats.dbis plain SQLite: tablesmessages,tool_calls,user_messages.- One query answers e.g. “how many requests does my advisor fire per main turn”.
- Set
advisor.syncBacklog, compaction, and fallback chains from numbers, not vibes.
Edits are anchored, not guessed
- Default edit mode
hashlineanchors patches to a content hash minted by the lastread. - Stale edit is rejected with a diff of what changed — never misapplied.
MismatchErrormeans the file moved under the agent; that is the system working.
eval beats bash: python -c
evalruns persistent Python and JS cells: shared state, structured display, cancellation.- Can call back into the agent’s own tools —
tool.read(...),agent(...),parallel(...)— turning “spawn some subagents” into a loop with a budget. python -closes all of that.
Everything is a path
| Read this | Gets |
|---|---|
read pr://1428 | a pull request |
read issue://42 | an issue |
read agent://Scout | a subagent’s output |
read ssh://prod/var/log/app.log | a remote file |
read xd:// | list of deferred tools |
Point at content instead of pasting it into the prompt.
Queue follow-ups instead of interrupting
Ctrl+Qqueues your next message while the agent works;Alt+Uppulls it back.- Steering messages interrupt by default (
interruptMode: immediate); setwaitto let the agent finish its thought.
Pin secrets down
secrets.enabled: trueobfuscates configured secrets and credential-shaped tokens before anything leaves for a provider./shareruns a redactor over session snapshots (share.redactSecrets, on by default).- Redaction targets credentials, not client data — review plain confidential data yourself.
Let long commands background themselves
bash.autoBackground(on by default) moves slow commands into a managed background job instead of blocking the turn.- The
hubtool then greps its logs, follows them, restarts it, or sends keystrokes. - Dev servers and watchers stop being a reason the agent “hangs”.
Import your history from other tools
omp --from-claude/omp --from-codeximport a Claude Code or Codex session with history intact.- omp natively reads
CLAUDE.md,AGENTS.md, Cursor MDC,.clinerules, Copilot instructions.
omp cleanse for the diagnostics pile
omp cleansefans out weighted parallel subagents to fix accumulated project type errors and lint noise.
omp git when you want hands on the wheel
omp git— fullscreen git UI: split diffs, staging sidebar, commit composer.omp commitwrites the message and updates changelogs.
See also: Cheat sheet, Settings, Getting started, Guide.
Condensed from the omp guide by Hugo Lopes (MIT). Verify against your install:
omp config list.