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:
| Dimension | Low (proceed) | High (escalate) |
|---|---|---|
| Reversibility | Undo in minutes, no data loss | Hours/days to roll back, or irreversible |
| Blast radius | One component, one agent | Multiple services or agents |
| Commitment | No external bindings | Money, accounts, contracts |
| Visibility | Internal only | Visible 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.