todowrite
Route TODO checklists to the right storage + TaskList conversational discipline. Topics — session (/wip), file (fix_plan.md), issue (GitHub Issues), completion-report, fix-plan-sync, priority-prefix, media-separation (tracking vs recording vs knowledge). Use when: "TODO management", "checklist", "todowrite", "fix_plan cleanup", "register as issue", "completion report", "task priority", "media-separation".
Rank
62
Safety
84
Downloads
2.2k
Updated
Oct 9, 2026
Version
0.10.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 2.2K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 2.2K downloadsadoption · observed Oct 9, 2026
- Latest release
- 0.10.0release · observed Oct 9, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17ay1v6v88r2m102pvvc44gz183qcrm:todowrite- Install using `clawhub skill install s17ay1v6v88r2m102pvvc44gz183qcrm:todowrite` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/drumrobot/todowrite before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-drumrobot-todowrite/snapshot"
Documentation
CLAWHUB
150,523 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: todowrite
metadata:
author: es6kr
version: "0.1.0"
depends-on:
- cleanup
- wip
description: |
Route TODO checklists to the right storage + TaskList conversational discipline. Topics — session (/wip), file (fix_plan.md), issue (GitHub Issues), completion-report, fix-plan-sync, priority-prefix, media-separation (tracking vs recording vs knowledge). Use when: "TODO management", "checklist", "todowrite", "fix_plan cleanup", "register as issue", "completion report", "task priority", "media-separation".
---
# TodoWrite
Route TODO checklists to the appropriate storage based on context, and enforce conversational/reporting discipline around TaskList items.
## Routing Decision
```
New TODO arrives
├─ Only needed this session → /wip (TaskCreate/TodoWrite)
├─ Persists beyond session → file (fix_plan.md, TODO.md)
└─ Team-shared → issue (GitHub Issues)
```
## Topics
| Topic | Storage | Lifetime | Tool / Guide |
|-------|---------|----------|--------------|
| session | TaskCreate/TodoWrite | Session | Delegation-only — this row routes to the `/wip` skill; `todowrite` does not implement session tracking itself |
| file | fix_plan.md, TODO.md | While file exists | Write/Edit |
| issue | GitHub Issues | Permanent | `gh issue create` |
| conversation-id | — | Always-on | [conversation-id.md](./conversation-id.md) — subject-prefix references in user-visible output. Enforced by `resources/block-tasklist-id-in-conversation.sh` (PreToolUse:AskUserQuestion, registered in `settings.json`) |
| completion-report | — | Always-on | [completion-report.md](./completion-report.md) — TaskUpdate completion format + file-change disclosure |
| fix-plan-sync | — | Always-on | [fix-plan-sync.md](./fix-plan-sync.md) — two-way sync between task medium and checklist medium |
| priority-prefix | — | Always-on | [priority-prefix.md](./priority-prefix.md) — priority/order via subject prefix (`P{n}`, PR-anchored, `fix-*` > P0) |
| media-separation | — | On-demand | [media-separation.md](./media-separation.md) — 3-layer model: tracking files vs RAG vs LLM Wiki |
| claude-task | Task JSON CLI | Permanent / Standalone | [claude-task.md](./claude-task.md) — standalone Python CLI tool (`claude-task.py`) for managing Task JSON files directly from terminal shell |
## Skip exceptions
**TodoWrite can be skipped when**:
- Running a single command (e.g., `kubectl get`, `ls`)
- A task with 2 or fewer trivial steps
- Information lookup only
**`AskUserQuestion` can be skipped when**:
- The user gave a clear directive
- The action is safe and reversible
- The general best practice is unambiguous
## Session → /wip
Current session task tracking is handled by the `wip` skill:
```
/wip # Track session work with TodoWrite/TaskCreate
```
## File-based TODO
### fix_plan.md (Ralph projects)
```markdown
## Pending
- [ ] Item 1 — description
- [ ] Item 2 — description
## Completed
- [x] Done item — (completed: 2026-04-03, commit abc1234)
```
**Rules:**
- Move to `Com_meta.json
{
"ownerId": "kn74k8yfvftx6f062qa8fzyd8h8373jd",
"slug": "todowrite",
"version": "0.10.0",
"publishedAt": 1791543252337
}CHANGELOG.md
# Changelog ## [0.10.0](https://github.com/es6kr/skills/compare/todowrite-v0.9.4...todowrite-v0.10.0) (2026-10-06) ### Features * **hook-kit:** declarative step-dependency enforcement engine ([9e3d188](https://github.com/es6kr/skills/commit/9e3d18898453d20a947b74b24032e61bf13bc297)) ### Bug Fixes * **todowrite:** warn on claude-task resolve_task_dir() mtime fallback ([#599](https://github.com/es6kr/skills/issues/599)) ([948127c](https://github.com/es6kr/skills/commit/948127c3f94883f1122bceae39618d69e8cd8a11)) ## [0.9.4](https://github.com/es6kr/skills/compare/todowrite-v0.9.3...todowrite-v0.9.4) (2026-09-30) ### Bug Fixes * **todowrite:** restore exec bit on claude-task.py ([#569](https://github.com/es6kr/skills/issues/569)) ([151c2f7](https://github.com/es6kr/skills/commit/151c2f7feb2675bf6c26c2ad077578c4d2fd1154)) ## [0.9.3](https://github.com/es6kr/skills/compare/todowrite-v0.9.2...todowrite-v0.9.3) (2026-09-24) ### Bug Fixes * **todowrite,wip:** clarify session-medium delegation boundary (S6/S7) ([806dcad](https://github.com/es6kr/skills/commit/806dcad0c92a027b9fc89617957510cb52f580ea)) * **todowrite:** add prune subcommand to claude-task CLI ([#545](https://github.com/es6kr/skills/issues/545)) ([660f03a](https://github.com/es6kr/skills/commit/660f03abdc8792d3d697352ec4346ea044e5c491)) * **todowrite:** mark session-medium row as delegation-only to /wip ([5bf35b0](https://github.com/es6kr/skills/commit/5bf35b046fd66fa04b115db773458db00a6ac6fd)) ## [0.9.2](https://github.com/es6kr/skills/compare/todowrite-v0.9.1...todowrite-v0.9.2) (2026-09-18) ### Bug Fixes * **cleanup:** make the session-end report table self-sufficient ([#487](https://github.com/es6kr/skills/issues/487)) ([c4a0255](https://github.com/es6kr/skills/commit/c4a02557fb8de3b32cf337c549f62535dabf824b)) ## [0.9.1](https://github.com/es6kr/skills/compare/todowrite-v0.9.0...todowrite-v0.9.1) (2026-09-08) ### Bug Fixes * **tdd:** scope the Red-only commit ban to shared branches ([fc2e6ec](https://github.com/es6kr/skills/commit/fc2e6ecdd1906c41d47955226e247aeb03a6f367)) * **todowrite:** use POSIX word boundaries in the PR-number extraction grep ([7307fd2](https://github.com/es6kr/skills/commit/7307fd2e66c608effa411590ca2edf7c01d4e0a9)) ## [0.9.0](https://github.com/es6kr/skills/compare/todowrite-v0.8.2...todowrite-v0.9.0) (2026-09-05) ### Features * promote develop (schema, hook-kit, cleanup, wip, todowrite) ([5938cea](https://github.com/es6kr/skills/commit/5938cea0a20eaf93aec4d373298e58ccc3f2a682)) ### Documentation * **todowrite:** clarify TaskList pending task registration for residual follow-up work ([851f899](https://github.com/es6kr/skills/commit/851f899a3276727a52202b5e17f80007b89ebf85)) ## [0.8.2](https://github.com/es6kr/skills/compare/todowrite-v0.8.1...todowrite-v0.8.2) (2026-08-26) ### Bug Fixes * accumulate 16 patch-level bug fixes and guard enhancements across skills ([d214e5d](https://github.com/es6kr/skills/commit/d214e5dcc7fac1bc07baf3b
claude-task.md
# Topic: claude-task (`claude-task.md`) Provides a standalone CLI tool (`claude-task`) under `todowrite` skill resources (`~/.agents/skills/todowrite/resources/claude-task.py`), exposed on `PATH` via `~/.local/bin/claude-task`, that allows viewing, creating, updating, and deleting Claude Code & Agent Task JSON files directly from terminal shell without depending on Claude Code API or Antigravity runtime. ## When to Use - When Claude Code Task tool encounters internal errors or is unavailable. - When working in non-Claude Code environments (Antigravity, standalone terminal shell, OpenClaw, cron scripts). - When third-party tools need to follow the exact same Task JSON schema. ## Features - **Dual Storage Auto-Detection**: - Detects active Claude Code session in `~/.claude/tasks/<session-id>/` automatically when `--env claude` or active session is detected. - Falls back to `~/.agents/tasks/default/` when `--env agent` or operating outside Claude Code. - Supports custom directory via `--dir <path>`. - **Concurrency & Highwatermark**: Auto-maintains `.highwatermark` for auto-incrementing numeric Task IDs (`#131`, `#132`, etc.). - **Subcommands**: - `list` (or `ls`): List tasks in table format with ID, subject, activeForm, and status. - `show` (or `get`): View detailed JSON content for a specific task. - `add` (or `create`): Create a new task with auto-assigned numeric ID. - `update` (or `edit`): Update task status (`pending`, `in_progress`, `completed`, `deleted`) or subject. Setting `--status deleted` is a **soft delete** — it only flips the JSON field, it does not remove the file. - `delete` (or `rm`): **Hard delete** — unlinks the task file from disk immediately. - `prune`: Garbage-collect the ledger — archives (default) or purges (`--purge`) `status=deleted` tasks immediately, and `status=completed` tasks past a retention window. See "Lifecycle & Cleanup" below. - `dir`: Print resolved Task directory path. ## CLI Usage Examples ```bash # List tasks for current Claude session claude-task list --session 2f13089c-5113-4cc9-9a79-cc4deacee1d6 # List tasks in default agent directory claude-task --env agent list # Create a new task in agent directory claude-task --env agent add -s "Implement feature X" -d "Detailed description" # Update task status claude-task --env agent update 1 --status completed # Preview what would be pruned (no changes) claude-task --env agent prune --dry-run # Archive status=deleted immediately + status=completed older than 7 days claude-task --env agent prune --retention-days 7 # Permanently delete instead of archiving claude-task --env agent prune --purge ``` ## Lifecycle & Cleanup The agent-env ledger (`~/.agents/tasks/default/` and friends) has no session boundary of its own — it is a **single shared, ever-growing directory** used whenever `TaskCreate` is unavailable or the runtime is not Claude Code. Nothing reclaims finished entries unless something runs `prune`. - **`prune` policy**: `st
completion-report.md
# Task Completion Report Format
When marking a task `completed`, **always emit a one-line title plus a 1-2 sentence change summary**. Empty "done" reports are forbidden — the user must be able to see what changed without inspecting other artifacts.
## When TodoWrite is mandatory
Use TodoWrite **before the first tool call** in the following cases:
- A task with 2+ steps before starting
- Complex migrations or multi-step workflows
- Whenever 2+ issues/PRs are involved
- Whenever `gh issue edit` / `gh pr edit` is going to be called 2+ times in a row
- When the fix_plan declares a solution sequence (`#A → #B → #C`), register each as a task
| # | Don't | Do |
|---|-------|-----|
| 1 | Treat a quick user instruction as "too small for TodoWrite" | Add it as a pending task immediately, then begin work — preserves the original-task context |
| 2 | Skip TodoWrite because "the requirement is one line" | One-line follow-ups are still follow-ups. Register them so they are traceable |
| 3 | When a local-deploy instruction hits an auth error, fall back to a remote workflow trigger | Resolve the local auth failure (e.g., ask the user to `npm login`) and run the local deploy command as instructed — never silently switch to a CI workflow as a workaround |
### Forbidden
- Using TodoWrite only at the end to list results after the fact
- Reporting "done" after a long run with no TodoWrite trail
- Marking everything completed at once with no intermediate progression
- Running `gh issue edit` / `gh api` 2+ times in a row without TodoWrite — register first, then execute in order
## Completion report format
When calling `TaskUpdate(status: "completed")`, the response text MUST follow:
```text
**{task title}** — {1-2 sentence change summary}
```
- Forbidden: `Done. Other agents pending.` (says nothing about what was done)
- Forbidden: `Committed 199438c.` (does not say whether new commit or amend)
### Open Test Plan items block terminal language
Do not declare a task / PR cycle **"end / done / complete / finished / wrapped up"** while the PR Test Plan still has any unchecked `- [ ]` item — **including `**[post-merge]**` items**. `[post-merge]` does not block merge, but an open post-merge verification means the work is NOT finished; report it as *merge-complete with post-merge verification still tracked*, naming each open item + its trigger.
| # | Don't | Do |
|---|-------|-----|
| 1 | "PR #N cycle ends here" while a `- [ ] **[post-merge]**` item is unchecked | "PR #N merged. N post-merge verification items still tracked (trigger: ...)" — name each open item + its tracking trigger |
| 2 | Equate "merge allowed / doesn't block merge" with "work finished" | Merge-gate status ≠ completion status. An open post-merge item is an open deliverable — report it as outstanding |
### Commit-included reports
When the completion involves a commit, the report MUST also include:
1. **Commit SHA**
2. **Commit method** — new commit **or** amend
3. **Target repo + branch**
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/drumrobot/skills/todowrite",
"sourceUrl": "https://clawhub.ai/drumrobot/skills/todowrite",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T17:47:13.218Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-drumrobot-todowrite/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-drumrobot-todowrite/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T17:47:13.218Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2.2K downloads",
"href": "https://clawhub.ai/drumrobot/todowrite",
"sourceUrl": "https://clawhub.ai/drumrobot/todowrite",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T17:47:13.218Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.10.0",
"href": "https://clawhub.ai/drumrobot/todowrite",
"sourceUrl": "https://clawhub.ai/drumrobot/todowrite",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-09T10:54:12.337Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-drumrobot-todowrite/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-drumrobot-todowrite/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.10.0",
"description": "- Removed obsolete skill-card.md documentation file. - Updated claude-task CLI and its test script. - Minor updates to CHANGELOG.md. - No user-facing functional changes.",
"href": "https://clawhub.ai/drumrobot/todowrite",
"sourceUrl": "https://clawhub.ai/drumrobot/todowrite",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-09T10:54:12.337Z",
"isPublic": true
}
]
}Record generated Oct 9, 2026.
