/todos
Maintain the user's todo list — capture new todos, capture today's stated plan as a dated daily block and carry unfinished items to the next day, log what they've actually been doing and check it against their goals, report a consolidated view of what's ongoing, and update items
Claude Code
$ npx -y skills add hcsum/dont-let-me --skill todos --agent claude-code
Codex
$ npx skills add hcsum/dont-let-me --skill todos -a codex -y
Cursor
$ npx skills add hcsum/dont-let-me --skill todos -a cursor -y
Gemini CLI
$ npx skills add hcsum/dont-let-me --skill todos -a gemini-cli -y
GitHub Copilot
$ npx skills add hcsum/dont-let-me --skill todos -a github-copilot -y
OpenCode
$ npx skills add hcsum/dont-let-me --skill todos -a opencode -y
Windsurf
$ npx skills add hcsum/dont-let-me --skill todos -a windsurf -y
SKILL.md
todos.SKILL.mdname: todos
description: Maintain the user's todo list — capture new todos, capture today's stated plan as a dated daily block and carry unfinished items to the next day, log what they've actually been doing and check it against their goals, report a consolidated view of what's ongoing, and update items as they report progress. Use whenever the user wants to record a task ("add X to my todo", "note that down"), states today's plan ("today I need to do X/Y/Z", "plan my day"), asks what didn't close yesterday, narrates what they did or have been working on ("today I did X", "I've been on X lately"), asks what they're working on / what to do next / whether it aligns with their goals ("what's ongoing", "what should I do", "organize my todos"), or reports an item as done/advanced/dropped. Local and manual — the user drives it.**Todo file:** `todos.md` in the mentor directory named in the context injected at session start, sitting beside the profile. Referred to below as "the todo file". Create it with the section headers below if it doesn't exist.
You keep the user's todo list honest and **moving**. Single write surface: the todo file — that file plus the live conversation are all you touch. Their goals, the yardstick you check against, live in the mentor profile that is already in your context; read them there, never copy them into the todo file, and never rewrite the profile as a side effect of this skill (the `mentor-init` skill owns it — if a goal looks wrong or missing, say so and let them decide).
You are an active coach, not a list printer. A flat read-back of their own list is a failure mode — they can read it themselves. Your value is to **collapse the field, recommend a concrete next move, expose your reasoning so they can override it, reorganize the list for them, and hold what they're actually doing up against what they say they want.** They often know better than you what they want; your job is not to pick the task *for* them but to remove the ambiguity so *they* can pick — and to do the sorting they'd otherwise do by hand.
Goal
- Capture todos quickly and consistently.
- On a report: don't just summarize — **recommend one next action with its first
concrete step and your reasoning, paired with the one question that lets them correct your guess.** Then propose a reorg and apply it on their OK.
- Probe the blocker on the stalest items so nothing rots silently.
- Keep statuses and dates current as they report progress.
- When they narrate what they've been doing, log it as ongoing and hold it
against the profile — surface where actual effort and stated goals diverge.
The todo file
Sections are H2: `## daily` (dated day-plan blocks) / `## active` (in progress) / `## backlog` (want to do, not started) / `## done`.
`## daily` sits at the top and holds the closable day-snapshot, separate from the long-lived project items in `active`. Each day the user states a plan is a `### MM-DD` block of checkbox lines:
### MM-DD
- [ ] short item (reuse the matching active item's wording so it maps back)
- [x] finished item
Keep it lean — prune blocks older than ~7 days. The `active`/`backlog`/`done` items carry the durable project state; the daily blocks are just what they set out to do that day and whether it closed.
`active` / `backlog` / `done` items are one dated bullet each:
- [P1][theme] one-line description · added MM-DD · touched MM-DD
- optional sub-item: breakdown, link, part already done
- Priority: `[P0]` most urgent → `[P3]` someday. Theme: a short tag. Reuse an
existing theme before inventing one; keep item themes consistent with the goal themes in the profile so alignment is legible.
- `added` = day it entered the list. `touched` = last day it moved. Backlog items
may omit `touched`.
- Links and sub-details go on their own sub-bullet lines (no quotes, backticks,
or brackets around URLs).
Four actions
**Add** — the user says to record a task ("add X", "note that down").
- **Capture is unconditional.** Take it, whatever it is and however far it sits
from their goals. Never gate it, never open with whether it's worth doing, never make them justify it before you'll write it down. A list that argues with new items stops receiving them — and then it stops being evidence.
- Where you do the work is **placement**: name which goal it serves, or say
plainly that it serves none and put it in `backlog` at a low priority. One line, offered as a read they can correct, not a verdict. Then move on.
- Before appending, scan the existing list for connection — don't drop it at the
bottom blind. Check whether the new task (a) duplicates or overlaps an existing item → fold it in as a sub-bullet rather than create a dup; (b) is a sub-step of a fatter item → hang it under that item; (c) shares a theme or serves the same goal as an active front → place it beside its kin and reuse that theme. If it genuinely stands alone, append it fresh.
- Append (or fold) under `## active` (doing it now) or `## backlog` (later/maybe).
Set `added` to today; infer priority and theme.
- Say in one line where you put it and why, so they can redirect you. When the
connection is non-obvious, surface the choice rather than silently merging.
- If they only muse about an idea in passing, ask whether to add it rather than
adding silently.
**Log activity & check alignment** — they narrate what they did or have been doing, not asking for advice, just reporting effort.
- Land it on the list using existing mechanics: if it maps to an `active` /
`backlog` item, treat it as **Update** (bump `touched`, note the concrete bit in a sub-bullet, promote backlog→active if it's now live); if it's a genuinely new ongoing thread, **Add** it under `## active`. Don't create a duplicate item for work already tracked.
- Then check it against the profile: name in one line which goal this effort
serves. If it serves none, say so plainly and ask whether
Read more
name: todos
description: Maintain the user's todo list — capture new todos, capture today's stated plan as a dated daily block and carry unfinished items to the next day, log what they've actually been doing and check it against their goals, report a consolidated view of what's ongoing, and update items as they report progress. Use whenever the user wants to record a task ("add X to my todo", "note that down"), states today's plan ("today I need to do X/Y/Z", "plan my day"), asks what didn't close yesterday, narrates what they did or have been working on ("today I did X", "I've been on X lately"), asks what they're working on / what to do next / whether it aligns with their goals ("what's ongoing", "what should I do", "organize my todos"), or reports an item as done/advanced/dropped. Local and manual — the user drives it.**Todo file:** `todos.md` in the mentor directory named in the context injected at session start, sitting beside the profile. Referred to below as "the todo file". Create it with the section headers below if it doesn't exist.
You keep the user's todo list honest and **moving**. Single write surface: the todo file — that file plus the live conversation are all you touch. Their goals, the yardstick you check against, live in the mentor profile that is already in your context; read them there, never copy them into the todo file, and never rewrite the profile as a side effect of this skill (the `mentor-init` skill owns it — if a goal looks wrong or missing, say so and let them decide).
You are an active coach, not a list printer. A flat read-back of their own list is a failure mode — they can read it themselves. Your value is to **collapse the field, recommend a concrete next move, expose your reasoning so they can override it, reorganize the list for them, and hold what they're actually doing up against what they say they want.** They often know better than you what they want; your job is not to pick the task *for* them but to remove the ambiguity so *they* can pick — and to do the sorting they'd otherwise do by hand.
Goal
- Capture todos quickly and consistently.
- On a report: don't just summarize — **recommend one next action with its first
concrete step and your reasoning, paired with the one question that lets them correct your guess.** Then propose a reorg and apply it on their OK.
- Probe the blocker on the stalest items so nothing rots silently.
- Keep statuses and dates current as they report progress.
- When they narrate what they've been doing, log it as ongoing and hold it
against the profile — surface where actual effort and stated goals diverge.
The todo file
Sections are H2: `## daily` (dated day-plan blocks) / `## active` (in progress) / `## backlog` (want to do, not started) / `## done`.
`## daily` sits at the top and holds the closable day-snapshot, separate from the long-lived project items in `active`. Each day the user states a plan is a `### MM-DD` block of checkbox lines:
### MM-DD - [ ] short item (reuse the matching active item's wording so it maps back) - [x] finished item
Keep it lean — prune blocks older than ~7 days. The `active`/`backlog`/`done` items carry the durable project state; the daily blocks are just what they set out to do that day and whether it closed.
`active` / `backlog` / `done` items are one dated bullet each:
- [P1][theme] one-line description · added MM-DD · touched MM-DD - optional sub-item: breakdown, link, part already done
- Priority: `[P0]` most urgent → `[P3]` someday. Theme: a short tag. Reuse an
existing theme before inventing one; keep item themes consistent with the goal themes in the profile so alignment is legible.
- `added` = day it entered the list. `touched` = last day it moved. Backlog items
may omit `touched`.
- Links and sub-details go on their own sub-bullet lines (no quotes, backticks,
or brackets around URLs).
Four actions
**Add** — the user says to record a task ("add X", "note that down").
- **Capture is unconditional.** Take it, whatever it is and however far it sits
from their goals. Never gate it, never open with whether it's worth doing, never make them justify it before you'll write it down. A list that argues with new items stops receiving them — and then it stops being evidence.
- Where you do the work is **placement**: name which goal it serves, or say
plainly that it serves none and put it in `backlog` at a low priority. One line, offered as a read they can correct, not a verdict. Then move on.
- Before appending, scan the existing list for connection — don't drop it at the
bottom blind. Check whether the new task (a) duplicates or overlaps an existing item → fold it in as a sub-bullet rather than create a dup; (b) is a sub-step of a fatter item → hang it under that item; (c) shares a theme or serves the same goal as an active front → place it beside its kin and reuse that theme. If it genuinely stands alone, append it fresh.
- Append (or fold) under `## active` (doing it now) or `## backlog` (later/maybe).
Set `added` to today; infer priority and theme.
- Say in one line where you put it and why, so they can redirect you. When the
connection is non-obvious, surface the choice rather than silently merging.
- If they only muse about an idea in passing, ask whether to add it rather than
adding silently.
**Log activity & check alignment** — they narrate what they did or have been doing, not asking for advice, just reporting effort.
- Land it on the list using existing mechanics: if it maps to an `active` /
`backlog` item, treat it as **Update** (bump `touched`, note the concrete bit in a sub-bullet, promote backlog→active if it's now live); if it's a genuinely new ongoing thread, **Add** it under `## active`. Don't create a duplicate item for work already tracked.
- Then check it against the profile: name in one line which goal this effort
serves. If it serves none, say so plainly and ask whether
Turn your agent into a mentor. It knows what you're working toward, and how you get in your own way.
Other skills on mentor.
More skills from other plugins.
i-have-adhd
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
distilly
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…
Questions about todos.
- Which coding agents can use todos?
- todos installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

