Goal
SkillProductivityLets your agent reorganize a task file so in-progress and not-started tasks sit under the right stage headings.
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
Reorganize ai_task_queue.md so in-progress tasks, not-started tasks, and mislabeled topic headers sit under the right H1 stage
What this skill tells your AI
The instructions your AI receives, as published by causify-ai/helpers in .claude/skills/todo.reorg_in_progress/SKILL.md and read by Ahel’s review.
- Move every
### [.] <Title>task (in progress) into the# IN PROGRESSsection, under its topic's(IN PROGRESS)H2 - Move every
### [ ] <Title>task (not started) that sits under# IN PROGRESSinto# BACKLOG, under its topic's(BACKLOG)H2 - Move any H2 topic header whose
(<Stage>)suffix doesn't match its enclosing H1 stage to the H1 stage the suffix names, together with all its tasks - Leave
### [x] ...tasks and nested checklist items (- [ ],- [x],- [.]) untouched
References
.claude/skills/todo.rules.md: defines the H1 stage / H2 topic / H3 task organization and the## <Topic> (<Stage>)header convention
Workflow
Load the Conventions
- Read
.claude/skills/todo.rules.md - Identify the H1 stage headers present in
ai_task_queue.md(e.g.# IN PROGRESS,# BACKLOG - HIGH PRIORITY,# BACKLOG,# ICEBOX,# ALL TOPICS) - Never touch the
# ALL TOPICSsection in this skill
Phase 1: Refile Mislabeled H2 Topics
- Do this phase first: fixing a misfiled topic before the task-marker rules run keeps the topic's tasks together instead of letting Phase 2/3 split them across stages
- For every H2 header
## <Topic> (<Stage>)found outside# ALL TOPICS:- Compare
<Stage>to the name of its enclosing H1 - Mismatch -> cut the entire H2 block (the header line through everything up to the
next H2 or H1) and move it under the H1 that matches
<Stage>- If an H2 with the same bare
<Topic>already exists under that H1, append the moved block's task content there and drop the duplicate header line, instead of creating a second header for the same topic - Otherwise, insert the moved H2 block at the end of that H1's section (right before the next H1 header)
- If
<Stage>names an H1 that does not exist anywhere in the file, do not create it silently: list the header and ask the user whether to create that stage or use a different one
- If an H2 with the same bare
- Keep the moved block's content (task titles, markers, bodies) byte-for-byte unchanged aside from its position
- Example:
## Noesis (BACKLOG - HIGH PRIORITY)sitting under# IN PROGRESSis cut and moved, with all its### ...tasks, under# BACKLOG - HIGH PRIORITY
- Compare
Phase 2: Consolidate In-Progress Tasks
- For every
### [.] <Title>task anywhere in the file that is not already under# IN PROGRESS(including one exposed by a Phase 1 move):- Find its enclosing H2's bare topic name
- Move the task block (the header line through the next H2, H3, or H1) under
## <Topic> (IN PROGRESS)in the# IN PROGRESSsection- If that H2 doesn't exist yet under
# IN PROGRESS, create it at the end of the section
- If that H2 doesn't exist yet under
- If the task's original H2 is left with no task content, remove the now-empty H2 header
Phase 3: Demote Not-Started Tasks Out of In Progress
- For every
### [ ] <Title>task that sits under# IN PROGRESSafter Phase 1 and 2 have run:- Find its enclosing H2's bare topic name
- Move the task block under
## <Topic> (BACKLOG)in the# BACKLOGsection- If that H2 doesn't exist yet under
# BACKLOG, create it at the end of the section
- If that H2 doesn't exist yet under
- If the task's original H2 under
# IN PROGRESSis left with no task content, remove the now-empty H2 header
Leave Untouched
### [x] ...tasks (handled bytodo.move_done, not this skill)- Nested checklist items (
- [ ],- [x],- [.]) inside a task body: these are subtask progress, not task headers - Any H3 header with no
[ ],[x], or[.]marker: flag it to the user instead of guessing a marker for it - The
# ALL TOPICSsection
Ask User
- Any H2 whose
(<Stage>)suffix names a stage with no matching H1 in the file - Any H3 task header carrying a marker other than
[ ],[x], or[.] - Any case where a task's bare topic name doesn't clearly match an existing H2 and it's unclear whether to create a new topic H2 or reuse a close match
- Do not guess: list the ambiguous item and ask before moving it
Report
- List every H2 topic block moved as
<Topic>: <old H1> -> <new H1> - List every
[.]task moved into IN PROGRESS as<Title> (<old H2>) -> IN PROGRESS / <Topic> - List every
[ ]task demoted out of IN PROGRESS as<Title> -> BACKLOG / <Topic> - List every empty H2 header removed as a result of these moves
Verification
- No
### [.] ...task remains outside the# IN PROGRESSsection - No
### [ ] ...task remains under the# IN PROGRESSsection - No H2 header outside
# ALL TOPICShas a(<Stage>)suffix that mismatches its enclosing H1 - No H2 header is left empty (zero task content) after the moves
-
### [x] ...tasks and nested checklist items are unchanged and in their original location - Task content (title, body) is unchanged aside from its position
-
# ALL TOPICSsection is unchanged
Signals
- GitHub stars
- 146
- Forks
- 162
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
todo-reorg-in-progress- Source
- github.com/causify-ai/helpers
More in Productivity
Skill · coreyhaines31
More in Productivitygws-calendar
Skill · googleworkspace
More in Productivitylark-minutes
Skill · larksuite
More in Productivitylark-workflow-standup-report
Skill · larksuite
More in Productivityenergy-procurement
Skill · affaan-m
More in Productivityhomelab-pihole-dns
Skill · affaan-m
More in Productivity