Skip to content
Back to skills

Kandev Escalation

ASecurity

How to create a human-actionable decision task when you are blocked

  • 901 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
developmentgobashsql

Works with

  • cli

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add kdlbs/kandev --skill kandev-escalation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Kandev Escalation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Kandev Escalation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kdlbs-kandev-escalation/badge)](https://www.skillsdirectory.com/skills/kdlbs-kandev-escalation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: kandev-escalation
description: How to create a human-actionable decision task when you are blocked
kandev:
  system: true
  version: "0.42.0"
  default_for_roles: [worker, specialist, assistant, reviewer]
---

# Escalating to a Human

Use this pattern when you cannot proceed without human input: a design decision,
missing credentials, ambiguous requirements, or access you do not have.

## When to escalate

Escalate when ALL of the following are true:
1. You cannot make the decision yourself based on available context.
2. The decision is required to complete your task.
3. You have already checked comments and memory for prior guidance.

Do NOT escalate for routine technical choices you can make independently.

## Escalation procedure

### Step 1: Create the human task

Create a new task with a clear question as the title. Leave it unassigned
(or assign to `$KANDEV_HUMAN_USER_ID` if that variable is set in your environment).

```bash
HUMAN_TASK=$(
  $KANDEV_CLI kandev task create \
    --title "Decision needed: <your specific question here>" \
    --description "Context: <1-2 sentences of background>

Question: <the specific decision the human needs to make>

Options considered:
- Option A: <brief description>
- Option B: <brief description>

Blocked task: $KANDEV_TASK_ID" \
    2>/dev/null
)
HUMAN_TASK_ID=$(echo "$HUMAN_TASK" | jq -r '.id')
```

### Step 2: Block your task on the human task

```bash
# Link: your task is blocked by the human task
$KANDEV_CLI kandev task update --id "$KANDEV_TASK_ID" \
  --add-blocker "$HUMAN_TASK_ID"
```

### Step 3: Post a comment and set blocked status

```bash
$KANDEV_CLI kandev comment add --body "Escalated to human: created task $HUMAN_TASK_ID. Waiting for decision on: <question>"

$KANDEV_CLI kandev task update --status blocked
```

### Step 4: Exit

Your session ends. The orchestrator will wake you with reason
`task_blockers_resolved` when the human closes the decision task.

## On wakeup after resolution

When you wake with `KANDEV_WAKE_REASON=task_blockers_resolved`, parse
`$KANDEV_WAKE_PAYLOAD_JSON` for the resolved blocker titles, then continue
your work incorporating the human's decision (visible in the resolved task's
comments or description).

## Rules

- Keep the question in the title specific and actionable. "Decision needed: use PostgreSQL or SQLite for the cache layer?" is good. "I need help" is not.
- Include enough context in the description that the human can decide without reading your full task history.
- One escalation per decision. Do not create multiple human tasks for the same question.
- If you need to escalate multiple independent decisions at once, create one human task per decision.
- If you can make a reasonable default choice, prefer that over escalating.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.