todo-update

📁 legacybridge-tech/claude-plugins 📅 Jan 29, 2026
1
总安装量
1
周安装量
#46117
全站排名
安装命令
npx skills add https://github.com/legacybridge-tech/claude-plugins --skill todo-update

Agent 安装分布

github-copilot 1

Skill 文档

Todo Update

Purpose

Modify an existing todo’s properties (status, priority, due date) or add execution notes and related information.

Execution Flow

Phase 1: Identify Todo

If user specifies todo in command:

  • Parse the todo identifier
  • Example: /todo-update Review design docs

If not specified:

  1. List active todos
  2. Ask user to select:
    {
      "question": "Which todo do you want to update?",
      "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: Determine Update Type

Ask what to update:

{
  "question": "What would you like to update?",
  "header": "Update Type",
  "options": [
    {"label": "Status", "description": "Change to pending, in_progress, or blocked"},
    {"label": "Priority", "description": "Change to high, medium, or low"},
    {"label": "Due Date", "description": "Set or change the deadline"},
    {"label": "Add Note", "description": "Add an entry to the execution log"},
    {"label": "Add Dependency", "description": "Link this todo to another todo"},
    {"label": "Add Related File", "description": "Link to a file in the knowledge base"}
  ],
  "multiSelect": true
}

Phase 3: Collect New Values

Based on selection, gather the new values:

Status Change:

{
  "question": "New status?",
  "header": "Status",
  "options": [
    {"label": "pending", "description": "Not started yet"},
    {"label": "in_progress", "description": "Currently working on this"},
    {"label": "blocked", "description": "Waiting for something else"}
  ],
  "multiSelect": false
}

If blocked, also ask for reason:

What is blocking this todo? (e.g., "Waiting for client response")

Priority Change:

{
  "question": "New priority?",
  "header": "Priority",
  "options": [
    {"label": "High", "description": "Urgent or time-sensitive"},
    {"label": "Medium", "description": "Normal priority"},
    {"label": "Low", "description": "Can wait"}
  ],
  "multiSelect": false
}

Due Date Change:

{
  "question": "New due date?",
  "header": "Due Date",
  "options": [
    {"label": "Remove deadline", "description": "Clear the due date"},
    {"label": "Today", "description": "Due by end of today"},
    {"label": "Tomorrow", "description": "Due by end of tomorrow"},
    {"label": "This week", "description": "Due by end of this week"},
    {"label": "Next week", "description": "Due by end of next week"}
  ],
  "multiSelect": false
}

Add Note:

What note would you like to add?
(This will be added to the execution log with today's date)

Add Dependency:

  1. List other active todos
  2. Ask user to select which one this depends on
  3. Update dependencies list in frontmatter

Add Related File:

Enter the path to the related file (relative to knowledge base root):

Phase 4: Update File

  1. Read current file

  2. Update frontmatter fields:

    # Updated fields only
    status: [new status]
    priority: [new priority]
    due_date: [new date or null]
    blocking_reason: [if blocked]
    dependencies:
      - path: [new dependency path]
        status: [current status of that todo]
    related_files:
      - [new file path]
    
  3. Add execution log entry:

    ### [Current Date]
    - [Description of change]
    - [Field]: [old value] → [new value]
    

    Examples:

    ### 2025-01-13
    - Priority updated
    - Priority: medium → high
    
    ### 2025-01-13
    - Status changed to blocked
    - Status: pending → blocked
    - Reason: Waiting for client response
    
    ### 2025-01-13
    - Added note: "Discussed requirements with team, need more details"
    

Phase 5: Handle Status Changes

If changed TO blocked:

  • Require blocking_reason
  • Add to frontmatter

If changed FROM blocked:

  • Clear blocking_reason
  • Log unblock reason in execution log

If changed TO in_progress:

  • Log when work started

Phase 6: Update Governance

  1. If title or priority changed, update Todos/active/README.md
  2. Update “Last updated” timestamp

Phase 7: Report

✅ Todo updated: "Review design docs"

Changes made:
- Priority: medium → high
- Due date: (none) → 2025-01-20
- Added note: "Client requested by end of week"

Current state:
- Status: pending
- Priority: high
- Due: 2025-01-20

View all todos: /todo-list

Bulk Update

For updating multiple todos at once:

{
  "question": "Select todos to update",
  "header": "Batch Update",
  "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
}

Then ask what change to apply to all:

  • Common use case: Change priority of multiple items
  • Apply same change to all selected

Quick Updates

Support shorthand commands:

  • /todo-update #1 priority high → Change todo #1 to high priority
  • /todo-update "Review docs" status in_progress → Start working on todo
  • /todo-update #2 due tomorrow → Set due date to tomorrow

Parse these patterns and skip confirmation if unambiguous.

Error Handling

Todo Not Found

Todo not found: "[search term]"

Active todos:
1. Reply to client email
2. Review design docs

Try again with the correct title or number.

Invalid Value

Invalid priority value: "urgent"

Valid options:
- high
- medium
- low

Circular Dependency

If adding a dependency would create a loop:

Cannot add dependency: This would create a circular dependency.

[Todo A] → depends on → [Todo B] → depends on → [Todo A]

Please choose a different todo or remove an existing dependency first.