Codex Skill不响应通常因路径、编码或注册问题。先验证Codex基础功能,检查API Key、CLI版本及模型名拼写;确认Skill文件夹命名规范、SKILL.md位于根层且无BOM;校验YAML frontmatter格式,排查~/.agents/skills冲突,并用--debug验证加载日志。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex Skill装好了却始终不响应,输入触发词后像没看见一样,连错误提示都没有——这通常不是Skill写得不对,而是路径、编码或注册环节卡在某个看不见的细节上。
先确认Codex本身是否正常工作
打开终端,执行:codex "你好"。如果返回乱码、超时、或直接报错(如command not found),说明问题不在Skill,而在基础环境。此时不要动任何Skill文件,先检查API Key是否配置、CLI版本是否≥v2.4.0、模型名在config.toml中拼写是否完全匹配(比如codex-2026.05不能写成codex_2026_05)。
【强行在 PowerShell 5 中运行 Codex,中文指令实际接收的是截断字节,后续所有 Skill 匹配都失效】。
检查Skill文件路径与结构
进入你正在使用的项目根目录,运行:dir skills(Windows)或 ls -la skills(Mac/Linux)。确认存在一个子文件夹,且该文件夹名全为小写英文、不含空格和中文。
进入该子文件夹,检查是否存在SKILL.md文件,且该文件必须直接位于此文件夹第一层,不能套在src/或docs/里。
若使用 Codex Desktop,它默认只读取项目根目录下的skills/;若用 CLI,则优先读取~/.codex/skills/。二者路径不互通,切勿混用。
排查UTF-8 BOM导致的静默失效
这是最隐蔽的失败原因:文件编码看似是UTF-8,实则带BOM头(EF BB BF),导致Codex解析YAML frontmatter时直接跳过整个文件,不报错、不警告、不加载。
方法一:用VS Code打开SKILL.md→右下角点击编码格式→选择“Save with Encoding”→选“UTF-8”(**不要选“UTF-8 with BOM”**)→保存。
方法二:用PowerShell执行:Get-Content .SKILL.md -Encoding UTF8 | Set-Content .SKILL.md -Encoding UTF8,强制剥离BOM。
通过 Codex CLI 生成图片,支持尺寸控制和批量模式。依赖:codex (npm)。代理默认启用。用 generate.sh 生成单张,batch_generate.sh 批量生成游戏 UI 素材,gen_size.sh 指定尺寸。所有输出保存至 ~/.codex/generated_images/。
改完后重启Codex,再测试触发词。这一步做完,19个出问题的Skill里有17个会立刻生效。
验证Skill是否被正确注册
第一步:确保SKILL.md开头的YAML区块中,description字段值已用双引号包裹,尤其当内容含冒号(如Triggers: git commit)时,不加引号会导致整个frontmatter解析失败。
第二步:检查~/.agents/skills/目录是否存在同名文件夹。若存在,Codex可能优先加载该路径下的旧版Skill,而忽略你刚放好的新技能。
第三步:运行codex --debug "请问我现在有哪些 skills 可以使用?",观察调试日志中是否出现loaded skill: your-skill-name。未出现即代表未识别。
若仍无效,手动清空~/.codex/cache并重启。
强制指定Skills路径启动
在项目根目录下执行:codex --skills-dir ./skills。
这会绕过所有默认路径查找逻辑,直读当前目录下的skills/子文件夹。如果此时Skill突然可用,说明之前配置的全局路径或config.toml中的skills_dir字段写错了位置或权限不足。
Windows用户特别注意:config.toml中路径请用正斜杠/或双反斜杠\,单反斜杠会被当作转义符处理。

















