SuperAPI AI Directory

todo-list-csv

General & other

View repository

Updated 10-16 00:00

About this skill

Todo List CSV

Objective

When a project needs to be modified, use a CSV file located in the project root directory to break the work into checkable steps; keep updating it as you make progress; once everything is complete, delete the CSV to avoid leaving a temporary checklist behind or committing it to the repository.

Trigger conditions

  • Starting any task that will change the project's contents (adding/modifying/deleting files, adjusting configuration, fixing bugs, implementing features, etc.)
  • The task has multiple independently verifiable small steps and requires explicit tracking of completion status

Workflow (CSV + update_plan dual-track sync)

0) Conditions for enabling update_plan

  • When the task contains ≥2 independently verifiable steps , call update_plan to establish a plan and keep updating it during execution.

1) Break down the steps and establish a plan (one-to-one with the CSV)

  • Break it into 3–12 verifiable steps (start with a verb, avoid being too long).
  • Immediately call update_plan to establish the initial plan: the first step is in_progress, the rest are pending。
  • Keep the text of every step in the plan exactly identical to the item of the CSV(to facilitate syncing and auditing).

2) Create in the project root directory {任务名} TO DO list.csv

  • Determine the "task name": preferably take it from the user's request as a short title; simplify if necessary (remove punctuation, truncate if too long).
  • Compute the "project root directory": preferably use the Git repository root directory; for non-Git projects, use the current working directory as the root directory.
  • Create the file in the project root directory:{任务名} TO DO list.csv。

The CSV header is fixed as (first row):

id,item,status,done_at,notes

  • id: an integer starting from 1
  • item: a single to-do item (consistent with the plan's step )
  • status:TODO / IN_PROGRESS / DONE
  • done_at: completion time (ISO 8601, left blank if incomplete)
  • notes: optional notes (file paths, verification methods, PR/commit, etc.)

3) State machine and mapping (core constraints)

  • Only the following state transitions are allowed:TODO → IN_PROGRESS → DONE(avoid TODO jumping directly to DONE)。
  • plan mapping:TODO→pending,IN_PROGRESS→in_progress,DONE→completed。
  • At any moment, at most 1 row IN_PROGRESS; as long as there are still incomplete items, try to keep exactly 1 row IN_PROGRESS(aligned with the plan's unique in_progress ).

4) Sync while advancing (sync once each time an item is completed)

  • After completing the current IN_PROGRESS item:
    1. Update the CSV (recommended to use the script advance to automatically "complete the current item and start the next item")
    2. Generate the plan payload from the CSV (plan --normalize)
    3. call update_plan to sync the plan with the CSV

5) Mid-course changes and pauses

  • Adding steps: only "append", avoid reordering/renumbering; update both the CSV and the plan at the same time.
  • Pause to wait for feedback: keep the CSV; keep the plan's current step as in_progress, or append a "waiting for feedback" step and set it to in_progress。

6) Wrap-up and cleanup

  • Confirm that all rows are DONE, then delete the CSV file (the script cleanup will refuse to delete when not all are DONE).
  • Call update_plan to mark all steps as completed, ensuring the plan within the conversation is closed-loop.

Optional automation script

Use scripts/todo_csv.py to automatically create/update/clean up the CSV (preferred to avoid manual editing errors).

Example commands:

  • Create the checklist (by default the 1st item is IN_PROGRESS):python3 ~/.codex/skills/todo-list-csv/scripts/todo_csv.py init --title "修复登录 bug" --item "复现问题" "加回归测试" "修复实现" "运行测试/构建"
  • Compute the path:python3 ~/.codex/skills/todo-list-csv/scripts/todo_csv.py path --title "修复登录 bug"
  • Generate from the CSV update_plan payload (recommended with --normalize):python3 ~/.codex/skills/todo-list-csv/scripts/todo_csv.py plan --file "{csv_path}" --normalize --explanation "同步自 TODO CSV"
  • Start the specified step:python3 ~/.codex/skills/todo-list-csv/scripts/todo_csv.py start --file "{csv_path}" --id 2
  • Advance one step (complete the current IN_PROGRESS and start the next TODO):python3 ~/.codex/skills/todo-list-csv/scripts/todo_csv.py advance --file "{csv_path}" --notes "已通过单测"
  • View progress:python3 ~/.codex/skills/todo-list-csv/scripts/todo_csv.py status --file "{csv_path}" --verbose
  • Clean up after everything is complete:python3 ~/.codex/skills/todo-list-csv/scripts/todo_csv.py cleanup --file "{csv_path}"