Orca CLI
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
Detects and gracefully cancels whichever OMC mode, autopilot, ralph, swarm, pipeline, or team, is currently active, then clears its state.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill cancel -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode cancel --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cancel .claude/skills/cancel && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cancel" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/cancel into .claude/skills/cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cancel", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/cancelType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill cancel -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode cancel --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cancel .agents/skills/cancel && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cancel" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/cancel into .agents/skills/cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cancel", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill cancel -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode cancel --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cancel .cursor/skills/cancel && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cancel" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/cancel into .cursor/skills/cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cancel", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Yeachan-Heo/oh-my-claudecode.git --path skills/cancel--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill cancel -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode cancel --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cancel .gemini/skills/cancel && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cancel" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/cancel into .gemini/skills/cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cancel", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Yeachan-Heo/oh-my-claudecode cancelInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill cancel -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cancel .github/skills/cancel && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cancel" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/cancel into .github/skills/cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cancel", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Yeachan-Heo/oh-my-claudecode --skill cancel -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Yeachan-Heo/oh-my-claudecode cancel --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cancel .opencode/skills/cancel && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cancel" agent skill from https://github.com/Yeachan-Heo/oh-my-claudecode/tree/main/skills/cancel into .opencode/skills/cancel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cancel", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cancelDetects and gracefully cancels whichever OMC mode, autopilot, ralph, swarm, pipeline, or team, is currently active, then clears its state.
This skill resolves the current session identity from an environment variable or a hook-provided session ID and fails closed on an ambiguous identity for the default or --force command, refusing to guess a session or run an unscoped cleanup. The --all flag is the only one that authorizes acting across every known session, and --force only changes shutdown urgency, never scope or lock handling.
It covers every mode with its own shutdown behavior: autopilot and ralph stop while preserving resumable progress, ultragoal clears its runtime guard while keeping its plan and ledger files, swarm releases claimed tasks only through its authorized shared cleanup path, and team performs a graceful shutdown through the active team surface before clearing session-scoped state, with forced paths skipping the wait.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 454bae0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitpython3nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
OMC Mode Cancellation loads about 4.6k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 1,983 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Yeachan-Heo/oh-my-claudecode at commit 454bae0, republished under its MIT licence (© Yeachan-Heo). 1,983 words, ~4,618 tokens.
.claude/skills/cancel/SKILL.md (or your agent's skills folder).Intelligent cancellation that detects and cancels the active OMC mode.
The cancel skill is the standard way to complete and exit any OMC mode.
When the stop hook detects completion, it instructs the LLM to invoke this
skill for state cleanup. Retry a failed operation in the same scope and report
what remains; --force changes shutdown urgency, never scope, lock handling,
or ownership checks. --all is the only cross-session authorization.
The flags control independent scope and shutdown dimensions:
| Invocation | Scope | Shutdown behavior |
|---|---|---|
| no flags | Current session only | Graceful cancellation, including teammate shutdown waits |
--force | Current session only | Forced cancellation: skip graceful waits, but still use protected state tools and honor locks/ownership |
--all | Every known session, by explicit session id | Normal safe cancellation independently for each session, then explicit legacy/global cleanup |
--force --all | Every known session, by explicit session id | Forced-all: skip graceful waits for each session, then perform the authorized legacy/global cleanup |
Resolve the current identity from OMC_SESSION_ID in CLI contexts or the
hook-provided session_id. A missing or ambiguous identity for no flags or
--force fails closed: do not aggregate state, choose a discovered session,
or issue an unscoped cleanup. This is a fail-closed error for the default
command and for --force. --all may enumerate known sessions, but every
concrete id is still read, cancelled, and cleared independently.
Automatically detects and cancels active modes:
.omc/ultragoal/ plan and ledger artifacts.TeamDelete./oh-my-claudecode:cancel
/oh-my-claudecode:cancel --force
/oh-my-claudecode:cancel --all
/oh-my-claudecode:cancel --force --allOr say: cancelomc, stopomc.
The state tools (state_clear, state_read, state_write,
state_list_active, state_get_status) may be deferred by Claude Code. Before
calling any of them, load all of them with ToolSearch:
ToolSearch(query="select:mcp__plugin_oh-my-claudecode_t__state_clear,mcp__plugin_oh-my-claudecode_t__state_read,mcp__plugin_oh-my-claudecode_t__state_write,mcp__plugin_oh-my-claudecode_t__state_list_active,mcp__plugin_oh-my-claudecode_t__state_get_status")If state_clear is unavailable or fails, retry the same scoped operation and
report the failure. The fallback below is only an emergency escape from a
stop-hook loop for a non-force, non-Team cancellation. It removes files only
for an explicitly identified current session. Do NOT use this fallback for
autopilot, team, or omc-teams, or for --force/--all; never use it to
bypass a lock, ownership check, corruption, or another state-tool failure.
Linked modes need one protected operation per mode.
Replace MODE with the specific mode (for example ralplan, ralph,
ultrawork, or ultragoal).
# Emergency fallback: direct file removal for one identified session only.
SESSION_ID="${OMC_SESSION_ID:-${CLAUDE_SESSION_ID:-${CLAUDECODE_SESSION_ID:-}}}"
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || { d="$PWD"; while [ "$d" != "/" ] && [ ! -d "$d/.omc" ]; do d="$(dirname "$d")"; done; echo "$d"; })"
sha256portable() { printf '%s' "$1" | (sha256sum 2>/dev/null || shasum -a 256) | cut -c1-16; }
if [ -n "${OMC_STATE_DIR:-}" ]; then
SOURCE="$(git remote get-url origin 2>/dev/null || echo "$REPO_ROOT")"
HASH="$(sha256portable "$SOURCE")"
DIR_NAME="$(basename "$REPO_ROOT" | sed 's/[^a-zA-Z0-9_-]/_/g')"
OMC_STATE="$OMC_STATE_DIR/${DIR_NAME}-${HASH}/state"
elif [ "$REPO_ROOT" != "/" ] && [ -d "$REPO_ROOT/.omc" ]; then
OMC_STATE="$REPO_ROOT/.omc/state"
else
echo "ERROR: Could not locate .omc state directory" >&2; exit 1
fi
[ -d "$OMC_STATE" ] || { echo "ERROR: State dir not found at $OMC_STATE" >&2; exit 1; }
MODE="ralplan" # replace with the target mode
[ -n "$SESSION_ID" ] || { echo "ERROR: current session identity is required; refusing unscoped fallback" >&2; exit 1; }
if [ -d "$OMC_STATE/sessions/$SESSION_ID" ]; then
rm -f "$OMC_STATE/sessions/$SESSION_ID/${MODE}-state.json" \
"$OMC_STATE/sessions/$SESSION_ID/${MODE}-stop-breaker.json" \
"$OMC_STATE/sessions/$SESSION_ID/skill-active-state.json"
NOW_ISO="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
EXPIRES_ISO="$(date -u -d "+30 seconds" +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || python3 - <<'PY'
from datetime import datetime, timedelta, timezone
print((datetime.now(timezone.utc) + timedelta(seconds=30)).strftime('%Y-%m-%dT%H:%M:%SZ'))
PY
)"
printf '{"active":true,"requested_at":"%s","expires_at":"%s","mode":"%s","source":"bash_fallback"}' \
"$NOW_ISO" "$EXPIRES_ISO" "$MODE" > "$OMC_STATE/sessions/$SESSION_ID/cancel-signal-state.json"
fiThis is the authoritative procedure for every invocation.
Parse exact flags independently; unknown or near-match arguments do nothing:
FORCE_MODE=false
ALL_MODE=false
for arg in "$@"; do
case "$arg" in
--force) FORCE_MODE=true ;;
--all) ALL_MODE=true ;;
esac
done
SCOPE="current"
if [[ "$ALL_MODE" == true ]]; then SCOPE="all"; fi
GRACEFUL_MODE=true
if [[ "$FORCE_MODE" == true ]]; then GRACEFUL_MODE=false; fiThe parsed values select exactly one row in the contract above.
--force, require one unambiguous current session id and
call state_list_active(session_id="<current_session_id>"). Its scoped
result is authoritative; never use an aggregate result to infer ownership.--all, call state_list_active(all=true) once and retain every
concrete session id. Discovery enumerates targets; it is not a Team read.state_get_status(mode="<mode>", session_id="<session_id>") before mode
cleanup. Treat Ultrawork as retired cleanup input.Use this dependency order when several modes appear in one scoped status:
Ralph linked to Team is excluded from the standalone step and is handled only after Team succeeds; this prevents the persistence loop from outliving workers.
Process each selected session independently in this dependency order. A failed
or unresolved scoped operation marks that session unsuccessful: retain affected
state/runtime records, report the scope and reason, and do not claim linked
cleanup. An --all run may continue other ids, but any such failure blocks the
final global pass.
Autopilot (primary first)
workflowRunId when present.state_write(mode="autopilot", session_id="<session_id>", active=false, state={workflowRunId: "<exact run id>"}); do not replay the readback. The state tool revalidates workflow integrity under its mutation lock.state_clear(mode="ralplan", session_id="<session_id>"), then linked Ralph,
then retired UltraQA. Preserve the paused primary for resume when a
dependent clear fails. Force mode keeps this primary-first ordering.The primary pause preserves workflow, pipeline tracking, and task identity. A
target_state_sha256 may be supplied only when it is the exact hash of the
current serialized state. Never clear nested ralplan, linked state, cancel
signals, or runtime artifacts after a failed primary write; report the exact
dependent failure and retry it in the same session.
Team (native Claude Code)
state_read(mode="team", session_id="<session_id>") and obtain the
captured team name and active worker labels. Never select a Team from an
aggregate read.state_clear(mode="team", session_id="<session_id>"). If the protected
clear fails for lock, ownership, corruption, or another reason, retain Team
runtime records and linked Ralph; do not use an unscoped clear or fallback.state_read(mode="ralph", session_id="<session_id>") then
state_clear(mode="ralph", session_id="<session_id>")). For legacy
omc team / /omc-teams workers, run the
captured team-name orphan scan after state cleanup; native Team has no
TeamDelete.Report the team name, signaled members, responses, timeouts, whether Team and
linked Ralph state cleared, and any manual cleanup needed. A graceful timeout
is recorded separately; only an unresolved protected operation blocks the global
pass. The legacy orphan scan is limited to the captured name and must not
terminate an uncaptured native Team or delete a ~/.claude/teams root.
The legacy scan, when applicable, is:
node "${CLAUDE_PLUGIN_ROOT}/scripts/cleanup-orphans.mjs" \
--team-name "<captured_team_name>"Use --dry-run to inspect without terminating workers. This scan is not a
substitute for the protected Team clear and is never inferred from a
name-prefix match.
Linked Ralph context
If cancellation starts while Ralph is linked, apply the same Team-first ordering. Never clear Ralph before a linked Team has been successfully handled; if Team fails, Ralph remains protected. Both operations use the selected id.
Other modes
state_clear(mode="ralph", session_id="<session_id>").state_clear(mode="ultrawork", session_id="<session_id>")
only for the stale scoped record; never reactivate or route it.state_clear(mode="ultraqa", session_id="<session_id>")
only for stale pre-5.0.0 state.state_clear(mode="ultragoal", session_id="<session_id>") clears
only its runtime guard; preserve .omc/ultragoal/ artifacts.Self-Improve cleanup clears its resolved state and orphaned worktrees while
preserving iteration_state and recording status: "user_stopped" in the
resolved agent-settings.json. New topic roots are not replaced by a flat
legacy root. OMC Teams are cleaned through their own captured tmux/runtime
records, never as native Team state; clear omc-teams only through that
mode's protected session operation.
Finally, clear state_clear(mode="skill-active", session_id="<session_id>") as
the last scoped operation. A failure also makes that session unresolved.
The global pass is allowed only for --all, after every concrete session id is
attempted successfully and has completed its scoped flow, including the final
skill-active clear. If any session operation failed or remains unresolved,
report partial completion and omit this pass. Never replace a failed scoped
operation with a global retry.
If all-session enumeration itself fails, returns an ambiguous id, or cannot
capture a Team owner, treat the affected scope as unresolved and stop before
any unscoped operation. A legacy-only entry may be reported, but it does not
authorize guessing a current session or deleting a native Team root.
Use protected state tools for the explicit pass, for example:
state_clear(mode="<legacy-mode>") # no session_id: --all authorization onlyAn unscoped state_clear is not a legacy-only API: it can revisit session
state as well as legacy/shared artifacts. Restrict it to the compatibility
paths explicitly authorized for this pass, including legacy mode JSON, Swarm
databases/markers, checkpoints, and shared OMC worker registries. Do not clear
native Claude roots or any Team root whose owner was not successfully captured
and cleared; uncaptured Team roots remain protected. Report global cleanup
failures separately from scoped session failures.
The explicit compatibility set is:
.omc/state/{autopilot,ralph,ralph-plan,ralph-verification}-state.json.omc/state/{ultrawork,ultraqa,ultrapilot,pipeline,omc-teams}-state.json.omc/state/{ultrapilot-ownership,plan-consensus,ralplan,boulder,hud}.json.omc/state/subagent-tracking.json and .omc/state/subagent-tracker.lock.omc/state/{swarm.db,swarm.db-wal,swarm.db-shm,swarm-active.marker,swarm-tasks.db}.omc/state/{rate-limit-daemon.pid,rate-limit-daemon.log}.omc/state/checkpoints/ and an empty .omc/state/sessions/ directory.omc/state/team-mcp-workers.json, only after captured owners succeedThese names expand to the following legacy records (and no session-owned
replacement): autopilot-state.json, ralph-state.json,
ralph-plan-state.json, ralph-verification.json, ultrawork-state.json,
ultraqa-state.json, ultrapilot-state.json, ultrapilot-ownership.json,
pipeline-state.json, omc-teams-state.json, plan-consensus.json,
ralplan-state.json, boulder.json, hud-state.json,
subagent-tracking.json, and subagent-tracker.lock.
Shared database compatibility records are swarm.db, swarm.db-wal,
swarm.db-shm, swarm-active.marker, and swarm-tasks.db; daemon records
are rate-limit-daemon.pid and rate-limit-daemon.log. Checkpoints are
removed only as part of this authorized global pass.
Do not interpret this list as permission to remove arbitrary files under
.omc/state, ~/.claude/teams, or ~/.claude/tasks. Unlisted or uncaptured
Team/runtime records remain for inspection and future ownership resolution.
The global pass must retain the same lock and ownership checks as scoped operations. It may continue recording an error for one compatibility item after the per-session gate opens, but must report that global failure and never claim a complete reset. It must not delete durable Autopilot, Ultragoal, Self-Improve, or Team handoff artifacts merely because they share a directory.
If no active mode is found in the selected scope, report: “No active OMC modes
detected.” For a current-session command, do not silently broaden that result;
use --all to enumerate other sessions and perform the global pass.
| Mode | Cancellation result |
|---|---|
| Autopilot | active=false with progress, phase, plan, and verdicts preserved |
| Ralph, Ultrawork, UltraQA, Swarm, Ultrapilot, Pipeline | State cleared when the protected scoped/global operation succeeds |
| Ultragoal | Runtime guard cleared; durable plan/ledger preserved |
| Team | Handoffs and uncaptured runtime roots preserved; selected state cleared only after its flow |
| Plan Consensus / Self-Improve | Mode-specific resume/artifact records preserved as documented by the mode |
Autopilot can resume with /oh-my-claudecode:autopilot; Ultragoal's durable
plan and ledger can resume through /ultragoal. Ralph and retired state do not
provide a resume path. Team handoffs remain available for a later scoped
resume, while shared Swarm and legacy records require explicit authorization.
Cancellation reports should identify the selected scope, modes observed, successful and failed operations, skipped waits, and any retained records. Do not turn a timeout, missing identity, lock conflict, ownership mismatch, or malformed state into a success message. A successful current-session report does not imply that another session or a shared legacy artifact was touched.
For selected-session cancellation, inspect only the captured team's
.omc/state/team-bridge/{team}/*.heartbeat.json records and capture exact worker
handles before state cleanup. Send shutdown signals and terminate only those
exact tmux session identifiers, not sessions selected by name prefix. If ownership
or identity cannot be established, retain the records and report manual cleanup.
Remove their heartbeat/registry entries only after protected cleanup succeeds.
After every concrete session succeeds, the authorized --all global runtime
cleanup may remove shared legacy bridge state for captured Team names. Populate
CAPTURED_TEAM_NAMES only from successful scoped Team reads; retain every
uncaptured registry/root. Use the exact captured worker identities for shutdown;
a team-name prefix is not ownership evidence. Remove only matching bridge
records and registry entries after their cleanup succeeds.
© Yeachan-Heo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/cancel of Yeachan-Heo/oh-my-claudecode.
Open the folder on GitHubat commit 454bae0
OMC Mode Cancellation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| OMC Mode Cancellation this skillYeachan-Heo/oh-my-claudecode | 40k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Orca CLIstablyai/orca | 89k | 2 repos | ~593 | Automated safety check: Pass | MIT | |
| Paseo Advisor Second Opiniongetpaseo/paseo | 20k | 1 repos | ~756 | Automated safety check: Pass | Custom licence | |
| O2 Review Loopopenobserve/openobserve | 22k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 | |
| Paseo Committeegetpaseo/paseo | 20k | 1 repos | ~496 | Automated safety check: Pass | Custom licence | |
| Mission Control Agent APIbuilderz-labs/mission-control | 6.3k | — | ~2.1k | Automated safety check: Pass | MIT |
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
getpaseo/paseo
Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
getpaseo/paseo
Forms a two-agent committee with contrasting profiles to analyze a stuck problem in parallel, reconcile their views and return a consensus plan without editing files.
builderz-labs/mission-control
Teaches an agent to use the Mission Control dashboard API: register, send heartbeats, fetch assigned tasks, report progress and disconnect, with API key auth.
getpaseo/paseo
Hands off the current task, including context, decisions and failed attempts, to a fresh agent through Paseo by writing a self-contained briefing prompt and launching that agent.
Yeachan-Heo/oh-my-claudecode
Sends a question or task to another locally installed agent CLI, such as Codex or Gemini, through omc ask and saves the answer as a file.
Yeachan-Heo/oh-my-claudecode
Charts a foggy effort into a map of decision tickets on the repo's issue tracker and works through them one per session, producing decisions rather than deliverables.
Yeachan-Heo/oh-my-claudecode
Runs an autonomous improvement loop on a repository: agents propose and execute plans, a tournament picks the winner by benchmark, and each round is recorded and plotted.
Yeachan-Heo/oh-my-claudecode
Takes a short product idea through requirements, design, planning, parallel implementation, QA cycles and multi-reviewer validation to produce working code.
Yeachan-Heo/oh-my-claudecode
Maps a codebase directory by directory and writes linked AGENTS.md files, each pointing to its parent, to document what each area contains.
Yeachan-Heo/oh-my-claudecode
Picks the smallest visual that carries structure when prose alone would not: pseudocode, call tree, component or file tree, Mermaid or diff, and skips it when prose is enough.
Categories
Detects and gracefully cancels whichever OMC mode, autopilot, ralph, swarm, pipeline, or team, is currently active, then clears its state. This skill resolves the current session identity from an environment variable or a hook-provided session ID and fails closed on an ambiguous identity for the default or --force command, refusing to guess a session or run an unscoped cleanup. The --all flag is the only one that authorizes acting across every known session, and --force only changes shutdown urgency, never scope or lock handling.
OMC Mode Cancellation fits situations like: stopping an active autopilot, ralph, or pipeline run; cleaning up a stuck swarm or team session's state; force-cancelling every known session's active mode at once.
Run `npx skills add Yeachan-Heo/oh-my-claudecode --skill cancel -a claude-code`. Or copy the skill folder (skills/cancel in Yeachan-Heo/oh-my-claudecode) into .claude/skills/cancel in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Yeachan-Heo/oh-my-claudecode --skill cancel -a codex`. Or copy the skill folder (skills/cancel in Yeachan-Heo/oh-my-claudecode) into .agents/skills/cancel in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Yeachan-Heo/oh-my-claudecode --skill cancel -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cancel, .gemini/skills/cancel, .github/skills/cancel and .opencode/skills/cancel in your project.
Going by SKILL.md and its folder, OMC Mode Cancellation needs the command-line tools its instructions call (git, python3 and node).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
OMC Mode Cancellation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.6k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with OMC Mode Cancellation: Orca CLI (stablyai/orca, 89k stars), Paseo Advisor Second Opinion (getpaseo/paseo, 20k stars), O2 Review Loop (openobserve/openobserve, 22k stars) and Paseo Committee (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Yeachan-Heo (a GitHub user) maintains it in Yeachan-Heo/oh-my-claudecode, which has 39,751 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 8, 2026.
Source: Yeachan-Heo/oh-my-claudecode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.