Skip to content

feat(odd-mode): keep the todo list in .odd-todo.md without a todo tool - #10

Merged
Rakvadium merged 1 commit into
mainfrom
fix/todo-fallback
Oct 16, 2026
Merged

Rakvadium merged 1 commit into
mainfrom
fix/todo-fallback

Conversation

@Rakvadium

Copy link
Copy Markdown
Owner

Why

In a harness with no todo tool, such as T3 Code, threads kept the playbook list in chat, where nothing checked it. Now that list lives in a file, and a script checks it before every PR.

What changed

  • The ## Playbooks rule in SKILL.md says to use the harness's todo tool when it has one. Without one, the agent keeps the list in .odd-todo.md, excluded through info/exclude. The rule also gives the file format.
  • New scripts/check-todo.mjs. It fails when the file is missing or tracked, when it names no playbook, or when a numbered step is neither [x] nor ends in skip: <reason>.
  • Opening a PR now runs the check before it creates the PR.

Scope

This covers the odd-mode playbook list. The phase lists in architect, arena, swarm, and figure-it-out are out of scope. CI does not run the check, because the file is never committed.

Tradeoffs

A step that says Run **Opening a PR** is exempt, because the check runs inside that step.

Verification

  • node --test skills/odd-mode/scripts/check-todo.test.mjs passes 8 of 8. The tests cover a missing file, an unaccounted step, a skip with and without a reason, a tracked file, and the exempt step at the start or middle of a line. All 8 fail against an empty script.
  • This PR's own thread kept its list in .odd-todo.md. The check exited 1 while steps 2 and 3 were open. After they were done it passed with 3 playbook steps done or skipped.

Threads in harnesses with no todo tool kept the playbook list in chat,
where nothing checked it. Without a todo tool the list now lives in an
untracked .odd-todo.md, and check-todo.mjs runs before every PR. It fails
when the file is missing or tracked, or when a playbook step is neither
done nor skipped with a reason.
@Rakvadium
Rakvadium merged commit 3a47f9c into main Oct 16, 2026
1 check passed
@Rakvadium
Rakvadium deleted the fix/todo-fallback branch October 17, 2026 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant