Install
npx skillscat add legacybridge-tech/claude-plugins/todo-complete Install via the SkillsCat registry.
Todo Complete
Purpose
Mark a todo as completed, update its execution log, move it to the completed/ directory, and handle dependency unblocking for other todos.
Execution Flow
Phase 1: Identify Todo
If user specifies todo in command:
- Parse the todo identifier (title, filename, or number from list)
- Example:
/todo-complete Reply to client email
If not specified:
List active todos using compact format:
Which todo would you like to complete? 1. Reply to client email (High, due 2025-01-15) 2. Review design docs (Medium, in progress) 3. Update documentation (Low)Ask user to select:
{ "question": "Which todo do you want to complete?", "header": "Select Todo", "options": [ {"label": "#1 Reply to client email", "description": "High priority, due 2025-01-15"}, {"label": "#2 Review design docs", "description": "Medium priority, in progress"}, {"label": "#3 Update documentation", "description": "Low priority"} ], "multiSelect": false }
Phase 2: Confirm Completion
Ask for confirmation:
{
"question": "Mark 'Reply to client email' as complete?",
"header": "Confirm",
"options": [
{"label": "Yes, complete it", "description": "Archive this todo"},
{"label": "No, cancel", "description": "Keep todo as active"}
],
"multiSelect": false
}Phase 3: Update Todo File
Read current file content
Update frontmatter:
status: completed completed_at: [Current date YYYY-MM-DD]Add completion entry to execution log:
### [Current Date] - Marked as completed - Status: [previous status] โ completed - Completion confirmed by user
Phase 4: Move to Completed
Move file:
- From:
Todos/active/[filename] - To:
Todos/completed/[filename]
- From:
Update
Todos/active/README.md:- Remove the entry for this todo
- Update "Last updated" timestamp
Update
Todos/completed/README.md:- Add entry for the completed todo
- Format:
- [filename](filename) - [title] (Completed: [date]) - Update "Last updated" timestamp
Update
Todos/README.md:- Decrement active count
- Increment completed count
- Add to "Recent Changes" section
Phase 5: Handle Dependencies
Search for dependent todos:
Use Grep to search
Todos/active/for files containing this todo's path:grep -l "[completed todo filename]" Todos/active/*.mdFor each dependent todo found:
a. Read the todo file
b. Parse dependencies list
c. Update this todo's status tocompletedin the dependencies
d. Check if ALL dependencies are now completed
e. If yes:- Change status from
blockedtopending - Clear
blocking_reason - Add log entry:
### [Current Date] - Dependency completed: [completed todo title] - Status: blocked โ pending - All dependencies now satisfied
f. Add to unblocked list for reporting
- Change status from
Phase 6: Report
Standard completion:
โ
Todo completed: "Reply to client email"
- Previous status: in_progress
- Completed at: 2025-01-13
- Archived to: Todos/completed/2025-01-10_reply-client-email.mdWith unblocked todos:
โ
Todo completed: "Reply to client email"
- Previous status: in_progress
- Completed at: 2025-01-13
- Archived to: Todos/completed/2025-01-10_reply-client-email.md
๐ Unblocked todos:
- "Prepare client presentation" is now ready to start
- "Send follow-up email" is now ready to start
Would you like to start working on any of these?Error Handling
Todo Not Found
Todo not found: "[search term]"
Active todos:
1. Reply to client email
2. Review design docs
3. Update documentation
Try again with the correct title or number.Already Completed
"[todo title]" is already completed.
Completed on: 2025-01-10
Location: Todos/completed/[filename]Has Incomplete Dependencies
If completing a todo that other todos depend on, proceed normally (this unblocks those todos).
Blocked Status
If the todo being completed is currently blocked:
Note: This todo was marked as blocked, but you're completing it anyway.
Proceeding with completion...Batch Completion
If user wants to complete multiple todos:
{
"question": "Select todos to complete",
"header": "Batch Complete",
"options": [
{"label": "#1 Reply to client email", "description": "High priority"},
{"label": "#2 Review design docs", "description": "Medium priority"},
{"label": "#3 Update documentation", "description": "Low priority"}
],
"multiSelect": true
}Process each selected todo in sequence, collecting results for a summary report.