omc-setup
The omc-setup skill installs, refreshes, or repairs oh-my-claudecode across plugin, npm, and local-dev environments. Use it after initial installation via marketplace or npm, when updating a checked-out repository, or when repairing an existing setup. The skill supports interactive setup wizards, local or global configuration targeting, and forced reinitialization through command flags.
git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode /tmp/omc-setup && cp -r /tmp/omc-setup/skills/omc-setup ~/.claude/skills/omc-setupSKILL.md
# OMC Setup
This is the **only command you need to learn**. After running this, everything else is automatic.
**When this skill is invoked, immediately execute the workflow below. Do not only restate or summarize these instructions back to the user.**
Note: All `~/.claude/...` paths in this guide respect `CLAUDE_CONFIG_DIR` when that environment variable is set.
## Best-Fit Use
Choose this setup flow when the user wants to **install, refresh, or repair OMC itself**.
- Marketplace/plugin install users should land here after `/plugin install oh-my-claudecode`
- npm users should land here after `npm i -g oh-my-claude-sisyphus@latest`
- local-dev and worktree users should land here after updating the checked-out repo and rerunning setup
## Flag Parsing
Check for flags in the user's invocation:
- `--help` → Show Help Text (below) and stop
- `--local` → Phase 1 only (target=local), then stop
- `--global` → Phase 1 only (target=global), then stop
- `--force` → Skip Pre-Setup Check, run full setup (Phase 1 → 2 → 3 → 4)
- No flags → Run Pre-Setup Check, then full setup if needed
## Help Text
When user runs with `--help`, display this and stop:
```
OMC Setup - Configure oh-my-claudecode
USAGE:
/oh-my-claudecode:omc-setup Run initial setup wizard (or update if already configured)
/oh-my-claudecode:omc-setup --local Configure local project (.claude/CLAUDE.md)
/oh-my-claudecode:omc-setup --global Configure global settings (~/.claude/CLAUDE.md)
/oh-my-claudecode:omc-setup --force Force full setup wizard even if already configured
/oh-my-claudecode:omc-setup --help Show this help
MODES:
Initial Setup (no flags)
- Interactive wizard for first-time setup
- Configures CLAUDE.md (local or global)
- Sets up HUD statusline
- Checks for updates
- Clears retired setup values (5.0.0 removed defaultExecutionMode) and points MCP registration at Claude Code's native config
- Configures team mode defaults (agent count, type, model)
- If already configured, offers quick update option
Local Configuration (--local)
- Invokes the plugin-local coordinator through `scripts/setup-claude-md.sh`; the shell validates the coordinator response and its exit status before any post-install work
- Reports coordinator-created byte-identical backups only for files that required mutation
- Project-specific settings
- Use this to update project config after OMC upgrades
Global Configuration (--global)
- Invokes the plugin-local coordinator through `scripts/setup-claude-md.sh`; the shell validates the coordinator response and its exit status before any post-install work
- Reports coordinator-created byte-identical backups only for changed global files
- Default: explicitly overwrites ~/.claude/CLAUDE.md so plain `claude` also uses OMC
- Optional preserve mode keeps the user's base `CLAUDE.md` and installs OMC into `CLAUDE-omc.md` for `omc` launches
- Applies to all Claude Code sessions
- Preserves same-named legacy hook files unless their exact historical contents are independently verified
- Use this to update global config after OMC upgrades
Force Full Setup (--force)
- Bypasses the "already configured" check
- Runs the complete setup wizard from scratch
- Use when you want to reconfigure preferences
EXAMPLES:
/oh-my-claudecode:omc-setup # First time setup (or update CLAUDE.md if configured)
/oh-my-claudecode:omc-setup --local # Update this project
/oh-my-claudecode:omc-setup --global # Update all projects
/oh-my-claudecode:omc-setup --force # Re-run full setup wizard
For more info: https://github.com/Yeachan-Heo/oh-my-claudecode
```
## Setup Invocation
Do not independently scan plugin cache directories or select a plugin root in this skill. Invoke the setup script from the plugin root supplied by the running plugin environment:
```bash
bash "${OMC_SETUP_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/scripts/setup-claude-md.sh" <local|global> [overwrite|preserve]
```
The script is the sole cache resolver. It accepts only complete plugin roots (canonical `docs/CLAUDE.md`, coordinator artifact, and `wiki` skill), chooses a strict full-SemVer cache version, verifies the compiled-source handshake, and fails closed on coordinator protocol or status disagreement. Do not download configuration or mutate `CLAUDE.md` outside that coordinator.
## Pre-Setup Check: Already Configured?
**CRITICAL**: Before doing anything else, check if setup has already been completed. This prevents users from having to re-run the full setup wizard after every update.
```bash
# Check if setup was already completed
CONFIG_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}"
case "$CONFIG_DIR" in
"~") CONFIG_DIR="$HOME" ;;
"~/"*) CONFIG_DIR="$HOME/${CONFIG_DIR#\~/}" ;;
"~\\"*) CONFIG_DIR="$HOME/${CONFIG_DIR#\~\\}" ;;
esac
CONFIG_FILE="$CONFIG_DIR/.omc-config.json"
if [ -f "$CONFIG_FILE" ]; then
if ! command -v jq >/dev/null 2>&1; then
echo "ERROR: jq is required to inspect existing OMC setup state. Existing config was not modified."
exit 1
fi
if ! SETUP_COMPLETED=$(jq -r '.setupCompleted // empty' "$CONFIG_FILE" 2>/dev/null) \
|| ! SETUP_VERSION=$(jq -r '.setupVersion // empty' "$CONFIG_FILE" 2>/dev/null); then
echo "ERROR: Existing OMC config is invalid JSON. Existing config was not modified."
exit 1
fi
if [ -n "$SETUP_COMPLETED" ] && [ "$SETUP_COMPLETED" != "null" ]; then
echo "OMC setup was already completed on: $SETUP_COMPLETED"
[ -n "$SETUP_VERSION" ] && echo "Setup version: $SETUP_VERSION"
ALREADY_CONFIGURED="true"
fi
fi
```
### If Already Configured (and no --force flag)
If `ALREADY_CONFIGURED` is true AND the user did NOT pass `--force`, `--local`, or `--global` flags:
Use AskUserQuestion to prompt:
**Question:** "OMC is already configured. What would you like to do?"
**Options:**
1. **Update CLAUDE.md and clear retired setup values** - Install the activeClean AI-generated code slop with a regression-safe, deletion-first workflow and optional reviewer-only mode
Pre-planning consultant for requirements analysis (Opus)
Strategic Architecture & Debugging Advisor (Opus, READ-ONLY)
Process-first advisor routing for Claude, Codex, Gemini, Antigravity, Grok, or Cursor via `omc ask`, with artifact capture and no raw CLI assembly
Full autonomous execution from idea to working code
Stateful single-mission improvement loop with strict evaluator contract, markdown decision logs, and max-runtime stop behavior
Cancel any active OMC mode (autopilot, ralph, ultragoal, swarm, ultrapilot, pipeline, team) and clean up retired legacy state
Claude-Codex-Gemini tri-model orchestration via /ask codex + /ask antigravity (or gemini), then Claude synthesizes results