OmO
Oh My OpenAgentv4.7.5

Quick Commands

Slash commands and short keywords OmO recognizes inside an OpenCode session.

OmO ships a handful of slash commands that map to workflows the harness already knows how to run. They're the fastest way to enter a specific mode without typing the full prompt skeleton.

Workflow

CommandPurpose
/init-deepGenerate hierarchical AGENTS.md files throughout the project so future agents start with full context. Supports --create-new and --max-depth=N.
/ralph-loop "<goal>"Self-referential development loop until completion. Detects <promise>DONE</promise>, auto-continues on early stops, capped by default_max_iterations (100).
/ulw-loop "<goal>"Same as ralph-loop but with ultrawork mode on — parallel agents, background tasks, aggressive exploration.
/cancel-ralphCancel an active Ralph loop.
/refactor <target>Toolchain-driven refactor: LSP rename + AST-grep + architecture analysis + TDD verification. Supports --scope=<file|module|project> and --strategy=<safe|aggressive>.
/start-work [plan-name]Activate Atlas on the latest Prometheus plan.
/stop-continuationStop ralph loop, todo continuation, and boulder state for this session.
/handoffGenerate a structured handoff doc — current state, what was done, what remains, relevant paths.

Keyword triggers

These are not slash commands; the harness watches user prompts for them and activates the matching mode.

KeywordMode
ultrawork, ulwUltrawork — parallel agents, background tasks, runs until verified.
searchForces retrieval-first delegation through Explore/Librarian.
analyzeRoutes to the deep-analysis category with extended reasoning.
teamEngages team mode if enabled in config.

Tab cycling

In the OpenCode UI, Tab cycles through core agents in a deterministic order: Sisyphus → Hephaestus → Prometheus → Atlas → …. Override with agent_order in plugin config; unknown or duplicate names are ignored with a config toast.

Background invocation

Agents can be addressed explicitly inside a session:

Ask @oracle to review this design and propose an architecture.
Ask @librarian how this is implemented — why does the behavior keep changing?
Ask @explore for the policy on this feature.

For background tasks, use the task() tool with run_in_background=true and retrieve results later via background_output(task_id="…").

Custom commands

Add your own slash commands by dropping markdown files into any of:

  • .opencode/command/*.md (project, OpenCode native)
  • ~/.config/opencode/command/*.md (user, OpenCode native)
  • .claude/commands/*.md (project, Claude Code compat)
  • ~/.config/opencode/commands/*.md (user, Claude Code compat)

Disable built-ins via { "disabled_commands": ["init-deep", "start-work"] }.

Source Notes

Aligned with upstream docs/reference/cli.md and docs/reference/features.md. The full feature catalog (commands, keyword triggers, agent inventory, tools, hooks, MCPs) lives in Features.

On this page