Yeachan-Heo

cancel

3,436
275
# Install this skill:
npx skills add Yeachan-Heo/oh-my-claudecode --skill "cancel"

Install specific skill from multi-skill repository

# Description

Cancel any active OMC mode (autopilot, ralph, ultrawork, ecomode, ultraqa, swarm, ultrapilot, pipeline)

# SKILL.md


name: cancel
description: Cancel any active OMC mode (autopilot, ralph, ultrawork, ecomode, ultraqa, swarm, ultrapilot, pipeline)


Cancel Skill

Intelligent cancellation that detects and cancels the active OMC mode.

What It Does

Automatically detects which mode is active and cancels it:
- Autopilot: Stops workflow, preserves progress for resume
- Ralph: Stops persistence loop, clears linked ultrawork if applicable
- Ultrawork: Stops parallel execution (standalone or linked)
- Ecomode: Stops token-efficient parallel execution (standalone or linked to ralph)
- UltraQA: Stops QA cycling workflow
- Swarm: Stops coordinated agent swarm, releases claimed tasks
- Ultrapilot: Stops parallel autopilot workers
- Pipeline: Stops sequential agent pipeline

Usage

/oh-my-claudecode:cancel

Or say: "stop", "cancel", "abort"

Auto-Detection

The skill checks state files to determine what's active:
- .omc/state/autopilot-state.json β†’ Autopilot detected
- .omc/state/ralph-state.json β†’ Ralph detected
- .omc/state/ultrawork-state.json β†’ Ultrawork detected
- .omc/state/ecomode-state.json β†’ Ecomode detected
- .omc/state/ultraqa-state.json β†’ UltraQA detected
- .omc/state/swarm.db β†’ Swarm detected (SQLite database)
- .omc/state/ultrapilot-state.json β†’ Ultrapilot detected
- .omc/state/pipeline-state.json β†’ Pipeline detected
- .omc/state/plan-consensus.json β†’ Plan Consensus detected
- .omc/state/ralplan-state.json β†’ Plan Consensus detected (legacy)

If multiple modes are active, they're cancelled in order of dependency:
1. Autopilot (includes ralph/ultraqa/ecomode cleanup)
2. Ralph (includes linked ultrawork OR ecomode cleanup)
3. Ultrawork (standalone)
4. Ecomode (standalone)
5. UltraQA (standalone)
6. Swarm (standalone)
7. Ultrapilot (standalone)
8. Pipeline (standalone)
9. Plan Consensus (standalone)

Force Clear All

To clear ALL state files regardless of what's active:

/oh-my-claudecode:cancel --force

Or use the --all alias:

/oh-my-claudecode:cancel --all

This removes all state files:
- .omc/state/autopilot-state.json
- .omc/state/ralph-state.json
- .omc/state/ultrawork-state.json
- .omc/state/ecomode-state.json
- .omc/state/ultraqa-state.json
- .omc/state/swarm.db
- .omc/state/swarm.db-wal
- .omc/state/swarm.db-shm
- .omc/state/swarm-active.marker
- .omc/state/ultrapilot-state.json
- .omc/state/pipeline-state.json
- .omc/state/plan-consensus.json
- .omc/state/ralplan-state.json
- ~/.claude/ralph-state.json
- ~/.claude/ultrawork-state.json
- ~/.claude/ecomode-state.json

Implementation Steps

When you invoke this skill:

1. Parse Arguments

# Check for --force or --all flags
FORCE_MODE=false
if [[ "$*" == *"--force"* ]] || [[ "$*" == *"--all"* ]]; then
  FORCE_MODE=true
fi

2. Detect Active Modes

# Check which modes are active
AUTOPILOT_ACTIVE=false
RALPH_ACTIVE=false
ULTRAWORK_ACTIVE=false
ECOMODE_ACTIVE=false
ULTRAQA_ACTIVE=false

if [[ -f .omc/state/autopilot-state.json ]]; then
  AUTOPILOT_ACTIVE=$(cat .omc/state/autopilot-state.json | jq -r '.active // false')
fi

if [[ -f .omc/state/ralph-state.json ]]; then
  RALPH_ACTIVE=$(cat .omc/state/ralph-state.json | jq -r '.active // false')
fi

if [[ -f .omc/state/ultrawork-state.json ]]; then
  ULTRAWORK_ACTIVE=$(cat .omc/state/ultrawork-state.json | jq -r '.active // false')
