← Back to Skills Marketplace
wonko6x9

durable-task-runner

by wonko6x9 · GitHub ↗ · v0.1.6 · MIT-0
cross-platform ✓ Security Clean
326
Downloads
0
Stars
1
Active Installs
7
Versions
Install in OpenClaw
/install durable-task-runner
Description
Run long-running, multi-step work in OpenClaw without losing it to resets: durable state, progress updates, smart 'continue this' recovery, verification befo...
README (SKILL.md)

Use this skill to run long work with durable state and deliberate recovery, not like a goldfish.

Core stance

Act as the planner and verifier. Do not rely on conversational memory for active long-running work. Persist the working state to disk early and keep it updated.

Prefer this skill when any of these are true:

  • duration will likely exceed a few minutes
  • the task has multiple milestones or checkpoints
  • the user wants progress reporting without repeated permission prompts
  • interruption or reset would be costly
  • work may need pause / stop / steer controls
  • verification matters before calling the task done

Do not use it for trivial one-shot tasks.

Required baseline

Before substantial execution:

  1. create a task snapshot with scripts/task_ctl.py create
  2. record milestones, done criteria, constraints, execution priority, and next step
  3. keep updates flowing through the helper scripts instead of hand-editing state where practical

Durable task files live under:

  • state/tasks/\x3Ctask-id>.json
  • state/tasks/\x3Ctask-id>.events.jsonl
  • state/tasks/\x3Ctask-id>.progress.log

Required behavior

1. Plan first

Create the durable task before real work starts. At minimum capture:

  • goal
  • done criteria
  • constraints
  • desired state
  • execution priority (time or tokens)
  • phase
  • milestones
  • next step
  • reporting cadence

2. Work in bounded slices

Prefer:

  • scan -> checkpoint
  • extract -> checkpoint
  • execute -> checkpoint
  • verify -> checkpoint

Each meaningful slice should end with a progress/event update.

3. Report progress without permission theater

For active long work, send informational progress updates:

  • on milestone completion
  • on phase change
  • on blocker/retry/pause/stop/completion
  • periodically for longer runs

Do not ask for permission to keep going unless the next action is risky, destructive, external, or ambiguous.

4. Respect control state

If the user pauses, stops, or steers the task:

  • record it in durable state/event history
  • checkpoint safely
  • resume only when the durable state says to

5. Resume deliberately

After interruption or reset:

  • prefer the explicit user-facing recovery move: "continue this"
  • use scripts/task_continue.py to select the most relevant durable task and resume it intelligently
  • review recent events and verify the last concrete step before any non-trivial follow-through
  • use scripts/task_resume_bootstrap.py for restart analysis when you need to inspect the decision surface directly
  • use scripts/task_resume_apply.py only for clearly low-risk follow-through

The intended model is smart resume after reset, not endless ambient scheduler theater. By default, bootstrap should prefer asking whether to continue after reset/interruption; explicit user intent like "continue this" is what should flip the task back into active execution.

6. Verify before completion

Before marking a task complete:

  • verify outputs or milestone results
  • record a verification event
  • then update desired_state=completed

Worker-lane model

Use worker lanes only when parallelism is worth the added control surface.

Default roles:

  • main agent = planner/verifier
  • worker lanes = bounded workers

When using worker lanes:

  • keep each worker scope narrow
  • avoid overlapping write targets unless coordination is explicit
  • require structured worker returns
  • run dropped-line checks before ending the turn

Read references/subagent-return-protocol.md when using worker lanes.

What to read next

Read only what the current task needs:

  • references/quickstart.md — minimal end-to-end usage pattern
  • references/task-schema.md — snapshot/event structure
  • references/control-levels.md — how much process the task earns
  • references/subagent-return-protocol.md — worker return rules

Key scripts

Use these directly:

  • scripts/task_ctl.py — create/update/show/progress/event/control durable tasks
  • scripts/task_continue.py — smart user-facing "continue this" recovery after reset/interruption
  • scripts/task_resume_bootstrap.py — analyze resumability after interruption
  • scripts/task_resume_apply.py — apply low-risk resume follow-through
  • scripts/task_reconcile.py — reconcile pending/idempotent action state
  • scripts/task_subagent_ctl.py — manage worker-line state and structured returns
  • scripts/task_subagent_run.py — prepare a ready-to-use worker payload
  • scripts/task_report.py / scripts/task_ticker.py — render compact status
  • scripts/task_tick_all.py — run optional due status delivery across eligible running tasks
  • scripts/task_install_tick_cron.sh — optional helper to print/install a current-user cron entry for recurring ticks

