[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F1ZV3QA9HE633FSASB7CJB":3,"skill-same:01M6F1ZV3QA9HE633FSASB7CJB":55},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":38,"ownerHtmlUrl":39,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":40,"install":41,"resources":54},"01M6F1ZV3QA9HE633FSASB7CJB","todo.move_to_reorg",null,"Move tasks out of ai_task_queue.md's TO REORG section into the right H1 stage and H2 topic, using an optional Priority tag, after user confirmation","causify-ai\u002Fhelpers","causify-ai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F121828442?v=4","01M6BZFTHW2MQR7FWK8CDW0DRA","Causify.AI","01M6F1K6CCKKF8YKTBN4ZV509G",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftodo.move_to_reorg\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"todo move to reorg","todo","move","tasks","confirmation","user","queue","task","stage","2026-11-10 10:12:30",false,"---\ndescription: Move tasks out of ai_task_queue.md's TO REORG section into the right H1 stage and H2 topic, using an optional Priority tag, after user confirmation\n---\n\n# Goal\n\n- Find every H3 task sitting under `# TO REORG` in `ai_task_queue.md`\n- For each task, determine its target H1 stage (from an optional\n  `- Priority: \u003CStage>` line in the body, defaulting to `# BACKLOG` when absent) and\n  its target H2 topic (from the `# ALL TOPICS` list)\n- Present the full set of proposed moves to the user and get explicit confirmation\n  before changing the file\n- Move each confirmed task under `## \u003CTopic> (\u003CStage>)` in its target H1 section,\n  stripping the now-consumed `Priority:` line\n- Remove the `# TO REORG` header once it has no tasks left under it\n\n# References\n\n- `.claude\u002Fskills\u002Ftodo.rules.md`: defines the H1 stage \u002F H2 topic \u002F H3 task\n  organization, the `## \u003CTopic> (\u003CStage>)` header convention, and the `# ALL TOPICS`\n  master list\n\n# Workflow\n\n## Load the Conventions\n\n- Read `.claude\u002Fskills\u002Ftodo.rules.md`\n- Read `ai_task_queue.md`'s `# ALL TOPICS` section; record the ordered list of\n  `## \u003CTopic>` headers (ignore `\u002F\u002F \u003Cgroup>` comment lines, they are visual grouping,\n  not topics)\n- Record the H1 stage headers that exist in the file (e.g. `# IN PROGRESS`,\n  `# BACKLOG - HIGH PRIORITY`, `# BACKLOG`, `# ICEBOX`); these are the only valid\n  move targets\n\n## Find the Tasks to Reorg\n\n- In `ai_task_queue.md`, find every H3 header under `# TO REORG`\n- For each one, capture the full task block: the header line through everything up to\n  (but not including) the next H1\u002FH2\u002FH3 header\n\n## Determine the Target H1 Stage\n\n- Look for a line matching `- Priority: \u003CStage>` anywhere in the task body\n  - Match `\u003CStage>` case-insensitively against the file's H1 stage headers (e.g\n    `Icebox` -> `# ICEBOX`, `High Priority` -> `# BACKLOG - HIGH PRIORITY`, `Backlog`\n    -> `# BACKLOG`, `In Progress` -> `# IN PROGRESS`)\n  - If `\u003CStage>` doesn't clearly match any existing H1, do not guess: list the task\n    and ask the user which H1 stage to use\n- If no `- Priority:` line is present, propose `# BACKLOG` as the default target\n  stage; this is only a proposal and can be overridden at the confirmation step\n\n## Determine the Target H2 Topic\n\n- Match the task's content against the `# ALL TOPICS` list, the same way\n  `todo.move_done` infers a topic\n- If no ALL TOPICS entry is a plausible match, do not guess: list the task and ask\n  the user whether to use the closest existing topic or add a new one to\n  `# ALL TOPICS`\n\n## Propose the Moves\n\n- Before changing anything, print one line per task in the form:\n\n  ```\n  ### \u003CTitle> -> ## \u003CTopic> (\u003CStage>)\n  ```\n\n- Group the list by target `\u003CStage>` so the user can scan it stage by stage\n- Flag, next to the line, any task whose stage came from the default (no `Priority:`\n  tag found) so the user knows it's a guess, not a tag-driven placement\n- Stop and wait for explicit user confirmation of this list (as a whole, or with\n  corrections) before making any edit to `ai_task_queue.md`\n\n## Execute the Moves\n\n- Only after the user confirms, for each approved task in source order:\n  - Remove the `- Priority: \u003CStage>` line (and the blank line it leaves behind) from\n    the task body; this tag only exists to route the task out of `# TO REORG` and\n    isn't part of the normal task format\n  - If the H3 header carries no `[ ]`, `[x]`, or `[.]` marker, rewrite it to\n    `### [ ] \u003CTitle>`; leave an existing marker unchanged\n  - Cut the task block from `# TO REORG`, closing the resulting blank line gap\n  - Append the task block under `## \u003CTopic> (\u003CStage>)` in the confirmed H1 section\n    - If that H2 doesn't exist yet under the target H1, create it at the end of the\n      section\n    - Keep multiple tasks for the same topic together under one header\n\n## Clean Up\n\n- After all confirmed tasks are moved, if `# TO REORG` has no task content left,\n  remove the `# TO REORG` header entirely\n- If some tasks were left unresolved (ambiguous stage or topic), keep `# TO REORG`\n  with only those tasks remaining\n\n# Ask User\n\n- Any task whose `Priority:` value doesn't match an existing H1 stage\n- Any task whose topic can't be confidently matched to `# ALL TOPICS`\n- The full proposed move list, before any file edit happens\n- Do not guess on an ambiguous case: list it and ask\n\n# Report\n\n- List every executed move as `\u003CTitle>: TO REORG -> ## \u003CTopic> (\u003CStage>)`\n- List every task left in `# TO REORG` unresolved, and why\n- State whether the `# TO REORG` header was removed or kept\n\n# Verification\n\n- [ ] No file edit happened before the user confirmed the proposed move list\n- [ ] Every moved task sits under a `## \u003CTopic> (\u003CStage>)` header whose bare topic\n      also appears in `# ALL TOPICS`\n- [ ] Every moved task's H1 section matches its confirmed target stage\n- [ ] No `- Priority:` line remains in any moved task\n- [ ] Every H3 task header carries a `[ ]`, `[x]`, or `[.]` marker after the move\n- [ ] Task content (title, body) is unchanged aside from the removed `Priority:` line\n      and its position\n- [ ] `# TO REORG` is removed if empty, or left with only unresolved tasks\n- [ ] `# ALL TOPICS` is unchanged except for topics explicitly added during this pass","# Goal\n\n- Find every H3 task sitting under `# TO REORG` in `ai_task_queue.md`\n- For each task, determine its target H1 stage (from an optional\n  `- Priority: \u003CStage>` line in the body, defaulting to `# BACKLOG` when absent) and\n  its target H2 topic (from the `# ALL TOPICS` list)\n- Present the full set of proposed moves to the user and get explicit confirmation\n  before changing the file\n- Move each confirmed task under `## \u003CTopic> (\u003CStage>)` in its target H1 section,\n  stripping the now-consumed `Priority:` line\n- Remove the `# TO REORG` header once it has no tasks left under it\n\n# References\n\n- `.claude\u002Fskills\u002Ftodo.rules.md`: defines the H1 stage \u002F H2 topic \u002F H3 task\n  organization, the `## \u003CTopic> (\u003CStage>)` header convention, and the `# ALL TOPICS`\n  master list\n\n# Workflow\n\n## Load the Conventions\n\n- Read `.claude\u002Fskills\u002Ftodo.rules.md`\n- Read `ai_task_queue.md`'s `# ALL TOPICS` section; record the ordered list of\n  `## \u003CTopic>` headers (ignore `\u002F\u002F \u003Cgroup>` comment lines, they are visual grouping,\n  not topics)\n- Record the H1 stage headers that exist in the file (e.g. `# IN PROGRESS`,\n  `# BACKLOG - HIGH PRIORITY`, `# BACKLOG`, `# ICEBOX`); these are the only valid\n  move targets\n\n## Find the Tasks to Reorg\n\n- In `ai_task_queue.md`, find every H3 header under `# TO REORG`\n- For each one, capture the full task block: the header line through everything up to\n  (but not including) the next H1\u002FH2\u002FH3 header\n\n## Determine the Target H1 Stage\n\n- Look for a line matching `- Priority: \u003CStage>` anywhere in the task body\n  - Match `\u003CStage>` case-insensitively against the file's H1 stage headers (e.g\n    `Icebox` -> `# ICEBOX`, `High Priority` -> `# BACKLOG - HIGH PRIORITY`, `Backlog`\n    -> `# BACKLOG`, `In Progress` -> `# IN PROGRESS`)\n  - If `\u003CStage>` doesn't clearly match any existing H1, do not guess: list the task\n    and ask the user which H1 stage to use\n- If no `- Priority:` line is present, propose `# BACKLOG` as the default target\n  stage; this is only a proposal and can be overridden at the confirmation step\n\n## Determine the Target H2 Topic\n\n- Match the task's content against the `# ALL TOPICS` list, the same way\n  `todo.move_done` infers a topic\n- If no ALL TOPICS entry is a plausible match, do not guess: list the task and ask\n  the user whether to use the closest existing topic or add a new one to\n  `# ALL TOPICS`\n\n## Propose the Moves\n\n- Before changing anything, print one line per task in the form:\n\n  ```\n  ### \u003CTitle> -> ## \u003CTopic> (\u003CStage>)\n  ```\n\n- Group the list by target `\u003CStage>` so the user can scan it stage by stage\n- Flag, next to the line, any task whose stage came from the default (no `Priority:`\n  tag found) so the user knows it's a guess, not a tag-driven placement\n- Stop and wait for explicit user confirmation of this list (as a whole, or with\n  corrections) before making any edit to `ai_task_queue.md`\n\n## Execute the Moves\n\n- Only after the user confirms, for each approved task in source order:\n  - Remove the `- Priority: \u003CStage>` line (and the blank line it leaves behind) from\n    the task body; this tag only exists to route the task out of `# TO REORG` and\n    isn't part of the normal task format\n  - If the H3 header carries no `[ ]`, `[x]`, or `[.]` marker, rewrite it to\n    `### [ ] \u003CTitle>`; leave an existing marker unchanged\n  - Cut the task block from `# TO REORG`, closing the resulting blank line gap\n  - Append the task block under `## \u003CTopic> (\u003CStage>)` in the confirmed H1 section\n    - If that H2 doesn't exist yet under the target H1, create it at the end of the\n      section\n    - Keep multiple tasks for the same topic together under one header\n\n## Clean Up\n\n- After all confirmed tasks are moved, if `# TO REORG` has no task content left,\n  remove the `# TO REORG` header entirely\n- If some tasks were left unresolved (ambiguous stage or topic), keep `# TO REORG`\n  with only those tasks remaining\n\n# Ask User\n\n- Any task whose `Priority:` value doesn't match an existing H1 stage\n- Any task whose topic can't be confidently matched to `# ALL TOPICS`\n- The full proposed move list, before any file edit happens\n- Do not guess on an ambiguous case: list it and ask\n\n# Report\n\n- List every executed move as `\u003CTitle>: TO REORG -> ## \u003CTopic> (\u003CStage>)`\n- List every task left in `# TO REORG` unresolved, and why\n- State whether the `# TO REORG` header was removed or kept\n\n# Verification\n\n- [ ] No file edit happened before the user confirmed the proposed move list\n- [ ] Every moved task sits under a `## \u003CTopic> (\u003CStage>)` header whose bare topic\n      also appears in `# ALL TOPICS`\n- [ ] Every moved task's H1 section matches its confirmed target stage\n- [ ] No `- Priority:` line remains in any moved task\n- [ ] Every H3 task header carries a `[ ]`, `[x]`, or `[.]` marker after the move\n- [ ] Task content (title, body) is unchanged aside from the removed `Priority:` line\n      and its position\n- [ ] `# TO REORG` is removed if empty, or left with only unresolved tasks\n- [ ] `# ALL TOPICS` is unchanged except for topics explicitly added during this pass",{"description":7},"master","804ae3e928c04740cec553be0eb28c8d06ff420e",".claude\u002Fskills\u002Ftodo.move_to_reorg",1,"https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers","https:\u002F\u002Fcausify-ai.github.io\u002Fhelpers\u002F","https:\u002F\u002Fgithub.com\u002Fcausify-ai","2026-11-02 21:54:29",{"source":8,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add causify-ai\u002Fhelpers --skill todo.move_to_reorg",{"tool":47,"command":48},"bunx","bunx skills add causify-ai\u002Fhelpers --skill todo.move_to_reorg",{"tool":50,"command":51},"pnpm","pnpm dlx skills add causify-ai\u002Fhelpers --skill todo.move_to_reorg","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftodo.move_to_reorg\u002FSKILL.md",true,[],[56,78,96,108,117,126],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":67,"publishedAt":28},"01M6F209RASRBEK7GBNG5M00K0","tutorial_in_60_mins.propagate_docker_changes","Sync tutorial and class-project Docker files to match project_template","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftutorial_in_60_mins.propagate_docker_changes\u002FSKILL.md",[62],{"categoryNo":63,"categoryName":64,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[68,69,70,71,72,73,74,75,76,77],"docker","tutorial","tutorial in 60 mins propagate docker changes","propagate","template","sync","haiku","files","project","match",{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":87,"publishedAt":28},"01M6F207XZ5YDAJ0KNDRE6EN0R","tutorial_in_60_mins.merge_markdown","Merge the content of a markdown file into a Jupyter notebook","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftutorial_in_60_mins.merge_markdown\u002FSKILL.md",[84],{"categoryNo":85,"categoryName":86,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000002","文档处理",[88,89,69,90,91,92,74,93,94,95],"markdown","merge","tutorial in 60 mins merge markdown","notebook","jupyter","file","jupyter notebook","content",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":28},"01M6F2059X95Q1A13HD67E9JRF","tutorial_in_60_mins.format","Format a directory to follow the \"Learn X in 60 Minutes\" tutorial conventions","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftutorial_in_60_mins.format\u002FSKILL.md",[],[103,69,104,105,106,74,107],"tutorial in 60 mins format","format","directory","learn","conventions",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":28},"01M6F202MDHMNYD5S1YHG2PKZD","tutorial_in_60_mins.create","Create a tutorial directory for the Learn X in 60 Minutes conventions","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftutorial_in_60_mins.create\u002FSKILL.md",[],[115,69,116,106,105,107],"tutorial in 60 mins create","create",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":28},"01M6F2004BW13GQ59N3RGSAYVN","todo.reorg_in_progress","Reorganize ai_task_queue.md so in-progress tasks, not-started tasks, and mislabeled topic headers sit under the right H1 stage","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftodo.reorg_in_progress\u002FSKILL.md",[],[124,20,125,22,25,26,27],"progress","todo reorg in progress",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":28},"01M6F1ZXN0G6HBD08GT8HE5FYA","todo.reorg_headers","Reorganize ai_task_queue.md .md so every H2 topic matches ALL TOPICS and every H3 task sits under the right topic, keeping its H1 stage","https:\u002F\u002Fgithub.com\u002Fcausify-ai\u002Fhelpers\u002Fblob\u002Fmaster\u002F.claude\u002Fskills\u002Ftodo.reorg_headers\u002FSKILL.md",[],[133,20,25,26,27],"todo reorg headers"]