Fission-AI/OpenSpec · error
Tool ' ' does not support skill generation. Tools with…
Error message
Tool '${toolId}' does not support skill generation.
Tools with skill generation support:
${validToolsWithSkills.join('\n ')} What it means
Thrown in InitCommand when a selected tool exists but toolSupportsSkills(tool) is false — the tool is valid yet has no skills directory support, so skill generation for it is impossible. Input at fault is the toolId; the message enumerates tools that do support skill generation.
Solutions
- Remove the unsupported tool from the skill generation set
- Choose a tool listed in the message's supported list
- Use --tools to select only skill-capable tools
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/core/init.ts:815 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Fission-AI/OpenSpec@6926ccb18a (2026-08-25).
Data as JSON: /api/errors/73b6af24c6bafd5a.
Report an issue: GitHub.
Appendix: source
Thrown at src/core/init.ts:815
console.log(
chalk.dim(
`Codex, Zed, and agents share .agents/skills; writing one tree for ${sharedTargetOwner}.`
)
);
}
for (const toolId of reconciledToolIds) {
const tool = AI_TOOLS.find((t) => t.value === toolId);
if (!tool) {
const validToolIds = getToolsWithSkillsDir();
throw new Error(
`Unknown tool '${toolId}'. Valid tools:\n ${validToolIds.join('\n ')}`
);
}
if (!toolSupportsSkills(tool)) {
const validToolsWithSkills = getToolsWithSkillsDir();
throw new Error(
`Tool '${toolId}' does not support skill generation.\nTools with skill generation support:\n ${validToolsWithSkills.join('\n ')}`
);
}
const preState = toolStates.get(tool.value);
const skillsPath = resolveToolSkillsDir(projectPath, tool);
const isGlobalSkillTarget = hasGlobalSkillTarget(tool);
validatedTools.push({
value: tool.value,
name: tool.name,
skillsDir: tool.skillsDir,
skillsPath,
skillsRoot: isGlobalSkillTarget ? skillsPath : projectPath,
isGlobalSkillTarget,
wasConfigured: preState?.configured ?? false,
requiresIdeRestart: tool.requiresIdeRestart,
});
}View on GitHub (pinned to 6926ccb18a)