Attribution discipline

Keep attribution explicit when ideas or adapted structures come from other skills. If you borrow more than general inspiration, update ATTRIBUTION.md and note it near the relevant file.

Usage Guidance
This package appears internally consistent with its stated goal of local durable task orchestration, but before running it: (1) inspect the main scripts (scripts/task_ctl.py, scripts/task_continue.py, scripts/task_resume_bootstrap.py, scripts/task_resume_apply.py, scripts/task_subagent_*.py and scripts/task_install_tick_cron.sh) to confirm there are no surprising network endpoints or commands you don't expect; (2) do not run the cron installer (--apply) unless you want a visible current-user crontab entry; (3) avoid placing secrets in state/tasks/ (the README/SKILL.md already warns about this); (4) prefer delivery modes like stdout/noop/log-only until you confirm OpenClaw messaging behavior is acceptable in your environment; and (5) run the tools as a non-privileged user or in an isolated environment if you want extra caution. If you want a deeper check, share specific script files you'd like reviewed line-by-line or run a local static scan for external hosts/ subprocess executions.
Capability Assessment
Purpose & Capability
The name/description match the included artifacts: many Python helper scripts, docs, and a SKILL.md that instruct the agent to create and manage durable task snapshots under state/tasks/. No unrelated cloud credentials, system-level installs, or opaque endpoints are declared. The optional OpenClaw delivery path mentioned in README/SKILL.md explains why the code might send messages, and that aligns with the product purpose.
Instruction Scope
SKILL.md confines runtime behavior to creating/updating files under state/tasks/, using the bundled scripts (e.g., scripts/task_ctl.py, scripts/task_continue.py, scripts/task_resume_*), and optionally installing a user cron entry. It explicitly warns not to use task state for secrets and recommends safe modes (stdout/noop/log-only). The instructions do not direct reading random system files or exfiltrating arbitrary data.
Install Mechanism
There is no install spec (instruction-only skill) and no network download/install step. All code is bundled in the package. The only installer-like behavior is an optional local cron helper (scripts/task_install_tick_cron.sh) that, if applied, modifies the current user's crontab — this is visible and opt-in.
Credentials
The skill requires no environment variables or credentials in its metadata. The docs note that OpenClaw runtime/auth is required only for live delivery; that's reasonable and proportional. It's worth noting the package does not declare or request OpenClaw credentials explicitly — live delivery will depend on whatever OpenClaw auth the runtime already provides.
Persistence & Privilege
The skill writes persistent task state under state/tasks/ and provides an optional current-user cron installer. always is false and the skill is user-invocable (normal). These write actions are proportional to a durable-runner's purpose, but users should be aware the package will create/modify files and (only if you run the helper) the user's crontab.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install durable-task-runner
  3. After installation, invoke the skill by name or use /durable-task-runner
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.6
Reduce suspicious review signals: calmer public framing, less subprocess chaining, and clearer recovery-first posture.
v0.1.5
Fix timed status/reporting after immediate updates, centralize ticker/send snapshot rendering, and clean up publish-facing interval handling.
v0.1.4
Refocus the skill on reset-safe explicit recovery: add smart 'continue this' flow, ask-before-resume bootstrap behavior, cleaner ClawHub packaging/docs, and include the new recovery script in the public bundle.
v0.1.3
Trim development-only smoke scripts from the ClawHub bundle, add explicit security and operational notes to public docs, and make the package more reviewable and trustable at a glance.
v0.1.2
Sharpen public positioning around reset-safe long work, refresh release/status hygiene, include README + changelog in the publish bundle, and carry forward the 0.1.1 publication-pass improvements.
v0.1.1
Add safer delivery modes, delivery-path smoke coverage, recurring tick cron helper, clearer progress-metric documentation, and a more resilient tick runner.
v0.1.0
Initial public release: durable task state, resume/apply flow, progress reporting, verification, and thin subagent orchestration.
Metadata
Slug durable-task-runner
Version 0.1.6
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 7
Frequently Asked Questions

What is durable-task-runner?

Run long-running, multi-step work in OpenClaw without losing it to resets: durable state, progress updates, smart 'continue this' recovery, verification befo... It is an AI Agent Skill for Claude Code / OpenClaw, with 326 downloads so far.

How do I install durable-task-runner?

Run "/install durable-task-runner" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is durable-task-runner free?

Yes, durable-task-runner is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does durable-task-runner support?

durable-task-runner is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created durable-task-runner?

It is built and maintained by wonko6x9 (@wonko6x9); the current version is v0.1.6.

💬 Comments