# Stuck Crewmate Recovery

Load when the session-start digest reports an ordinary direct report's endpoint dead or...

- Repository: https://github.com/kunchenguid/firstmate (8480 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add kunchenguid/firstmate --skill stuck-crewmate-recovery -g -a claude-code -y`
Codex: `npx skills add kunchenguid/firstmate --skill stuck-crewmate-recovery -g -a codex -y`
Cursor: `npx skills add kunchenguid/firstmate --skill stuck-crewmate-recovery -g -a cursor -y`
Gemini CLI: `npx skills add kunchenguid/firstmate --skill stuck-crewmate-recovery -g -a gemini-cli -y`

## Description

Load when the session-start digest reports an ordinary direct report's endpoint dead or its metadata has no window, after a stale wake, looping pane, repeated confusion, an answered-by-brief question, an unresponsive crewmate, or a failed steer, after observing a defeated Claude or Codex bypass, and when a live crewmate reports its no-mistakes pipeline dead, unreachable, or timed out.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# stuck-crewmate-recovery

Use this playbook when the session-start digest reports an ordinary direct report's endpoint dead or its metadata has no window, or when a direct report is stale, looping, repeatedly confused, asking a question its brief already answers, unresponsive, or when a steer failed to land.
A stale or dead-endpoint report for a worker whose pull request has already landed is not a recovery case: the work is finished, so close the task through ordinary teardown (`AGENTS.md` section 7 for firstmate, the landed-work rule in `bin/fm-branch-prompt.sh` for the supervision branch) instead of this playbook, never with `--force`.

Follow the crew-hosted Lavish board contract in [`docs/configuration.md`](../../../docs/configuration.md#crew-hosted-lavish-review-boards) when recovering a worker that hosts a board.

Interrupt, stop, and relaunch a worker through `bin/fm-control.sh <task-id> interrupt|exit|relaunch`, which resolves the recorded runtime itself, verifies each action, and never tears down or discards anything ([`docs/agent-control.md`](../../../docs/agent-control.md)).
That plane covers workers running in this home; a remotely placed secondmate is refused by name and reconciled through `secondmate-provisioning` instead.
Load `harness-adapters` before a resume command or a harness-specific skill invocation, and whenever the adapter's own quirks matter.
The target window's harness is recorded as `harness=` in `state/<id>.meta`.

## Managed approval failover

The rest: https://github.com/kunchenguid/firstmate/blob/HEAD/.agents/skills/stuck-crewmate-recovery/SKILL.md
