Automated summary
Resumes a stalled task by resetting its remediation loop counter and relaunching a code agent with a fresh loop budget.
Strengths
- Automates recovery from loop-budget exhaustion without losing task context.
- Allows customizing the loop budget and injecting extra guidance.
- Validates task state before resuming to avoid conflicts.
- Presents clear stall context and failing criteria.
Limitations
- Depends on the task-pipeline sentinel and hooks; not usable outside that environment.
- Only applies to tasks in 'stalled' status, not other states.
- Requires manual confirmation before resetting counters.
When a task has hit its loop limit and you want to retry it with possible adjustments.
When the task is already done, in progress, or in review; or if the issue needs manual intervention rather than a retry.
Security analysis
SafeThe skill only performs local file manipulations (touching/removing a sentinel, editing task YAML metadata) and invokes other controlled internal skills. No destructive, exfiltrating, or obfuscated actions are performed.
No concerns found
How this analysis is madeExamples
/continue-work TASK-042/continue-work TASK-042 --max-loops 20 "Check the #consent-gate naming in the auth module"Which of my tasks are currently stalled?name: continue-work
description: >
Resumes a stalled task by resetting its remediation loop counter and relaunching a
code agent. A task becomes stalled when the code skill exhausts its loop budget
(default 10 iterations) without satisfying all Definition of Done criteria. This skill
shows the user the last failing criteria, lets them add optional guidance, resets the
counter (with an optional new budget), and triggers a fresh implementation session.
Optionally accepts --max-loops N to set a custom loop budget for the new session.
Trigger on: "continue-work TASK-NNN", "/continue-work", "resume TASK-NNN",
"retry TASK-NNN", "unblock TASK-NNN", "restart work on TASK-NNN",
"reset loops for TASK-NNN", "give TASK-NNN more loops",
or any request to resume a task that is in stalled status.
Continue Work
Resume automated implementation for a task whose remediation loop budget was exhausted.
This skill resets the counters, optionally accepts new user guidance, and relaunches a
fresh code session with the full original context.
Sentinel — acquire before writing TASK cards
A PreToolUse hook (tasks-folder-guard.py) rejects every Write/Edit/MultiEdit/
NotebookEdit call targeting tasks/<CAP>/TASK-*.md unless the shared
task-pipeline sentinel /tmp/.claude-task-pipeline.active is present and
≤30 min old. This skill is on the allowlist (together with /task,
/task-refinement, /launch-task, /code, /fix, and
/pr-merge-watcher). The code session this skill relaunches acquires
its own sentinel inside its session — /continue-work only needs the
sentinel for its own counter-reset edits.
Before the first TASK-card write (resetting loop_count, stalled_reason,
status):
touch /tmp/.claude-task-pipeline.active
At the very end (success or graceful abort):
rm -f /tmp/.claude-task-pipeline.active
A stale sentinel grants write access to the next agent — explicit rm -f
on exit is preferred. The hook treats sentinels older than 30 minutes as
expired.
Usage
/continue-work TASK-NNN
/continue-work TASK-NNN --max-loops 15
/continue-work TASK-NNN --max-loops 20 "Look for #consent-gate not #gate-consentement"
| Argument | Required | Default | Description |
|----------|----------|---------|-------------|
| TASK-NNN | yes | — | Task identifier to resume |
| --max-loops N | no | same as previous max_loops | New loop budget for the session |
| "guidance text" | no | — | Optional hint injected into the remediation context |
Step 1 — Locate and Validate the Task
-
Find the task file at
/tasks/{capability-id}/TASK-NNN-*.md. If not found, scan alltasks/*/directories and report a list of stalled tasks. -
Verify the task status is
stalled:- If
status: done→ tell the user: "TASK-NNN is already done — nothing to resume." - If
status: in_progress→ tell the user: "TASK-NNN is already running." - If
status: in_review→ tell the user: "TASK-NNN is awaiting PR merge, not stalled." - If
status: todo→ tell the user: "TASK-NNN has not been started yet. Use/code TASK-NNN."
- If
-
Read from the task frontmatter:
loop_count: number of loops used before stallingmax_loops: the budget that was exhaustedstalled_reason: multi-line failure summary written by the code skill
Step 2 — Show the Stall Context
Present the situation clearly before asking the user to confirm:
⚫ TASK-[NNN] — [Title]
Capability: [ID] — [Zone]
Stalled after [loop_count] loop(s) / budget was [max_loops].
Last failing criteria:
❌ [Criterion 1]: [failure description from stalled_reason]
❌ [Criterion 2]: [failure description from stalled_reason]
Loop budget for new session: [new_max_loops]
(pass --max-loops N to change — current default: [max_loops])
Optional guidance to inject into the first remediation prompt:
[guidance if provided, or "(none — will retry with the same context)"]
Shall I reset and relaunch? [yes / no / --max-loops N "guidance"]
Wait for the user's confirmation (or adjustment) before proceeding.
Step 3 — Reset the Loop Counters
Determine the new max_loops value:
- If
--max-loops Nwas provided: useN - Otherwise: reuse the previous
max_loopsvalue (not 10 — respect the setting already in the file)
Update the task file frontmatter:
status: todo
loop_count: 0
max_loops: [new_max_loops]
# stalled_reason field: keep it for history but prefix with "# (resolved attempt):"
Write the updated frontmatter. Do not touch any other field (preserves depends_on,
priority, pr_url history, etc.).
Step 4 — Notify the Board
Invoke /sort-task to refresh /tasks/BOARD.md and reflect the todo status
(→ will transition to in_progress once the code agent starts). /launch-task
will pick it up reactively when its Step 6 fires.
Report:
Board updated: TASK-[NNN] moved from ⚫ stalled → 🟢 ready.
Step 5 — Relaunch via Code Skill
Invoke the code skill for TASK-NNN with the following additional context prepended:
── CONTINUE-WORK CONTEXT ──
This task was previously stalled after [loop_count] remediation loop(s).
Stall reason (last failing criteria):
[stalled_reason content]
[IF guidance provided]:
User guidance for this session:
"[guidance text]"
New loop budget: [new_max_loops] iterations.
Loop counter has been reset to 0.
── END CONTINUE-WORK CONTEXT ──
The code skill will:
- Read the updated
loop_count: 0/max_loops: [new_max_loops]from the frontmatter - Detect the zone and route to the correct implementation path
- Skip the initial implementation step if artifacts already exist and only re-run tests + remediation (the code skill handles this via the Stall Procedure check in Step 3)
- Run the matching test skill —
/test-business-capabilityfor non-CHANNEL tasks (test-business-capability agent) or/test-appfor CHANNEL tasks (test-app agent) — and loop up tonew_max_loopstimes
Say:
"Relaunching code skill for TASK-[NNN] with [new_max_loops] loop(s) available..."
Step 6 — Report
After the code skill completes (pass or new stall):
If all tests pass:
✅ TASK-[NNN] resumed and completed.
All DoD criteria validated after [loop_count] additional loop(s).
PR: [PR_URL]
If the budget is exhausted again:
⚫ TASK-[NNN] stalled again after [new_loop_count] additional loop(s).
Failing criteria (new run):
❌ [Criterion 1]
❌ [Criterion 2]
Suggestions:
- Increase the budget: /continue-work TASK-NNN --max-loops [N+10]
- Add targeted guidance: /continue-work TASK-NNN "specific hint about the failure"
- Review the FUNC ADR or task definition — the criterion may be ambiguous
- Run /task-refinement TASK-NNN to clarify the acceptance criteria before retrying
Skill Boundaries
- This skill only resumes
stalledtasks — it does not modify design decisions or task definitions. To change what a task must produce, use/task-refinement TASK-NNNfirst. - The
stalled_reasonwritten by the code skill is preserved in the file for traceability. Each new/continue-workrun annotates it with# (resolved attempt N):prefix rather than deleting it. - This skill does not create new branches — it resumes work on the existing
feat/TASK-NNN-{slug}branch where the previous implementation left off.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/continue-work-msh3us5g/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/continue-work-msh3us5g' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/continue-work-msh3us5g/download' --output '.skill-downloads/continue-work-msh3us5g/SKILL.md.part' && mv '.skill-downloads/continue-work-msh3us5g/SKILL.md.part' '.skill-downloads/continue-work-msh3us5g/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/continue-work-msh3us5g/SKILL.md' && test -s '.skill-downloads/continue-work-msh3us5g/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/continue-work' && cp -R '.skill-downloads/continue-work-msh3us5g' '.claude/skills/continue-work'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/continue-work-msh3us5g'openskills read 'continue-work-msh3us5g'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/continue-work-msh3us5g/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.