技能 编程开发 取消卡住的执行

取消卡住的执行

v20260904
cancel
按会话ID取消卡住或孤立的执行,支持取消全部运行会话或从活动执行中交互选择。适用于管理卡住的自动化任务。
获取技能
100 次下载
概览

/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.

信息
Category 编程开发
Name cancel
版本 v20260904
大小 4.33KB
更新时间 2026-09-05
语言