Goal
SkillProductivityLets your agent move completed tasks from your task queue file into a DONE file, grouped by topic.
Use Goal in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Goal and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Goal skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
About this skill
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
- Oct 2026
Advanced
- Item type
- skill
- Key
todo-move-done- Source
- github.com/causify-ai/helpers
Related picks
Skill · larksuite
The pick for Markdownmarkdown-formatter
Skill · nvidia
The pick for Markdownsocial
Skill · coreyhaines31
More in Productivitygws-calendar
Skill · googleworkspace
More in Productivitylark-minutes
Skill · larksuite
More in Productivityenergy-procurement
Skill · affaan-m
More in Productivity