Skip to main content

Skill: escalation

Source: ludus/skills/escalation/SKILL.md


name: escalation description: When and how to escalate to humans via the human GitHub label metadata: openclaw: emoji: "\U0001F6D1"

Escalation — The human Label

The human label on a GitHub issue or PR means "a human must act before any agent continues." It is the system-wide stop signal. Every agent must respect it.

Before You Start Work

Before working on any GitHub issue or PR, check for the human label:

gh issue view <N> --repo <repo> --json labels --jq '.labels[].name' | grep -q '^human$'
gh pr view <N> --repo <repo> --json labels --jq '.labels[].name' | grep -q '^human$'

If human is present: STOP. Do not implement, review, merge, close, or modify. Post a status comment on your intercom conversation and move on to other work:

intercom post <id> "STATUS: Blocked — GitHub issue/PR has 'human' label. Waiting for human action."

When to Apply the human Label

Apply the label when your work hits a decision boundary that requires human judgment. Assess using these four dimensions — if any is "high", escalate:

DimensionLow (proceed)High (escalate)
ReversibilityUndo in minutes, no data lossHours/days to roll back, or irreversible
Blast radiusOne component, one agentMultiple services or agents
CommitmentNo external bindingsMoney, accounts, contracts
VisibilityInternal onlyVisible to users or third parties

Always Escalate (no assessment needed)

These skip the four-dimension check and go straight to human:

  • New external dependency (library, service, API)
  • Service or data boundary changes
  • Security-relevant changes
  • New agent roles or tool adoption
  • External communication, partnerships, or legal matters
  • Conflicting or ambiguous requirements that only a human can resolve
  • Review feedback you cannot address autonomously (subjective design decisions)

How to Apply

Two steps — label the GitHub item AND notify through intercom:

Step 1 — Add the label:

gh issue edit <N> --repo <repo> --add-label human
# or for PRs:
gh pr edit <N> --repo <repo> --add-label human

Step 2 — Post context for the human:

intercom post <id> "ESCALATE: Needs human decision.
What: <one-line summary of the decision>
Why: <which dimension is high, or which shortcut applies>
Options: <2-3 options with trade-offs, if applicable>
Recommendation: <your recommendation, if you have one>"

If you have a conversation with Apex (@main), notify there too — Apex relays to the human via Telegram.

When human Is Removed

When a human removes the human label, it means they have acted and agents may resume. The bridge and watcher will pick up the item on their next cycle. No special action needed — just process the item normally when you are woken for it.

The human Label Must Exist

Before applying the label, ensure it exists in the repository:

gh label create human --repo <repo> --description "Needs human action" --color D93F0B --force

The --force flag is safe — it updates existing labels without error.