fi

if [[ -f .omc/state/ecomode-state.json ]]; then
  ECOMODE_ACTIVE=$(cat .omc/state/ecomode-state.json | jq -r '.active // false')
fi

if [[ -f .omc/state/ultraqa-state.json ]]; then
  ULTRAQA_ACTIVE=$(cat .omc/state/ultraqa-state.json | jq -r '.active // false')
fi

PLAN_CONSENSUS_ACTIVE=false

# Check both new and legacy locations
if [[ -f .omc/state/plan-consensus.json ]]; then
  PLAN_CONSENSUS_ACTIVE=$(cat .omc/state/plan-consensus.json | jq -r '.active // false')
elif [[ -f .omc/state/ralplan-state.json ]]; then
  PLAN_CONSENSUS_ACTIVE=$(cat .omc/state/ralplan-state.json | jq -r '.active // false')
fi

3A. Force Mode (if --force or --all)

if [[ "$FORCE_MODE" == "true" ]]; then
  echo "FORCE CLEAR: Removing all OMC state files..."

  # Remove local state files
  rm -f .omc/state/autopilot-state.json
  rm -f .omc/state/ralph-state.json
  rm -f .omc/state/ultrawork-state.json
  rm -f .omc/state/ecomode-state.json
  rm -f .omc/state/ultraqa-state.json
  rm -f .omc/state/ralph-plan-state.json
  rm -f .omc/state/ralph-verification.json
  rm -f .omc/state/swarm.db
  rm -f .omc/state/swarm.db-wal
  rm -f .omc/state/swarm.db-shm
  rm -f .omc/state/swarm-active.marker
  rm -f .omc/state/ultrapilot-state.json
  rm -f .omc/state/pipeline-state.json
  rm -f .omc/state/plan-consensus.json
  rm -f .omc/state/ralplan-state.json

  # Remove global state files
  rm -f ~/.claude/ralph-state.json
  rm -f ~/.claude/ultrawork-state.json
  rm -f ~/.claude/ecomode-state.json

  echo "All OMC modes cleared. You are free to start fresh."
  exit 0
fi

3B. Smart Cancellation (default)

If Autopilot Active

Call cancelAutopilot() from src/hooks/autopilot/cancel.ts:27-78:

# Autopilot handles its own cleanup + ralph + ultraqa
# Just mark autopilot as inactive (preserves state for resume)
if [[ -f .omc/state/autopilot-state.json ]]; then
  # Clean up ralph if active
  if [[ -f .omc/state/ralph-state.json ]]; then
    RALPH_STATE=$(cat .omc/state/ralph-state.json)
    LINKED_UW=$(echo "$RALPH_STATE" | jq -r '.linked_ultrawork // false')

    # Clean linked ultrawork first
    if [[ "$LINKED_UW" == "true" ]] && [[ -f .omc/state/ultrawork-state.json ]]; then
      rm -f .omc/state/ultrawork-state.json
      rm -f ~/.claude/ultrawork-state.json
      echo "Cleaned up: ultrawork (linked to ralph)"
    fi

    # Clean ralph
    rm -f .omc/state/ralph-state.json
    rm -f ~/.claude/ralph-state.json
    rm -f .omc/state/ralph-verification.json
    echo "Cleaned up: ralph"
  fi

  # Clean up ultraqa if active
  if [[ -f .omc/state/ultraqa-state.json ]]; then
    rm -f .omc/state/ultraqa-state.json
    echo "Cleaned up: ultraqa"
  fi

  # Mark autopilot inactive but preserve state
  CURRENT_STATE=$(cat .omc/state/autopilot-state.json)
  CURRENT_PHASE=$(echo "$CURRENT_STATE" | jq -r '.phase // "unknown"')
  echo "$CURRENT_STATE" | jq '.active = false' > .omc/state/autopilot-state.json

  echo "Autopilot cancelled at phase: $CURRENT_PHASE. Progress preserved for resume."
  echo "Run /oh-my-claudecode:autopilot to resume."
fi

If Ralph Active (but not Autopilot)

Call clearRalphState() + clearLinkedUltraworkState() from src/hooks/ralph-loop/index.ts:147-182:

