Goal
SkillProductivityLets your agent move completed tasks from a task queue file into a DONE file, sorted by topic.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Goal skill
About this capability
Move completed tasks from ai_task_queue.md into DONE.md, organized by the topics in ai_task_queue.md's ALL TOPICS section
What this skill tells your AI
The instructions your AI receives, as published by causify-ai/helpers in .claude/skills/todo.move_done/SKILL.md and read by ahel’s review.
- Find every top-level completed task (
### [x] <Title>) inai_task_queue.md - Move each one into
DONE.md, grouped under the same## <Topic>headers used in the# ALL TOPICSsection ofai_task_queue.md - Leave in-progress (
[ ],[.]) tasks and nested checklist items untouched
References
.claude/skills/todo.rules.md: defines the H1 stage / H2 topic / H3 task organization, and the rule thatDONE.mdreuses the# ALL TOPICSH2 headers fromai_task_queue.md
Workflow
Load the Conventions
- Read
.claude/skills/todo.rules.md - Read the
# ALL TOPICSsection ofai_task_queue.mdand extract the ordered list of## <Topic>headers (ignore// <group>comment lines, they are just visual grouping, not topics)
Find Completed Tasks
- In
ai_task_queue.md, find every H3 header that matches exactly### [x] <Title>- Do NOT move
### [ ],### [.], or any other marker - Do NOT move nested checklist items like
- [x] ...; those are subtask progress inside a task that is not itself done
- Do NOT move
- For each match, capture the full task block: the header line through everything up to (but not including) the next H1/H2/H3 header
Determine the Target Topic
- Find the nearest enclosing H2 header for the task in its source file
- If that H2 header name matches (case-insensitively) one of the ALL TOPICS entries, use it as the target topic
- Otherwise, infer the target topic from the task's content against the ALL TOPICS list
- If no ALL TOPICS entry is a plausible match, do not guess: list the task and ask
the user which topic to use, or whether to add a new topic to
# ALL TOPICS
Move the Tasks
- For each completed task, in source-file order:
- Remove the task block from its source file, closing the resulting blank line gap so surrounding spacing stays normal
- Append the task block, unchanged, under the matching
## <Topic>header inDONE.md- If
DONE.mdhas no header for that topic yet, create one, keeping the new headers in the same order as# ALL TOPICS - Keep multiple tasks for the same topic together under one header
- If
Report
- List every moved task as
<Title> (<source file>) -> ## <Topic> - List separately any completed task that could not be confidently mapped to a topic, and why
Verification
- Every
### [x] ...task originally inai_task_queue.mdis now inDONE.md, and no longer in its source file - No
[ ],[.], or nested- [x]item was moved or altered - Each moved task sits under a
## <Topic>header that also appears inai_task_queue.md's# ALL TOPICSsection - Task content (title, body) is unchanged from the source file
- Source files still have correct markdown structure (no orphaned blank headers, no broken spacing) after removal
Signals
- GitHub stars
- 146
- Forks
- 162
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
todo-move-done- Source
- github.com/causify-ai/helpers