From task-harness
Resumes a cancelled, failed, or blocked task harness session from where it stopped. Use when continuing a previously stopped workflow or retrying after fixing issues. Trigger with "resume task harness", "continue workflow", or "restart harness session".
npx claudepluginhub omara1-bakri-org/local-plugins --plugin task-harnessThis skill is limited to using the following tools:
Continues a cancelled, failed, or blocked task harness session from its last checkpoint.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Continues a cancelled, failed, or blocked task harness session from its last checkpoint.
The resume skill restores and continues a previously stopped task harness session by:
.claude/task-harness/sessions/Extract session ID and optional --from-task flag:
Arguments: <session-id> [--from-task N]
Examples:
1234567890-12345
1234567890-12345 --from-task 3
Check the session exists and is resumable:
STATE_FILE=".claude/task-harness/sessions/${SESSION_ID}.json"
[[ -f "$STATE_FILE" ]] || echo "ERROR: Session not found"
STATUS=$(jq -r '.status' "$STATE_FILE")
if [[ "$STATUS" != "cancelled" && "$STATUS" != "failed" && "$STATUS" != "blocked" ]]; then
echo "ERROR: Session status '$STATUS' is not resumable"
fi
If --from-task N provided: Use task index N (0-based).
Otherwise: Find first task where status != "complete":
RESUME_INDEX=$(jq '[.tasks[] | .status] | to_entries | map(select(.value != "complete")) | .[0].key' "$STATE_FILE")
Update session for resumption:
jq ".status = \"running\" |
.currentTaskIndex = $RESUME_INDEX |
.tasks[$RESUME_INDEX].status = \"in_progress\" |
del(.completedAt) |
del(.finalMessage)" "$STATE_FILE" > tmp && mv tmp "$STATE_FILE"
Generate dynamic planning prompt including:
Launch ralph-loop with the task prompt:
/ralph-loop "<task-prompt>" --completion-promise "<promise-text>"
Upon successful resume:
Task Harness Resumed
====================
Session: 1234567890-12345
Harness: implement-auth-feature
Previous Status: cancelled
Resuming from: Task 3 - Implement Auth Routes
Progress: 2/5 tasks previously completed
Execution restarted...
| Error | Cause | Resolution |
|---|---|---|
| Session not found | Invalid session ID | Use /task-harness:status to list valid IDs |
| Not resumable | Status is "running" or "completed" | Cancel first if running, or start new if completed |
| Invalid task index | --from-task exceeds task count | Check total tasks in session |
| State corruption | Malformed session JSON | Check logs, may need to restart from YAML |
User: /task-harness:resume 1234567890-12345
Skill: Finds first incomplete task (task 3), resumes execution
Result:
Task Harness Resumed
====================
Session: 1234567890-12345
Resuming from: Task 3 - Implement Auth Routes
User: /task-harness:resume 1234567890-12345 --from-task 2
Skill: Overrides resume point to task 2 (re-runs completed task)
Result:
Task Harness Resumed
====================
Resuming from: Task 2 - Implement User Model (override)
Warning: Task 2 was previously completed, re-running
User: /task-harness:resume 1234567890-12345
Skill: Session was "failed" due to max retries, resumes with fresh retry count
Result:
Task Harness Resumed
====================
Previous Status: failed (max retries on task 4)
Resuming from: Task 4 - Write Tests
Retry count reset to 0