# poke

> Quick 1-line status check after the user hit esc during a long generation. Report whether work is still progressing or stuck, then continue if fine. NOT a plan or replan — just a heartbeat.

- Skill: `shenxingy/poke` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add shenxingy/poke`
- Raw SKILL.md: https://api.skillmd.com/api/skills/shenxingy/poke/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: shenxingy (https://skillmd.com/u/shenxingy)
- Updated: 2026-08-19
- Page: https://skillmd.com/skills/shenxingy/poke

---


# Poke Skill

The user hit `esc` during a long generation and wants a heartbeat: are you stuck, still progressing, or done? Answer in ≤3 lines, then continue if fine.

## Behavior

1. **Read the immediate prior context** (not project docs — there's no time).
2. **Classify the state** using the rubric below.
3. **Output ≤3 lines** in the exact format below.
4. **Act** according to state (continue / pause / surface).

## State rubric

| State | Signal | Action |
|---|---|---|
| `progressing` | You were mid-task, tools were returning useful output, no repeat failures | Report + continue same approach |
| `waiting` | Blocked on user confirmation, tool permission, or external process | Report + restate what you're waiting on |
| `stuck` | Same step failed 2+ times, or you've been looping without forward progress | Report + stop; surface the block clearly |
| `done` | Last task finished but reply wasn't closed out | Report result in 1-2 lines |
| `idle` | Nothing active, user probably expected something running | Say so — don't invent work |

## Output format

```
State: {progressing|waiting|stuck|done|idle}
Doing: {one clause — what you were mid-way on, or what just finished}
Next: {continuing → [action] | paused on [blocker] | nothing pending}
```

Then — only if `progressing` — immediately continue with the next tool call for the task. Do NOT re-plan, do NOT summarize the whole session, do NOT ask "should I continue?"

## Rules

- ≤3 lines total. No headers, no markdown fluff, no philosophy.
- Do NOT scan `TODO.md`, `PROGRESS.md`, or docs — this is a heartbeat, not `/next`.
- Do NOT start a new task or change direction — that's what the user will tell you after seeing the heartbeat.
- If `stuck`: say WHY in the "Next" line (e.g. `Next: paused on tests failing 3× with same error — need user guidance`).
- If `idle` and the user seems to expect background work: list recent background handles from this session (agents, `run_in_background` Bash, `/loop`) so they know where to look — see `/status` for the fuller dashboard.

## Completion Status

- ✅ **DONE**: Reported state in ≤3 lines. Resumed work (if progressing) or stopped cleanly.
- ⚠ **DONE_WITH_CONCERNS**: Couldn't classify state confidently — defaulted to surfacing ambiguity.
- ❌ **BLOCKED**: State is `stuck` and root cause needs user input.

