loop-from-tasklisted
Install: claude install-skill thepictishbeast/claude-tools
# /loop-from-task — turn a TaskList item into a self-terminating loop
## Why this exists
Composing the existing primitives:
- `TaskList` is the durable cross-fire state per CLAUDE.md
- `/loop` schedules cron-driven fires
- The natural pattern "keep working on task X until it's done" needs
glue between them — that's this skill
A loop created via `/loop-from-task` carries a self-terminating prompt:
each fire checks the task's status, continues work if `in_progress`
or `pending`, and `/loop-stop`s itself once `completed`.
## Argument parsing
```
/loop-from-task <task-id> <interval>
/loop-from-task <task-id> <interval> notes: "<additional context>"
```
- `<task-id>` — TaskList ID (e.g. `3`). Required.
- `<interval>` — same syntax as /loop (`5m`, `1h`, `30s`, `2d`).
- `notes:` — optional additional context appended to the generated
prompt (e.g. "stop at 5pm", "PR is blocked on review").
If either positional arg is missing: show `TaskList`, ask which to
loop on and at what cadence.
## Steps
1. **Verify the task exists.** Call `TaskList`. If `<task-id>` isn't
present, error out with the current list.
2. **Verify the task isn't already completed.** If `status == completed`,
tell user "task #N is already done — nothing to loop on" and stop.
3. **Verify no existing loop already wraps this task.** Check
`CronList` + `~/.claude/.paused-loops.json` for any prompt containing
`loop-from-task: task-<id>` (we tag the generated prompt). If found,
tell user, don't