fix(templates): replace Claude-only TodoWrite instruction with a generic todo list#1403
fix(templates): replace Claude-only TodoWrite instruction with a generic todo list#1403clay-good wants to merge 1 commit into
Conversation
…ric todo list The propose and ff-change skill/command templates told agents to use the TodoWrite tool, which only exists in Claude Code. The same templates generate commands for every supported tool, so Codex, Cursor, Gemini, and the rest were instructed to use a tool they don't have. The instruction is now runtime-neutral. Fixes #643 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
📝 WalkthroughWalkthroughPropose and fast-forward workflow instructions now use generic todo lists instead of the Claude-specific ChangesRuntime-neutral todo tracking
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
alfred-openspec
left a comment
There was a problem hiding this comment.
All four generated workflow variants now use runtime-neutral todo guidance, the checked-in skills regenerate cleanly, and no TodoWrite references remain. Exact-head build, 20 template/parity tests, CodeRabbit, and the full cross-platform matrix passed.
Status: Ready for review. CI green on all platforms; CodeRabbit reviewed with no actionable comments. Full suite: 2,027 passed; the only local failures are the 17 known environment-only ZshInstaller tests (#1321, fixed separately in #1400).
What was wrong
The generated
openspec-proposeandopenspec-ff-changeskills (and their/opsx:propose//opsx:ffcommands) instructed agents to "Use the TodoWrite tool to track progress through the artifacts." TodoWrite is a Claude Code-specific tool — the same templates generate commands for every supported tool, so Codex, Cursor, Gemini, Copilot, and the rest were told to use a tool they don't have. Reported in #643 (and TodoWrite is one of the unsupported references reported for Codex in #1103); the maintainer note on #643 already pointed the way: "this instruction probably needs to be generic anyways."How it was fixed
The instruction is now runtime-neutral:
Applied to all 4 template sites (propose + ff-change, skill and command variants), with the static
skills/copies regenerated vianpm run generate:skillsand the golden hashes inskill-templates-parity.test.tsupdated. Tools with a native todo mechanism (Claude Code) still use it; tools without one track progress however they normally would. No behavior, CLI, or schema changes.Proof
End-to-end from the built CLI (
init --tools claude,codex,cursor, plus a custom-profile run that installs theffworkflow), then inspecting every generated asset:(Same result for the propose assets across all three tools.)
grep -rn "TodoWrite" src/ skills/ test/ docs/→ no matches after the change.test/core/templates/(parity + skills.sh parity + generator guards): 20/20 pass.Notes
Fixes #643
🤖 Generated with Claude Code