if [[ -f .omc/state/ralph-state.json ]]; then
  # Check if ultrawork is linked
  RALPH_STATE=$(cat .omc/state/ralph-state.json)
  LINKED_UW=$(echo "$RALPH_STATE" | jq -r '.linked_ultrawork // false')

  # Clean linked ultrawork first
  if [[ "$LINKED_UW" == "true" ]] && [[ -f .omc/state/ultrawork-state.json ]]; then
    UW_STATE=$(cat .omc/state/ultrawork-state.json)
    UW_LINKED=$(echo "$UW_STATE" | jq -r '.linked_to_ralph // false')

    # Only clear if it was linked to ralph
    if [[ "$UW_LINKED" == "true" ]]; then
      rm -f .omc/state/ultrawork-state.json
      rm -f ~/.claude/ultrawork-state.json
      echo "Cleaned up: ultrawork (linked to ralph)"
    fi
  fi

  # Clean ralph state (both local and global)
  rm -f .omc/state/ralph-state.json
  rm -f ~/.claude/ralph-state.json
  rm -f .omc/state/ralph-plan-state.json
  rm -f .omc/state/ralph-verification.json

  echo "Ralph cancelled. Persistent mode deactivated."
fi

If Ultrawork Active (standalone, not linked)

Call deactivateUltrawork() from src/hooks/ultrawork/index.ts:150-173:

if [[ -f .omc/state/ultrawork-state.json ]]; then
  # Check if linked to ralph
  UW_STATE=$(cat .omc/state/ultrawork-state.json)
  LINKED=$(echo "$UW_STATE" | jq -r '.linked_to_ralph // false')

  if [[ "$LINKED" == "true" ]]; then
    echo "Ultrawork is linked to Ralph. Use /oh-my-claudecode:cancel to cancel both."
    exit 1
  fi

  # Remove both local and global state
  rm -f .omc/state/ultrawork-state.json
  rm -f ~/.claude/ultrawork-state.json

  echo "Ultrawork cancelled. Parallel execution mode deactivated."
fi

If UltraQA Active (standalone)

Call clearUltraQAState() from src/hooks/ultraqa/index.ts:107-120:

if [[ -f .omc/state/ultraqa-state.json ]]; then
  rm -f .omc/state/ultraqa-state.json
  echo "UltraQA cancelled. QA cycling workflow stopped."
fi

No Active Modes

echo "No active OMC modes detected."
echo ""
echo "Checked for:"
echo "  - Autopilot (.omc/state/autopilot-state.json)"
echo "  - Ralph (.omc/state/ralph-state.json)"
echo "  - Ultrawork (.omc/state/ultrawork-state.json)"
echo "  - UltraQA (.omc/state/ultraqa-state.json)"
echo ""
echo "Use --force to clear all state files anyway."

Complete Implementation

Here's the complete bash implementation you should run:

#!/bin/bash

# Parse arguments
FORCE_MODE=false
if [[ "$*" == *"--force"* ]] || [[ "$*" == *"--all"* ]]; then
  FORCE_MODE=true
fi

# Force mode: clear everything
if [[ "$FORCE_MODE" == "true" ]]; then
  echo "FORCE CLEAR: Removing all OMC state files..."

  mkdir -p .omc ~/.claude

  # Remove local state files
  rm -f .omc/state/autopilot-state.json
  rm -f .omc/state/ralph-state.json
  rm -f .omc/state/ultrawork-state.json
  rm -f .omc/state/ecomode-state.json
  rm -f .omc/state/ultraqa-state.json
  rm -f .omc/state/ralph-plan-state.json
  rm -f .omc/state/ralph-verification.json
  rm -f .omc/state/swarm.db
  rm -f .omc/state/swarm.db-wal
  rm -f .omc/state/swarm.db-shm
  rm -f .omc/state/swarm-active.marker
  rm -f .omc/state/ultrapilot-state.json
  rm -f .omc/state/pipeline-state.json
  rm -f .omc/state/plan-consensus.json
  rm -f .omc/state/ralplan-state.json

  # Remove global state files
  rm -f ~/.claude/ralph-state.json
  rm -f ~/.claude/ultrawork-state.json
  rm -f ~/.claude/ecomode-state.json

  echo ""
  echo "All OMC modes cleared. You are free to start fresh."
  exit 0
fi

# Track what we cancelled
CANCELLED_ANYTHING=false

