Description
When OpenSpec generates Codex integration files, the generated Codex skills and prompts still reference agent tools that are not available in Codex:
AskUserQuestion tool
TodoWrite tool
Task tool (subagent_type: "general-purpose", ...)
This happens even after upgrading to OpenSpec 1.3.1 and regenerating with openspec update --force.
In Codex, these names are not callable tools. Codex can ask the user in normal chat, and some Codex sessions expose different structured tools such as plan updates or subagents, but those are not named or shaped like the generated instructions. As a result, the generated workflow instructions can cause Codex to attempt unavailable tools or stall around clarification, progress tracking, or sync delegation steps.
Environment
- OpenSpec package:
@fission-ai/openspec@1.3.1
openspec --version: 1.3.1
- Node:
v22.16.0
- OS: Windows
- Tool selected:
codex
- Delivery mode:
both
- Profile:
custom
- Workflows:
propose, explore, new, continue, apply, ff, sync, archive, bulk-archive, verify, onboard
Reproduction
-
Install or upgrade OpenSpec:
npm install -g @fission-ai/openspec@latest
-
In a project configured for Codex, regenerate assets:
-
Inspect the generated Codex files:
rg -n "AskUserQuestion|TodoWrite|Task tool|subagent_type" .codex/skills "$CODEX_HOME/prompts"
Actual Behavior
Generated Codex skills and prompts contain non-Codex tool references. Examples from regenerated 1.3.1 assets:
.codex/skills/openspec-new-change/SKILL.md: tells the agent to use AskUserQuestion tool for open-ended input.
.codex/skills/openspec-propose/SKILL.md: tells the agent to use AskUserQuestion tool and TodoWrite tool.
.codex/skills/openspec-ff-change/SKILL.md: tells the agent to use AskUserQuestion tool and TodoWrite tool.
.codex/skills/openspec-archive-change/SKILL.md: tells the agent to use Task tool (subagent_type: "general-purpose", ...).
$CODEX_HOME/prompts/opsx-*.md: same references appear in the generated Codex prompt files.
Expected Behavior
Codex-generated assets should avoid tool names that Codex does not expose.
Possible Codex-safe alternatives:
- Replace
AskUserQuestion tool with runtime-neutral wording such as: "Ask the user in chat and wait for their reply." For selection prompts, present a concise numbered list.
- Replace
TodoWrite tool with runtime-neutral wording such as: "Track progress using the agent's native planning/checklist mechanism if available; otherwise keep a concise visible checklist."
- Replace Claude-style
Task tool (subagent_type: ...) wording with either a runtime-neutral instruction to invoke the sync workflow/skill, or a Codex-specific instruction only if Codex support is intentionally added.
Related Context
This seems adjacent to existing Codex/generated-asset issues, but not the same as them:
Those issues are about command/skill invocation references. This issue is about generated Codex instructions naming unsupported runtime tools inside the workflow bodies.
Description
When OpenSpec generates Codex integration files, the generated Codex skills and prompts still reference agent tools that are not available in Codex:
AskUserQuestion toolTodoWrite toolTask tool (subagent_type: "general-purpose", ...)This happens even after upgrading to OpenSpec
1.3.1and regenerating withopenspec update --force.In Codex, these names are not callable tools. Codex can ask the user in normal chat, and some Codex sessions expose different structured tools such as plan updates or subagents, but those are not named or shaped like the generated instructions. As a result, the generated workflow instructions can cause Codex to attempt unavailable tools or stall around clarification, progress tracking, or sync delegation steps.
Environment
@fission-ai/openspec@1.3.1openspec --version:1.3.1v22.16.0codexbothcustompropose,explore,new,continue,apply,ff,sync,archive,bulk-archive,verify,onboardReproduction
Install or upgrade OpenSpec:
In a project configured for Codex, regenerate assets:
Inspect the generated Codex files:
Actual Behavior
Generated Codex skills and prompts contain non-Codex tool references. Examples from regenerated
1.3.1assets:.codex/skills/openspec-new-change/SKILL.md: tells the agent to useAskUserQuestion toolfor open-ended input..codex/skills/openspec-propose/SKILL.md: tells the agent to useAskUserQuestion toolandTodoWrite tool..codex/skills/openspec-ff-change/SKILL.md: tells the agent to useAskUserQuestion toolandTodoWrite tool..codex/skills/openspec-archive-change/SKILL.md: tells the agent to useTask tool (subagent_type: "general-purpose", ...).$CODEX_HOME/prompts/opsx-*.md: same references appear in the generated Codex prompt files.Expected Behavior
Codex-generated assets should avoid tool names that Codex does not expose.
Possible Codex-safe alternatives:
AskUserQuestion toolwith runtime-neutral wording such as: "Ask the user in chat and wait for their reply." For selection prompts, present a concise numbered list.TodoWrite toolwith runtime-neutral wording such as: "Track progress using the agent's native planning/checklist mechanism if available; otherwise keep a concise visible checklist."Task tool (subagent_type: ...)wording with either a runtime-neutral instruction to invoke the sync workflow/skill, or a Codex-specific instruction only if Codex support is intentionally added.Related Context
This seems adjacent to existing Codex/generated-asset issues, but not the same as them:
/promptinvocation broken in Codex while$skillworks/opsx:*command references #879 / [Fix] Add transformToSkillReferences for skills-only delivery mode #881: skills-only delivery emits/opsx:*command referencesThose issues are about command/skill invocation references. This issue is about generated Codex instructions naming unsupported runtime tools inside the workflow bodies.