File-based persistent todos. Add, list, complete — survives sessions.
Manages persistent file-based todos across sessions with add, list, and complete commands.
npx claudepluginhub sienklogic/towlineThis skill is limited to using the following tools:
Native Claude Code Tasks are session-scoped — they vanish when the conversation ends. Towline todos are individual .md files in .planning/todos/ that persist across sessions, context resets, and compactions.
Parse $ARGUMENTS to determine the subcommand:
add <description>.planning/todos/pending/ directory exists.planning/todos/pending/ and .planning/todos/done/ for the highest existing number, then increment by 1 (zero-padded to 3 digits)add-rate-limiting-login).planning/todos/pending/{NNN}-{slug}.md:---
title: "{description}"
status: pending
priority: P2
source: conversation
created: {YYYY-MM-DD}
theme: {inferred-theme}
---
## Goal
{description expanded into a clear goal statement}
## Scope
{any relevant context from the current conversation, or bullet points of what's in/out of scope}
## Acceptance Criteria
- [ ] {primary acceptance criterion derived from description}
Update STATE.md Pending Todos section
If the Write fails, display:
╔══════════════════════════════════════════════════════════════╗
║ ERROR ║
╚══════════════════════════════════════════════════════════════╝
Failed to write todo file.
**To fix:** Check that `.planning/todos/pending/` exists and is writable.
Confirm with branded output:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOWLINE ► TODO ADDED ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**Todo {NNN}:** {description}
───────────────────────────────────────────────────────────────
## ▶ Next Up
**Work on it now** or see your task list
`/dev:quick`
<sub>`/clear` first → fresh context window</sub>
───────────────────────────────────────────────────────────────
**Also available:**
- `/dev:todo list` — see all pending todos
- `/dev:status` — see project status
───────────────────────────────────────────────────────────────
list [theme].planning/todos/pending/Pending Todos:
| # | Title | Priority | Theme | Created |
|---|-------|----------|-------|---------|
| 074 | Status-line customization options | P2 | capability | 2026-02-10 |
| 075 | Add WebSearch/WebFetch/Context7 to researcher | P2 | capability | 2026-02-10 |
───────────────────────────────────────────────────────────────
## ▶ Next Up
**Pick a todo** — mark one done or start working
`/dev:todo done <NNN>`
───────────────────────────────────────────────────────────────
**Also available:**
- `/dev:quick` — work on one now
- `/dev:status` — see project status
───────────────────────────────────────────────────────────────
done <NNN>.planning/todos/pending/{NNN}-*.md (match by number prefix)╔══════════════════════════════════════════════════════════════╗
║ ERROR ║
╚══════════════════════════════════════════════════════════════╝
Todo {NNN} not found in pending todos.
**To fix:** Run `/dev:todo list` to see available numbers.
.planning/todos/done/{NNN}-{slug}.mdstatus: done and add completed: {YYYY-MM-DD}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOWLINE ► TODO COMPLETED ✓
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
**Todo {NNN}:** {title}
───────────────────────────────────────────────────────────────
## ▶ Next Up
**See remaining tasks**
`/dev:todo list`
<sub>`/clear` first → fresh context window</sub>
───────────────────────────────────────────────────────────────
**Also available:**
- `/dev:continue` — execute next logical step
- `/dev:status` — see project status
───────────────────────────────────────────────────────────────
Show a brief summary: count of pending todos, grouped by theme, plus usage hint.
After any todo operation, update the "Pending Todos" section of STATE.md with the current count and list.
Reference: skills/shared/commit-planning-docs.md for the standard commit pattern.
If planning.commit_docs: true in config, commit todo changes:
docs(planning): add todo {NNN}docs(planning): complete todo {NNN}Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.