Agent skill

format-todo-list

Generate properly formatted TodoWrite lists for orchestrator progress tracking. Use when creating phase checklists, updating task status, or ensuring consistent todo formatting.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/productivity/format-todo-list

SKILL.md

Format Todo List

Create properly structured todo lists for TodoWrite tool with correct status and activeForm fields.

When to Use

  • Creating initial phase checklists in orchestrators
  • Updating todo list status
  • Ensuring consistent todo formatting
  • Generating progress tracking lists

Instructions

Step 1: Receive Todo Items

Accept array of todo items with status.

Expected Input:

json
{
  "todos": [
    {
      "content": "Phase 1: Discovery",
      "status": "completed"
    },
    {
      "content": "Phase 2: Implementation",
      "status": "in_progress"
    },
    {
      "content": "Phase 3: Validation",
      "status": "pending"
    }
  ]
}

Step 2: Generate Active Forms

Create activeForm for each todo based on content.

Rules:

  • Convert imperative to present continuous
  • "Run X" → "Running X"
  • "Create X" → "Creating X"
  • "Fix X" → "Fixing X"
  • "Validate X" → "Validating X"

Step 3: Validate Status

Ensure status is valid TodoWrite value.

Valid Statuses:

  • pending: Not started
  • in_progress: Currently active
  • completed: Finished

Step 4: Format for TodoWrite

Structure data for TodoWrite tool.

Expected Output:

json
{
  "todos": [
    {
      "content": "Phase 1: Discovery",
      "status": "completed",
      "activeForm": "Discovering and analyzing"
    },
    {
      "content": "Phase 2: Implementation",
      "status": "in_progress",
      "activeForm": "Implementing changes"
    },
    {
      "content": "Phase 3: Validation",
      "status": "pending",
      "activeForm": "Validating results"
    }
  ]
}

Error Handling

  • Invalid Status: Return error listing valid statuses
  • Missing Content: Return error for empty content
  • Empty Array: Return error requesting at least one todo

Examples

Example 1: Phase Checklist

Input:

json
{
  "todos": [
    {"content": "Phase 0: Pre-flight validation", "status": "completed"},
    {"content": "Phase 1: Bug detection", "status": "in_progress"},
    {"content": "Phase 2: Bug fixes", "status": "pending"},
    {"content": "Phase 3: Verification", "status": "pending"}
  ]
}

Output:

json
{
  "todos": [
    {
      "content": "Phase 0: Pre-flight validation",
      "status": "completed",
      "activeForm": "Validating pre-flight checks"
    },
    {
      "content": "Phase 1: Bug detection",
      "status": "in_progress",
      "activeForm": "Detecting bugs"
    },
    {
      "content": "Phase 2: Bug fixes",
      "status": "pending",
      "activeForm": "Fixing bugs"
    },
    {
      "content": "Phase 3: Verification",
      "status": "pending",
      "activeForm": "Verifying fixes"
    }
  ]
}

Example 2: Simple Task List

Input:

json
{
  "todos": [
    {"content": "Run type check", "status": "completed"},
    {"content": "Run build", "status": "completed"},
    {"content": "Run tests", "status": "in_progress"}
  ]
}

Output:

json
{
  "todos": [
    {
      "content": "Run type check",
      "status": "completed",
      "activeForm": "Running type check"
    },
    {
      "content": "Run build",
      "status": "completed",
      "activeForm": "Running build"
    },
    {
      "content": "Run tests",
      "status": "in_progress",
      "activeForm": "Running tests"
    }
  ]
}

Example 3: Priority-Based List

Input:

json
{
  "todos": [
    {"content": "Fix critical bugs", "status": "completed"},
    {"content": "Fix high-priority bugs", "status": "in_progress"},
    {"content": "Fix medium-priority bugs", "status": "pending"}
  ]
}

Output:

json
{
  "todos": [
    {
      "content": "Fix critical bugs",
      "status": "completed",
      "activeForm": "Fixing critical bugs"
    },
    {
      "content": "Fix high-priority bugs",
      "status": "in_progress",
      "activeForm": "Fixing high-priority bugs"
    },
    {
      "content": "Fix medium-priority bugs",
      "status": "pending",
      "activeForm": "Fixing medium-priority bugs"
    }
  ]
}

Validation

  • Generates activeForm for all items
  • Validates status values
  • Handles various content formats
  • Preserves original content
  • Returns proper TodoWrite structure

Supporting Files

  • template.json: TodoWrite format template (see Supporting Files section)

Didn't find tool you were looking for?

Be as detailed as possible for better results