# 1. Check Autopilot (highest priority, includes cleanup of ralph/ultraqa)
if [[ -f .omc/state/autopilot-state.json ]]; then
  AUTOPILOT_STATE=$(cat .omc/state/autopilot-state.json)
  AUTOPILOT_ACTIVE=$(echo "$AUTOPILOT_STATE" | jq -r '.active // false')

  if [[ "$AUTOPILOT_ACTIVE" == "true" ]]; then
    CURRENT_PHASE=$(echo "$AUTOPILOT_STATE" | jq -r '.phase // "unknown"')
    CLEANED_UP=()

    # Clean up ralph if active
    if [[ -f .omc/state/ralph-state.json ]]; then
      RALPH_STATE=$(cat .omc/state/ralph-state.json)
      RALPH_ACTIVE=$(echo "$RALPH_STATE" | jq -r '.active // false')

      if [[ "$RALPH_ACTIVE" == "true" ]]; then
        LINKED_UW=$(echo "$RALPH_STATE" | jq -r '.linked_ultrawork // false')

        # Clean linked ultrawork first
        if [[ "$LINKED_UW" == "true" ]] && [[ -f .omc/state/ultrawork-state.json ]]; then
          rm -f .omc/state/ultrawork-state.json
          rm -f ~/.claude/ultrawork-state.json
          CLEANED_UP+=("ultrawork")
        fi

        # Clean ralph
        rm -f .omc/state/ralph-state.json
        rm -f ~/.claude/ralph-state.json
        rm -f .omc/state/ralph-verification.json
        CLEANED_UP+=("ralph")
      fi
    fi

    # Clean up ultraqa if active
    if [[ -f .omc/state/ultraqa-state.json ]]; then
      ULTRAQA_STATE=$(cat .omc/state/ultraqa-state.json)
      ULTRAQA_ACTIVE=$(echo "$ULTRAQA_STATE" | jq -r '.active // false')

      if [[ "$ULTRAQA_ACTIVE" == "true" ]]; then
        rm -f .omc/state/ultraqa-state.json
        CLEANED_UP+=("ultraqa")
      fi
    fi

    # Mark autopilot inactive but preserve state for resume
    echo "$AUTOPILOT_STATE" | jq '.active = false' > .omc/state/autopilot-state.json

    echo "Autopilot cancelled at phase: $CURRENT_PHASE."

    if [[ ${#CLEANED_UP[@]} -gt 0 ]]; then
      echo "Cleaned up: ${CLEANED_UP[*]}"
    fi

    echo "Progress preserved for resume. Run /oh-my-claudecode:autopilot to continue."
    CANCELLED_ANYTHING=true
    exit 0
  fi
fi

# 2. Check Ralph (if not handled by autopilot)
if [[ -f .omc/state/ralph-state.json ]]; then
  RALPH_STATE=$(cat .omc/state/ralph-state.json)
  RALPH_ACTIVE=$(echo "$RALPH_STATE" | jq -r '.active // false')

  if [[ "$RALPH_ACTIVE" == "true" ]]; then
    LINKED_UW=$(echo "$RALPH_STATE" | jq -r '.linked_ultrawork // false')

    # Clean linked ultrawork first
    if [[ "$LINKED_UW" == "true" ]] && [[ -f .omc/state/ultrawork-state.json ]]; then
      UW_STATE=$(cat .omc/state/ultrawork-state.json)
      UW_LINKED=$(echo "$UW_STATE" | jq -r '.linked_to_ralph // false')

      # Only clear if it was linked to ralph
      if [[ "$UW_LINKED" == "true" ]]; then
        rm -f .omc/state/ultrawork-state.json
        rm -f ~/.claude/ultrawork-state.json
        echo "Cleaned up: ultrawork (linked to ralph)"
      fi
    fi

    # Clean linked ecomode if present
    LINKED_ECO=$(echo "$RALPH_STATE" | jq -r '.linked_ecomode // false')

    if [[ "$LINKED_ECO" == "true" ]] && [[ -f .omc/state/ecomode-state.json ]]; then
      ECO_STATE=$(cat .omc/state/ecomode-state.json)
      ECO_LINKED=$(echo "$ECO_STATE" | jq -r '.linked_to_ralph // false')

      if [[ "$ECO_LINKED" == "true" ]]; then
        rm -f .omc/state/ecomode-state.json
        rm -f ~/.claude/ecomode-state.json
        echo "Cleaned up: ecomode (linked to ralph)"
      fi
    fi

    # Clean ralph state (both local and global)
    rm -f .omc/state/ralph-state.json
    rm -f ~/.claude/ralph-state.json
    rm -f .omc/state/ralph-plan-state.json
    rm -f .omc/state/ralph-verification.json

    echo "Ralph cancelled. Persistent mode deactivated."
    CANCELLED_ANYTHING=true
    exit 0
  fi
fi

# 3. Check Ultrawork (standalone, not linked)
if [[ -f .omc/state/ultrawork-state.json ]]; then
  UW_STATE=$(cat .omc/state/ultrawork-state.json)
  UW_ACTIVE=$(echo "$UW_STATE" | jq -r '.active // false')

  if [[ "$UW_ACTIVE" == "true" ]]; then
    LINKED=$(echo "$UW_STATE" | jq -r '.linked_to_ralph // false')

    if [[ "$LINKED" == "true" ]]; then
      echo "Warning: Ultrawork is linked to Ralph, but Ralph is not active."
      echo "Clearing ultrawork state anyway..."
    fi

    # Remove both local and global state
    rm -f .omc/state/ultrawork-state.json
    rm -f ~/.claude/ultrawork-state.json

    echo "Ultrawork cancelled. Parallel execution mode deactivated."
    CANCELLED_ANYTHING=true
    exit 0
  fi
fi

# 4. Check Ecomode (standalone, not linked)
if [[ -f .omc/state/ecomode-state.json ]]; then
  ECO_STATE=$(cat .omc/state/ecomode-state.json)
  ECO_ACTIVE=$(echo "$ECO_STATE" | jq -r '.active // false')

  if [[ "$ECO_ACTIVE" == "true" ]]; then
    LINKED=$(echo "$ECO_STATE" | jq -r '.linked_to_ralph // false')

    if [[ "$LINKED" == "true" ]]; then
      echo "Warning: Ecomode is linked to Ralph, but Ralph is not active."
      echo "Clearing ecomode state anyway..."
    fi

    # Remove both local and global state
    rm -f .omc/state/ecomode-state.json
    rm -f ~/.claude/ecomode-state.json

    echo "Ecomode cancelled. Token-efficient execution mode deactivated."
    CANCELLED_ANYTHING=true
    exit 0
  fi
fi

# 5. Check UltraQA (standalone)
if [[ -f .omc/state/ultraqa-state.json ]]; then
  ULTRAQA_STATE=$(cat .omc/state/ultraqa-state.json)
  ULTRAQA_ACTIVE=$(echo "$ULTRAQA_STATE" | jq -r '.active // false')

  if [[ "$ULTRAQA_ACTIVE" == "true" ]]; then
    rm -f .omc/state/ultraqa-state.json
    echo "UltraQA cancelled. QA cycling workflow stopped."
    CANCELLED_ANYTHING=true
    exit 0
  fi
fi

# 6. Check Swarm (SQLite-based)
SWARM_DB=".omc/state/swarm.db"
if [[ -f "$SWARM_DB" ]]; then
  # Check if sqlite3 CLI is available
  if command -v sqlite3 &>/dev/null; then
    # Query SQLite to check if swarm is active
    SWARM_ACTIVE=$(sqlite3 "$SWARM_DB" "SELECT active FROM swarm_session WHERE id = 1;" 2>/dev/null || echo "0")

    if [[ "$SWARM_ACTIVE" == "1" ]]; then
      # Get stats before cancelling
      DONE_TASKS=$(sqlite3 "$SWARM_DB" "SELECT COUNT(*) FROM tasks WHERE status = 'done';" 2>/dev/null || echo "0")
      TOTAL_TASKS=$(sqlite3 "$SWARM_DB" "SELECT COUNT(*) FROM tasks;" 2>/dev/null || echo "0")

      # Mark swarm as inactive
      sqlite3 "$SWARM_DB" "UPDATE swarm_session SET active = 0, completed_at = $(date +%s000) WHERE id = 1;"

      echo "Swarm cancelled. $DONE_TASKS/$TOTAL_TASKS tasks completed."
      echo "Database preserved at $SWARM_DB for analysis."
      CANCELLED_ANYTHING=true
      exit 0
    fi
  else
    # Fallback: Check marker file if sqlite3 is not available
    MARKER_FILE=".omc/state/swarm-active.marker"
    if [[ -f "$MARKER_FILE" ]]; then
      rm -f "$MARKER_FILE"
      echo "Swarm cancelled (marker file removed). Database at $SWARM_DB may need manual cleanup."
      CANCELLED_ANYTHING=true
      exit 0
    fi
  fi
fi

# 7. Check Ultrapilot (standalone)
if [[ -f .omc/state/ultrapilot-state.json ]]; then
  ULTRAPILOT_STATE=$(cat .omc/state/ultrapilot-state.json)
  ULTRAPILOT_ACTIVE=$(echo "$ULTRAPILOT_STATE" | jq -r '.active // false')

  if [[ "$ULTRAPILOT_ACTIVE" == "true" ]]; then
    rm -f .omc/state/ultrapilot-state.json
    echo "Ultrapilot cancelled. Parallel autopilot workers stopped."
    CANCELLED_ANYTHING=true
    exit 0
  fi
fi

# 8. Check Pipeline (standalone)
if [[ -f .omc/state/pipeline-state.json ]]; then
  PIPELINE_STATE=$(cat .omc/state/pipeline-state.json)
  PIPELINE_ACTIVE=$(echo "$PIPELINE_STATE" | jq -r '.active // false')

  if [[ "$PIPELINE_ACTIVE" == "true" ]]; then
    rm -f .omc/state/pipeline-state.json
    echo "Pipeline cancelled. Sequential agent chain stopped."
    CANCELLED_ANYTHING=true
    exit 0
  fi
fi

# 9. Check Plan Consensus (standalone)
if [[ "$PLAN_CONSENSUS_ACTIVE" == "true" ]]; then
  echo "Cancelling Plan Consensus mode..."

  # Clear state files
  rm -f .omc/state/plan-consensus.json
  rm -f .omc/state/ralplan-state.json

  echo "Plan Consensus cancelled. Planning session ended."
  echo "Note: Plan file preserved at path specified in state."
  CANCELLED_ANYTHING=true
  exit 0
fi

# No active modes found
if [[ "$CANCELLED_ANYTHING" == "false" ]]; then
  echo "No active OMC modes detected."
  echo ""
  echo "Checked for:"
  echo "  - Autopilot (.omc/state/autopilot-state.json)"
  echo "  - Ralph (.omc/state/ralph-state.json)"
  echo "  - Ultrawork (.omc/state/ultrawork-state.json)"
  echo "  - Ecomode (.omc/state/ecomode-state.json)"
  echo "  - UltraQA (.omc/state/ultraqa-state.json)"
  echo "  - Swarm (.omc/state/swarm.db)"
  echo "  - Ultrapilot (.omc/state/ultrapilot-state.json)"
  echo "  - Pipeline (.omc/state/pipeline-state.json)"
  echo "  - Plan Consensus (.omc/state/plan-consensus.json)"
  echo ""
  echo "Use --force to clear all state files anyway."
fi

Messages Reference

Mode Success Message
Autopilot "Autopilot cancelled at phase: {phase}. Progress preserved for resume."
Ralph "Ralph cancelled. Persistent mode deactivated."
Ultrawork "Ultrawork cancelled. Parallel execution mode deactivated."
Ecomode "Ecomode cancelled. Token-efficient execution mode deactivated."
UltraQA "UltraQA cancelled. QA cycling workflow stopped."
Swarm "Swarm cancelled. Coordinated agents stopped."
Ultrapilot "Ultrapilot cancelled. Parallel autopilot workers stopped."
Pipeline "Pipeline cancelled. Sequential agent chain stopped."
Plan Consensus "Plan Consensus cancelled. Planning session ended."
Force "All OMC modes cleared. You are free to start fresh."
None "No active OMC modes detected."

What Gets Preserved

Mode State Preserved Resume Command
Autopilot Yes (phase, files, spec, plan, verdicts) /oh-my-claudecode:autopilot
Ralph No N/A
Ultrawork No N/A
UltraQA No N/A
Swarm No N/A
Ultrapilot No N/A
Pipeline No N/A
Plan Consensus Yes (plan file path preserved) N/A

Notes

  • Dependency-aware: Autopilot cancellation cleans up Ralph and UltraQA
  • Link-aware: Ralph cancellation cleans up linked Ultrawork or Ecomode
  • Safe: Only clears linked Ultrawork, preserves standalone Ultrawork
  • Dual-location: Clears both .omc/ and ~/.claude/ state files
  • Resume-friendly: Autopilot state is preserved for seamless resume

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.