Repository navigation
feat(odd-mode): keep the todo list in .odd-todo.md without a todo tool - #10
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
## Playbooksrule inSKILL.mdsays to use the harness's todo tool when it has one. Without one, the agent keeps the list in.odd-todo.md, excluded throughinfo/exclude. The rule also gives the file format.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 inskip: <reason>.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.mjspasses 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..odd-todo.md. The check exited 1 while steps 2 and 3 were open. After they were done it passed with3 playbook steps done or skipped.