Skip to content
Development
Skill

/cancel

Cancel stuck or orphaned executions

From plugin
ouroboros
5.4k22 skills21 agents3 hooks1 MCP
Install
$ npx -y skills add Q00/ouroboros --skill cancel --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/cancel

Context preview

The summary Claude sees to decide when to auto-load this skill.

Cancel stuck or orphaned executions

SKILL.md

cancel.SKILL.md
name: cancel
description: "Cancel stuck or orphaned executions"
aliases: [kill, abort]

/ouroboros:cancel

Cancel stuck or orphaned executions by session ID, cancel all running sessions, or interactively pick from active executions.

Usage

/ouroboros:cancel                          # Interactive: list active, pick one
/ouroboros:cancel <execution_id>           # Cancel specific execution
/ouroboros:cancel --all                    # Cancel all running executions

**Trigger keywords:** "cancel execution", "kill session", "stop running", "abort execution"

How It Works

This skill interacts **directly with the event store** (not via MCP tool) to emit cancellation events. It uses the CLI command under the hood.

Three modes:

1. **Bare (no args)**: Lists all active (running/paused) executions in a numbered table and prompts you to pick one to cancel 2. **Explicit (`execution_id`)**: Cancels the specified execution immediately 3. **`--all` flag**: Cancels every running or paused execution at once

Instructions

When the user invokes this skill:

1. Determine which mode to use:

  • If the user provided an execution/session ID: **Explicit mode**
  • If the user says "cancel all" or "cancel everything": **--all mode**
  • If no ID given and not "all": **Bare mode** (interactive listing)

2. Run the appropriate CLI command using Bash:

**Bare mode** (interactive):

   ouroboros cancel execution

This will list active executions and prompt for selection.

**Explicit mode** (specific execution):

   ouroboros cancel execution <execution_id>

**Cancel all mode**:

   ouroboros cancel execution --all

**With custom reason**:

   ouroboros cancel execution <execution_id> --reason "Stuck for 2 hours"

3. Present results to the user:

  • Show which executions were cancelled
  • If bare mode, show the list and selection prompt
  • If no active executions, inform the user

4. End with a next-step suggestion:

  • After cancellation: `◆ Cancelled — use ooo status to verify, or ooo run to start fresh`
  • No active sessions: `◆ No active executions — use ooo run to start a new one`

State Transitions

Only sessions in `running` or `paused` status can be cancelled. Sessions that are already `completed`, `failed`, or `cancelled` are skipped with a warning.

Fallback (No Database)

If the configured runtime EventStore does not exist:

No Ouroboros database found at the configured runtime path.
Run an execution first with: /ouroboros:ouroboros-run

Example

User: cancel that stuck execution

> ouroboros cancel execution

Active Executions
┌───┬──────────────────┬──────────────┬─────────┬─────────┬──────────────┐
│ # │ Session ID       │ Execution ID │ Seed ID │ Status  │ Started      │
├───┼──────────────────┼──────────────┼─────────┼─────────┼──────────────┤
│ 1 │ sess-abc-123     │ exec-001     │ seed-42 │ running │ 2024-01-15   │
│ 2 │ sess-def-456     │ exec-002     │ seed-99 │ paused  │ 2024-01-14   │
└───┴──────────────────┴──────────────┴─────────┴─────────┴──────────────┘

Enter number to cancel (1-2), or 'q' to quit: 1
Cancel session sess-abc-123 (running)? [y/N]: y
✓ Cancelled execution: sess-abc-123

◆ Cancelled — use `ooo status` to verify, or `ooo run` to start fresh

RFC #1392 State Breadcrumb Footer

Your final response MUST end with exactly one breadcrumb footer line:

◆ <current state> → next: <recommended action>

Derive `<current state>` from live session state via `ouroboros_session_status` when that MCP projection is available; otherwise derive it from this skill's actual outcome. Never use a linear `Step N of M` footer because Ouroboros is an evolutionary loop. When the next action is genuinely a choice, list 2-3 honest options in the `next:` clause. The breadcrumb line must be the last line of the response.

Read more
Ships withouroboros

Agent OS: Stop prompting. Start specifying.

Get the whole plugin