fix(templates): replace Claude-only TodoWrite instruction with a generic todo list - #1403
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 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.
…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>
d7be4fa to
55ff3ca
Compare
alfred-openspec
left a comment
There was a problem hiding this comment.
The rebase preserves the runtime-neutral todo guidance across all four propose and fast-forward variants. Exact-head build, clean skill regeneration, a zero-result TodoWrite scan, 37 focused generation/parity tests, and the full CI/CodeQL matrix pass.
…neutral ask-the-user guidance (Fission-AI#1464) The workflow skill/command templates told agents to use the AskUserQuestion tool, which only exists in Claude Code. The same templates generate skills and commands for every supported tool, so OpenCode (whose tool is named question), Factory Droid (whose native AskUser parser errors on the instruction), Codex, and the rest were instructed to use a tool they don't have. The guidance is now runtime-neutral, matching the TodoWrite fix in Fission-AI#1403. Fixes Fission-AI#920 Fixes Fission-AI#717 Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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
Summary by CodeRabbit