agent-doc-discipline
Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and carrying a why, steps before…
Install or refresh oh-my-claudecode for plugin, npm, and local-dev setups from the canonical setup flow
$ npx -y skills add Yeachan-Heo/oh-my-claudecode --skill omc-setup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/omc-setupContext preview
The summary Claude sees to decide when to auto-load this skill.
Install or refresh oh-my-claudecode for plugin, npm, and local-dev setups from the canonical setup flow
name: omc-setup description: Install or refresh oh-my-claudecode for plugin, npm, and local-dev setups from the canonical setup flow level: 2
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.
Choose this setup flow when the user wants to **install, refresh, or repair OMC itself**.
Check for flags in the user's invocation:
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-claudecodeDo 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 "${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.
**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.
# 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
fiIf `ALREADY_CONFIGURED` is true AND the user did NOT pass `--force`, `--local`, or `--global` flags:
Use AskUserQuestion to prompt:
**Question
For Codex users: Check out oh-my-codex — the same orchestration experience for OpenAI Codex CLI. Liked OmC but found it a bit overkill? Try gajae-code.
Repo: Yeachan-Heo/oh-my-claudecode
Writing-time discipline for documents agents consume (the five surfaces, specs, tickets, .omc/skills/) — every rule checkable and carrying a why, steps before…
Clean AI-generated code slop with a regression-safe, deletion-first workflow and optional reviewer-only mode
Shipyard's navigator — chart a foggy effort (destination unclear, questions not yet stateable) into a map of decision tickets on the repo's issue tracker, then…
Process-first advisor routing for Claude, Codex, Gemini, Antigravity, Grok, or Cursor via `omc ask`, with artifact capture and no raw CLI assembly
Stateful single-mission improvement loop with strict evaluator contract, markdown decision logs, and max-runtime stop behavior