todo-complete
npx skills add https://github.com/legacybridge-tech/claude-plugins --skill todo-complete
Agent 安装分布
Skill 文档
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/*.md -
For each dependent todo found: a. Read the todo file b. Parse dependencies list c. Update this todo’s status to
completedin 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.md
With 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.