Decide whether an issue gets escalated now, held with a re-check time, or closed — as a typed decision with probabilities rather than a judgment call in a thread. Use when asked should I escalate this, is this a P1, do we page someone, hold or escalate, or when an on-call, support lead or PM is staring at an issue and unsure. Produces the issue state in a fixed schema, the three-way decision with probabilities and confidence, the act-or-hold verdict, and the re-check time when holding.
Scanned 9/22/2026
npx -y skills add mohitagw15856/pm-claude-skills --skill escalate-or-hold --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Escalate Or Hold?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mohitagw15856-escalate-or-hold-pm-claude-skills)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: escalate-or-hold
description: "Decide whether an issue gets escalated now, held with a re-check time, or closed — as a typed decision with probabilities rather than a judgment call in a thread. Use when asked should I escalate this, is this a P1, do we page someone, hold or escalate, or when an on-call, support lead or PM is staring at an issue and unsure. Produces the issue state in a fixed schema, the three-way decision with probabilities and confidence, the act-or-hold verdict, and the re-check time when holding."
version: 1.0.0
---
# Escalate or Hold
Most escalation mistakes are timing mistakes: too late because nobody wanted to be the one who paged, or too early because the reporter shouted. This skill fixes the shape of the decision — six state fields, three defined options, a probability for each — so the call is made on impact and trend rather than on volume.
## Where this sits
Before [`cs-escalation-brief`](../cs-escalation-brief/SKILL.md) (which writes the brief once you *have* decided to escalate) and alongside [`escalation-tree`](../escalation-tree/SKILL.md) (which says *to whom*). This one says *whether, and when*.
## What This Skill Produces
- **The issue state** — six fields, filled from evidence
- **The decision** — `escalate` / `hold` / `close` with probabilities and confidence
- **Act or hold** — thresholds applied, verdict stated
- **The re-check time** — when holding, a hard time (hours, not days) and what would trigger escalation before it
- **The reporter line** — one sentence to send the person who raised it
## Required Inputs
Ask for these if not provided:
- **issue** — what happened, when first reported, current status
- **impact** — customers or revenue affected, SLA state, any regulatory or safety angle
- **owner** — who has it, their capacity, when they last updated
- **trend** — worse, stable, or improving, with the evidence
- **prior_escalations** — escalated before? what happened
- **asks** — what the reporter is asking for
## Framework: A Typed Decision
| Option | It applies when |
|---|---|
| `escalate` | Impact is growing, or a commitment / SLA / safety line is crossed, and the current owner cannot fix it in time — bring in the next level now |
| `hold` | Impact is bounded, the owner has a credible plan and a next update time — hold and re-check at that time |
| `close` | Resolved, a duplicate, or impact was misjudged — close with a note to the reporter |
**Thresholds.** Act when confidence ≥ 0.6 and the winning option's probability ≥ 0.7. When `escalate` and `hold` are close, **hold with a hard re-check time** and tell the reporter the time — a close call resolved by a clock beats a close call resolved by a mood.
**Trend beats severity.** A bounded sev-2 that is getting worse is closer to escalation than a static sev-1 with a tested fix landing in an hour.
**Getting probabilities.** Any calibrated decision model that returns a probability per defined option serves this contract; the repo ships an adapter (`node integrations/jev/decide.mjs escalate-or-hold --state state.json`, contract in `integrations/jev/decisions/`). Without one, the assistant estimates and labels the estimate.
## Output Format
### Escalate or hold: [issue] · first reported [time]
**State**
| Field | Value |
|---|---|
| impact | … |
| owner | … |
| trend | … |
| prior_escalations | … |
| asks | … |
**Decision**
| Option | Probability |
|---|---|
| escalate | 0.xx |
| hold | 0.xx |
| close | 0.xx |
Confidence: 0.xx · Source: [model / estimate]
**Verdict:** **[act: option]** or **[hold — re-check at HH:MM; escalate before that if: …]**
**Reporter line:** "[one sentence: what is happening and when they will hear next]"
## Quality Checks
- [ ] Trend is stated with evidence, not assumed from severity
- [ ] All three probabilities shown; the verdict cites the thresholds
- [ ] A hold has a re-check time in hours and a named early trigger
- [ ] The reporter gets one sentence with a time in it
- [ ] Safety or regulatory angles, if present, are stated explicitly and force `escalate`
## Anti-Patterns
- **Escalating the loudest reporter** rather than the largest impact
- **Holding without a clock** — "let's see how it goes" is not a hold, it is a drift
- **Closing to reduce the queue** when impact was never verified
- **Re-litigating the options** — inventing "soft escalate" to avoid paging someone
- **Skipping the reporter line** — silence is how holds turn into escalations from above
## Example Trigger Phrases
- "Should I escalate this or wait for the owner's fix?"
- "Is this a page-someone situation?"
- "Third ticket on this today — hold or escalate?"
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!