todo
Manage and track all TODOs from code comments and todo files. Provides quick reports of open tasks, scans for untracked TODOs, and integrates with GitHub Issues. Triggered by "/todo", "show todos", "l
Files2
View on GitHubSKILL.md.claude/skills/todo/SKILL.md
GitHubTodo Management Skill (GitHub-Only)
All TODOs are tracked as GitHub Issues with the todo label. There are no local todo files.
Quick Start
ALWAYS run the scan script first to save tokens:
python .claude/skills/todo/todo_scan.py
Commands
/todo help
/todo Quick report (open issues, priorities, in-progress)
/todo scan Scan code for untracked TODOs
/todo sync Check code<->GitHub consistency
/todo search X Search issues by keyword or label
/todo track Create GitHub Issues for untracked code TODOs
/todo analyze #id Analyze TODO and update its GitHub Issue
/todo start #id Mark issue as in-progress
/todo done #id Close the issue
/todo reject #id Close with wontfix label
/todo or /todo report
Quick report from scan script + GitHub Issues.
- Run:
python .claude/skills/todo/todo_scan.py - Present the output as a formatted report
/todo scan
Full scan:
python .claude/skills/todo/todo_scan.py
/todo sync
Find inconsistencies between code comments and GitHub:
python .claude/skills/todo/todo_scan.py --sync
Checks:
- Code TODO has
[#X]but issue doesn't exist or is closed - GitHub Issue with
todo:codelabel has no matching code comment - Code TODO references a CLOSED issue (stale - should be removed)
Interactive resolution: Ask user how to fix each inconsistency.
/todo search [query] [--label <label>]
gh issue list --label todo --search "query" --state open --json number,title,labels,state
gh issue list --label todo --label "priority:high" --state open --json number,title,labels,state
/todo track
For each untracked code TODO:
- Create GitHub Issue with
todoandtodo:codelabels - Update code comment:
# TODO [#123]: text
/todo analyze [#id]
Read code context, update GitHub Issue description, add analyzed label.
/todo start #id
Add in-progress label.
/todo done #id
Close the GitHub Issue. Optionally remove the code comment.
/todo reject #id [reason]
Add wontfix label and close with reason.
Code Comment Format
# TODO [#123]: description
# CLAUDE [#123]: description
GitHub Labels
| Label | Purpose |
|---|---|
todo |
All tracked TODOs |
todo:code |
From code comments |
analyzed |
Claude has reviewed and understands |
in-progress |
Currently being worked on |
priority:high |
High priority |
priority:medium |
Medium priority |
priority:low |
Low priority |
Status Flow
new -> analyzed -> in_progress -> completed
|
+-> rejected (wontfix)
Important
- NEVER create issues without user approval - Show what will be created first
- Ask before modifying code - Confirm before updating TODO comments