Update TODO items in a workspace repository
This skill updates TODO items in a workspace's TODO file. It delegates the actual update work to the workspace-repo-todo-updater agent.
After completion: Use /workspace-execute to work through the updated TODO items.
Paths: Use relative paths from project root for all workspace file operations (see CLAUDE.md for details).
This skill receives $ARGUMENTS from the caller. Parse to extract:
--interactive flag (optional): enables preview checkpoint before applying changesfeature-user-auth auth-service Add error handling to all endpointsfeature-user-auth TODO-api.md Remove the caching TODOfeature-user-auth auth-service Add error handling --interactiveIf $ARGUMENTS is missing workspace or repository, abort with message:
Please specify a workspace and TODO file. Example:
/workspace-update-todo feature-user-auth auth-service Add error handling
--interactive flag: When present, the updater agent runs in the foreground with a preview checkpoint before applying changes. The user can approve, modify, or cancel. When absent, the default autonomous background behavior is used.
Pass the user's request as-is to the agent. Do NOT convert to TODO format yourself.
The agent will:
--interactive flag):Invoke the workspace-repo-todo-updater agent in background:
Task tool:
subagent_type: workspace-repo-todo-updater
run_in_background: true
prompt: |
Workspace: {workspace-name}
Repository: {repository-name}
Update Request: {what the user wants to change}
Do NOT wait for the agent to complete. Proceed immediately to Step 3.
--interactive flag):Invoke the workspace-repo-todo-updater agent in foreground:
Task tool:
subagent_type: workspace-repo-todo-updater
run_in_background: false
prompt: |
Workspace: {workspace-name}
Repository: {repository-name}
Update Request: {what the user wants to change}
Mode: interactive
The agent will pause with a preview checkpoint before applying changes. Wait for the agent to complete, then proceed to Step 3.
What the agent does (defined in agent, not by prompt):
Report the launched agent to the user immediately:
Report completed results directly to the user:
User: /workspace-update-todo feature-user-auth auth-service Add a TODO item to implement error handling
Assistant: [Validates input, launches updater agent in background]
Launched updater agent for TODO-auth-service.md.
Use /workspace-show-status to check when update is complete.
User: /workspace-update-todo feature-user-auth auth-service Remove the TODO about adding comments
Assistant: [Validates input, launches updater agent in background]
Launched updater agent for TODO-auth-service.md.
Use /workspace-show-status to check when update is complete.
User: /workspace-update-todo feature-user-auth auth-service Change the priority of the testing task
Assistant: [Validates input, launches updater agent in background]
Launched updater agent for TODO-auth-service.md.
Use /workspace-show-status to check when update is complete.
After launching the updater agent, report directly to the user immediately (do NOT wait for agent to complete):
/workspace-show-status {workspace-name} to check progressWhen the background agent has completed (confirmed via <task-notification>), use AskUserQuestion to let the user choose the next action:
AskUserQuestion:
question: "TODO update is complete. What would you like to do next?"
header: "Next step"
options:
- label: "/workspace-execute (Recommended)"
description: "Execute the updated TODO items"
- label: "/workspace-show-status"
description: "Check updated TODO status"
After the user selects an option, invoke the corresponding skill with the workspace name as argument. Do NOT invoke other skills automatically before asking.
[x]) to keep the file compact/workspace-show-status to check progress. Once the update is done, proceed to /workspace-execute.--interactive): The updater agent runs in the foreground with Mode: interactive, enabling a preview checkpoint before applying changes. The user can approve, modify, or cancel. Results are reported directly when the agent completes. run_in_background: false still provides context isolation (sub-agent context doesn't leak to parent).