Skip to content
Back to skills

Run Recovery

ASecurity

Diagnose interrupted runs, orphan processes, run locks, dirty folders, conflicts and environment hand-backs from recorded evidence.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
developmentpythongitapi

Works with

  • api

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add gwpicard/ai-loop-kit --skill run-recovery --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Run Recovery?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Run Recovery
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gwpicard-run-recovery/badge)](https://www.skillsdirectory.com/skills/gwpicard-run-recovery)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: run-recovery
description: Diagnose interrupted runs, orphan processes, run locks, dirty folders, conflicts and environment hand-backs from recorded evidence.
user-invocable: false
---
# Run recovery

Read run output, its `next:` step and `.loop/logs/`. Preserve unsaved work. Never reset, clean, rewrite or force-push a piece branch.

Run `"<KIT>/bin/kit-python" "<KIT>/scripts/run.py"` again after an interruption. It checks the run lock, refuses live runs or orphan builders and reviewers, takes over dead locks, cleans abandoned reviews and requeues interrupted building pieces up to twice. Follow a refusal's `next:` step; never remove the lock to bypass it.

A dirty folder returns as `environment`; preserve it and follow `next:`. For other environment hand-backs, address the recorded cause before reshaping. A stop uses `gate.py stop`, returns `stopped` and preserves the last real failure.

For a pull request conflicting with the base branch, with the spec and judge unchanged, run `"<KIT>/bin/kit-python" "<KIT>/scripts/run.py" --retry-conflict <n>` in the background. The runner moves it through shaping with type `conflict` and through ready before retrying. Its builder resolves conflicts and Keep checks both changes. Never resolve conflicts here.

A result that says `Not merged` leaves the piece in approval: read the reason, then merge it on GitHub or reshape it. If GitHub merged it but the piece is still in approval, run `gate.py sync`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in development →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.