← All skills
Tencent SkillHub Β· AI

HZL

Persistent task ledger for agent coordination. Plan multi-step work, checkpoint progress across session boundaries, and coordinate across multiple agents wit...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Persistent task ledger for agent coordination. Plan multi-step work, checkpoint progress across session boundaries, and coordinate across multiple agents wit...

⬇ 0 downloads β˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
3.1.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 23 sections Open source page

HZL: Persistent task ledger for agents

HZL (https://hzl-tasks.com) is a local-first task ledger that agents use to: Plan multi-step work into projects + tasks Checkpoint progress so work survives session boundaries Route work to the right agent via project pools Coordinate across multiple agents with leases and dependencies This skill teaches an agent how to use the hzl CLI.

When to use HZL

OpenClaw has no native task tracking. Unlike Claude Code (which has TodoWrite) or Codex (which has update_plan), OpenClaw relies on memory and markdown files for tracking work. HZL fills this gap. Use HZL for: Multi-step projects with real sequencing or handoffs Work that may outlive this session or involve multiple agents Anything where "resume exactly where we left off" matters Delegating work to another agent and needing recovery if they fail Skip HZL for: Truly trivial one-step tasks you will complete immediately Time-based reminders (use OpenClaw Cron instead) Longform notes or knowledge capture (use memory files) Rule of thumb: If you feel tempted to make a multi-step plan, or there is any chance you will not finish in this session, use HZL.

⚠️ DESTRUCTIVE COMMANDS β€” READ FIRST

CommandEffecthzl init --forceDELETES ALL DATA. Prompts for confirmation.hzl init --force --yesDELETES ALL DATA WITHOUT CONFIRMATION.hzl task prune ... --yesPERMANENTLY DELETES old done/archived tasks and history. Never run these unless the user explicitly asks you to delete data. There is no undo.

Core concepts

Project: container for tasks. In single-agent setups, use one shared project. In multi-agent setups, use one project per agent role (pool routing). Task: top-level work item. Use parent tasks for multi-step initiatives. Subtask: breakdown of a task (--parent <id>). Max 1 level of nesting. Parent tasks are never returned by hzl task claim --next. Checkpoint: short progress snapshot for session recovery. Lease: time-limited claim that enables stuck detection in multi-agent flows.

Single-agent setup

Use one shared project. Requests and initiatives become parent tasks, not new projects. hzl project list # Check first β€” only create if missing hzl project create openclaw Everything goes into openclaw. hzl task claim --next -P openclaw always works.

Multi-agent setup (pool routing)

Use one project per agent role. Tasks assigned to a project (not a specific agent) can be claimed by any agent monitoring that pool. This is the correct pattern when a role may scale to multiple agents. hzl project create research hzl project create writing hzl project create coding hzl project create marketing hzl project create coordination # for cross-agent work Pool routing rule: assign tasks to a project without --agent. Any eligible agent claims with --next. # Assigning work to the research pool (no --agent) hzl task add "Research competitor pricing" -P research -s ready # Kenji (or any researcher) claims it hzl task claim --next -P research --agent kenji Agent routing: when --agent is set at task creation, only that agent (or agents with no assignment) can claim it via --next. Tasks with no agent are available to everyone. # Pre-route a task to a specific agent hzl task add "Review Clara's PR" -P coding -s ready --agent kenji # Kenji claims it (matches agent) hzl task claim --next -P coding --agent kenji # βœ“ returns it # Ada tries β€” skipped because it's assigned to kenji hzl task claim --next -P coding --agent ada # βœ— skips it Use --agent on task creation when you specifically want one person. Omit it when any eligible agent in the pool should pick it up.

With workflow commands (HZL v2+)

hzl workflow run start --agent <agent-id> --project <project> --json --project is required β€” agents must scope to their assigned pool. Use --any-project to intentionally scan all projects (e.g. coordination agents). This handles expired-lease recovery and new-task claiming in one command. If a task is returned, work on it. If nothing is returned, the queue is empty. Agent routing applies: tasks assigned to other agents are skipped.

Without workflow commands (fallback)

hzl agent status # Who's active? What's running? hzl task list -P <project> --available # What's ready? hzl task stuck # Any expired leases? hzl task stuck --stale # Also check for stale tasks (no checkpoints) # If stuck tasks exist, read their state before claiming hzl task show <stuck-id> --view standard --json hzl task steal <stuck-id> --if-expired --agent <agent-id> --lease 30 hzl task show <stuck-id> --view standard --json | jq '.checkpoints[-1]' # Otherwise claim next available hzl task claim --next -P <project> --agent <agent-id>

Adding work

hzl task add "Feature X" -P openclaw -s ready # Single-agent hzl task add "Research topic Y" -P research -s ready # Pool-routed (multi-agent) hzl task add "Subtask A" --parent <id> # Subtask hzl task add "Subtask B" --parent <id> --depends-on <a-id> # With dependency

Working a task

hzl task claim <id> # Claim specific task hzl task claim --next -P <project> # Claim next available hzl task checkpoint <id> "milestone X" # Checkpoint progress hzl task complete <id> # Finish

Status transitions

hzl task set-status <id> ready # Make claimable hzl task set-status <id> backlog # Move back to planning hzl task block <id> --comment "reason" # Block with reason hzl task unblock <id> # Unblock Statuses: backlog β†’ ready β†’ in_progress β†’ done (or blocked)

Finishing subtasks

hzl task complete <subtask-id> hzl task show <parent-id> --view summary --json # Any subtasks remaining? hzl task complete <parent-id> # Complete parent if all done

Workflow commands (HZL v2+)

# Hand off to another agent or pool β€” complete current, create follow-on atomically hzl workflow run handoff \ --from <task-id> \ --title "<new task title>" \ --project <pool> # --agent if specific person; --project for pool # Delegate a subtask β€” creates dependency edge by default hzl workflow run delegate \ --from <task-id> \ --title "<delegated task>" \ --project <pool> \ --pause-parent # Block parent until delegated task is done --agent and --project guardrail: at least one is required on handoff. Omitting --agent creates a pool-routed task; --project is then required to define which pool.

Manual delegation (fallback)

hzl task add "<delegated title>" -P <pool> -s ready --depends-on <parent-id> hzl task checkpoint <parent-id> "Delegated X to <pool> pool. Waiting on <task-id>." hzl task block <parent-id> --comment "Waiting for <delegated-task-id>"

Dependencies

# Add dependency at creation hzl task add "<title>" -P <project> --depends-on <other-id> # Add dependency after creation hzl task add-dep <task-id> <depends-on-id> # Query dependencies hzl dep list --agent <id> --blocking-only # What's blocking me? hzl dep list --from-agent <id> --blocking-only # What's blocking work I created? hzl dep list --project <p> --blocking-only # What's blocking in a pool? hzl dep list --cross-project-only # Cross-agent blockers # Validate no cycles hzl validate Cross-project dependencies are supported by default. Use hzl dep list --cross-project-only to inspect cross-project edges.

Checkpointing

Checkpoint at notable milestones or before pausing. A good checkpoint answers: "if this session died right now, could another agent resume from here?" When to checkpoint: Before any tool call that might fail Before spawning a sub-agent After completing a meaningful unit of work Before handing off or pausing hzl task checkpoint <id> "Implemented login flow. Next: add token refresh." --progress 50 hzl task checkpoint <id> "Token refresh done. Testing complete." --progress 100 hzl task progress <id> 75 # Set progress without a checkpoint

Lifecycle hooks

HZL sends targeted notifications for high-value transitions β€” currently only on_done. Other lifecycle events (stuck detection, blocking, progress) require polling. This is deliberate: hooks signal when something meaningful happens, agents and orchestrators poll for everything else. Hooks are configured during installation (see docs-site for setup). As an agent, here's what you need to know operationally: Only on_done fires. When you task complete, HZL queues a webhook. For stuck detection, stale detection, blocking changes, or progress β€” poll with hzl task stuck --stale or hzl task list. Delivery is not instant. hzl hook drain runs on a cron schedule (typically every 2–5 minutes). Your completion is recorded immediately, but the notification reaches the gateway on the next drain cycle. Payloads include context. Each notification carries agent, project, and full event details. The gateway handles per-agent routing β€” HZL sends the same payload to one URL regardless of which agent completed the task. If hooks seem broken, check hzl hook drain --json for delivery failures and last_error details.

Multi-agent coordination with leases

# Claim with lease (prevents orphaned work) hzl task claim <id> --agent <agent-id> --lease 30 # 30-minute lease # Fleet status: who's active, what they're working on, how long hzl agent status # All agents hzl agent status --agent <name> # Single agent hzl agent status --stats # Include task count breakdowns # Agent activity history hzl agent log <agent> # Recent events for an agent # Monitor for stuck tasks hzl task stuck # Monitor for stuck AND stale tasks (no checkpoints for 10+ min) hzl task stuck --stale hzl task stuck --stale --stale-threshold 15 # Custom threshold # Recover an abandoned task (steal + set new lease atomically) hzl task show <stuck-id> --view standard --json # Read last checkpoint first hzl task steal <stuck-id> --if-expired --agent <agent-id> --lease 30 Use distinct --agent IDs per agent (e.g. henry, clara, kenji) so authorship is traceable.

Sizing tasks and projects

The completability test: "I finished [task]" should describe a real outcome. βœ“ "Finished installing garage motion sensors" βœ— "Finished home automation" (open-ended domain, never done) Split into multiple tasks when: parts deliver independent value or solve distinct problems. Adding context: hzl task add "Install sensors" -P openclaw \ -d "Mount at 7ft height per spec." \ -l docs/sensor-spec.md,https://example.com/wiring-guide Don't duplicate specs into descriptions β€” reference docs instead to avoid drift.

Extended reference

# Setup hzl init # Initialize (safe, won't overwrite) hzl status # Database mode, paths, sync state hzl doctor # Health check # List and find hzl task list -P <project> --available # Ready tasks with met dependencies hzl task list --parent <id> # Subtasks of a parent hzl task list --root # Top-level tasks only hzl task list -P <project> --tags <csv> # Filter by tags # Create with options hzl task add "<title>" -P <project> --priority 2 --tags backend,auth hzl task add "<title>" -P <project> -s in_progress --agent <name> hzl task add "<title>" -P <project> --stale-after 2h hzl task update <id> --stale-after 30m hzl task update <id> --clear-stale-after # Agent fleet status hzl agent status # Active/idle agents, current tasks, lease state hzl agent status --agent <name> # Single agent hzl agent status --stats # With task count breakdowns hzl agent log <agent> # Activity history for an agent # Web dashboard hzl serve # Start on port 3456 hzl serve --host 127.0.0.1 # Restrict to localhost hzl serve --background # Fork to background hzl serve --status / --stop hzl serve --gateway-url ws://host:18789 # Connect to OpenClaw gateway hzl serve --gateway-token <token> # Gateway auth token # Or set gateway once in config.json: { "gateway": { "url": "...", "token": "..." } } # Raw reporting surfaces hzl events # NDJSON event feed hzl events --follow hzl events --from 0 > events.jsonl hzl stats --window 1h # Authorship hzl task claim <id> --agent alice hzl task checkpoint <id> "note" --author bob # Records who did the action hzl task claim <id> --agent "Claude" --agent-id "session-abc123" # Cloud sync (optional) hzl init --sync-url libsql://<db>.turso.io --auth-token <token> hzl sync

Web dashboard (always-on, Linux)

hzl serve --print-systemd > ~/.config/systemd/user/hzl-web.service systemctl --user daemon-reload systemctl --user enable --now hzl-web loginctl enable-linger $USER Available at http://<your-box>:3456 (accessible over Tailscale). macOS: use hzl serve --background instead.

What HZL does not do

No orchestration β€” does not spawn agents or assign work automatically No task decomposition β€” does not break down tasks automatically No smart scheduling β€” uses simple priority + FIFO ordering These belong in your orchestration layer, not the task ledger.

Notes

Run hzl via the exec tool. Check TOOLS.md for your identity string, which projects to monitor, and the commands relevant to your role. Use distinct --agent IDs per agent and rely on leases to avoid collisions in shared databases. hzl workflow run commands require HZL v2+. If unavailable, use the manual fallback patterns documented above.

Category context

Agent frameworks, memory systems, reasoning layers, and model-native orchestration.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
1 Docs
  • SKILL.md Primary doc