{"skill":{"slug":"resilient-claude-agent","displayName":"Resilient Claude Agent","summary":"Run Claude Code sessions in tmux for fire-and-forget execution with crash recovery, model routing, and structured task state.","tags":{"latest":"1.0.17"},"stats":{"comments":0,"downloads":197,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":18},"createdAt":1775328695903,"updatedAt":1775372619779},"latestVersion":{"version":"1.0.17","createdAt":1775372598076,"changelog":"- Fix false-positive task abandonment: pane classifier was matching broad patterns (continue?, (y/n)) anywhere in the last 30 lines of output, killing healthy tasks whose output happened to contain those phrases.\n  Now matches only actual prompt shapes at end-of-line within the last 5 lines, and requires persistence across 2 consecutive polls before abandoning.\n  - Fix manifest data loss under concurrent writes: wrapper and monitor both update the manifest; previously they wrote to the same .tmp path and could clobber each other. Now uses mkdir-based locking and per-call\n  mktemp paths.\n  - Fix retry-budget escape for flapping tasks: RETRY_COUNT was reset on fresh output, so a crash-resume-work-crash loop never hit MONITOR_MAX_RETRIES. Added a separate TOTAL_RETRY_COUNT that never resets and drives\n  the cap.\n  - Fix resume dispatch on paths with spaces: tmux send-keys was passing bash $WRAPPER_PATH unquoted; any skill install path containing whitespace (common on macOS) broke the resume path. Now shell-quotes via printf\n  '%q'.","license":"MIT-0"},"metadata":{"os":null,"systems":null},"owner":{"handle":"mattmartinez","userId":"s179sp490xpdpkbfzv2771720x846mqk","displayName":"matt martinez","image":"https://avatars.githubusercontent.com/u/1597870?v=4"},"moderation":null}