提交前确认 · Pre-submission checklist
问题类别 · Category
其他 / 不确定 · Other / Not sure
涉及的 Agent 框架 · Agent framework
ZCode Agent(自研)
使用场景 · Use case
ZCode Skill 发现机制问题反馈:不支持嵌套目录
反馈日期:2026-07-21
反馈类型:产品体验 / 兼容性
影响范围:所有从 Codex 迁移、或按 Codex 布局组织 skills 的用户
一、问题现象
ZCode 无法发现放在二级及更深目录下的 skill,导致用户本机已有的大量 skill 完全不可见。
具体表现:
- 用户在本机按 Codex 标准布局组织了 100+ 个 skill,路径为
~/.agents/skills/skills/<skill-name>/SKILL.md
- ZCode 会话启动时,系统注入的"可用 skills 清单"里只出现 3 个一级 skill(
find-skills、graphify、hatch-pet),二级 skills/ 子目录下的 99 个 skill 全部缺失
- 典型案例:
commit-message-generator(提交信息生成)这个高频 skill 已安装但不可用,用户每次生成 commit message 都被迫手工走流程,或要求 AI 临场补救
二、根因
ZCode 的 skills 发现逻辑只扫描根目录的一级子目录,不递归。
对比 Codex 的行为(实测):
# Codex 用整体软链指向 ~/.agents/skills,能递归发现所有 skill
~/.codex/skills → /Users/hy/.agents/skills
# Codex 看到的结构(递归扫描,全部可见)
~/.agents/skills/
├── find-skills/ ✅ Codex 发现
├── graphify/ ✅ Codex 发现
├── hatch-pet/ ✅ Codex 发现
└── skills/ 📁 容器目录
├── 提交信息生成 commit-message-generator/ ✅ Codex 发现(递归到二级)
├── ajax错误信息提示 ajax-error-message/ ✅ Codex 发现
└── ... (共 99 个) ✅ Codex 发现
# ZCode 同样布局,只扫一级
~/.zcode/skills/ 或 ~/.agents/skills/
# ZCode 看到的结构(仅一级)
├── find-skills/ ✅ ZCode 发现
├── graphify/ ✅ ZCode 发现
├── hatch-pet/ ✅ ZCode 发现
└── skills/ ❌ ZCode 当作单个 skill 处理
└── (99 个 skill 全部不可见)
zcode-guide:diagnosing-skills 的官方诊断文档也明确写了:"Directories beginning with . ... are skipped" 以及"扫描根目录的一级子目录",但没有说明为什么不递归,也没有提供配置项绕过。
三、用户侧的临时绕过方案(不推荐长期使用)
目前用户只能手动在 ZCode 标准路径下为每个 skill 建软链:
# 为单个 skill 建软链
ln -s ~/.agents/skills/skills/<skill-name> ~/.zcode/skills/<skill-name>
# 批量建(脚本)
for d in ~/.agents/skills/skills/*/; do
name=$(basename "$d")
ln -sfn "$d" ~/.zcode/skills/"$name"
done
问题:
- 99 个 skill 就要建 99 个软链,目录污染严重
- 用户新增 skill 后必须重跑脚本,容易遗忘
- 软链在某些同步工具(iCloud、Dropbox)下行为异常
- 跨机器迁移配置时容易丢失软链
建议方案 · Proposal
四、建议的产品侧解决方案(任选其一)
方案 A(推荐):支持递归扫描,对齐 Codex
修改 skills 发现逻辑,递归扫描根目录下所有层级的 SKILL.md。
- 优点:零配置,Codex 现有布局直接可用,迁移用户无感
- 风险:需要注意同名 skill 的优先级(深层 vs 浅层谁覆盖),建议"浅层优先"以保持向后兼容
- 建议优先级:高
方案 B:支持 extraRoots 配置项
在 ~/.zcode/cli/config.json 或 ~/.zcode/v2/config.json 中增加 skills.roots 数组:
{
"skills": {
"enabled": true,
"roots": [
"~/.agents/skills/skills",
"~/my-team-skills"
]
}
}
- 优点:用户可精确控制额外扫描路径,灵活
- 缺点:需要用户手动维护配置
- 建议优先级:中
方案 C:提供内置命令批量建软链
新增 /skill link <path> 命令,自动为指定路径下所有 skill 在 ~/.zcode/skills/ 建软链。
- 优点:实现成本低
- 缺点:治标不治本,软链本身有上述维护问题
- 建议优先级:低(作为过渡方案)
预期价值 · Expected value
五、期望的最终效果
用户从 Codex 迁移到 ZCode 后,无需调整 skill 目录结构、无需建软链、无需改配置,原有 ~/.agents/skills/ 下的所有 skill(含嵌套目录)自动被 ZCode 发现并可用。
六、复现步骤(供开发同学验证)
-
准备一个 skill 放在二级目录:
~/.agents/skills/
└── my-group/ ← 容器目录(无 SKILL.md)
└── test-skill/ ← 真正的 skill
└── SKILL.md ← 有合法 frontmatter
-
启动 ZCode 新会话
-
检查系统注入的可用 skills 清单:test-skill 不会出现
-
对照测试:同样的布局在 Codex 中,test-skill 会出现
七、相关参考
- ZCode 官方诊断文档:
zcode-guide:diagnosing-skills skill(明确写"只扫一级子目录")
- Codex 行为:实测
~/.codex/skills 整体软链到 ~/.agents/skills 可递归发现
- 本次实际问题记录:用户会话中
commit-message-generator skill 缺失,被迫人工生成提交信息
你认为的优先级 · Your perceived priority
None
你使用的 ZCode 版本 / 环境 · ZCode version / environment
zcode桌面版3.3.6 macOs:15.3.1
补充材料 · Additional context
No response
提交前确认 · Pre-submission checklist
问题类别 · Category
其他 / 不确定 · Other / Not sure
涉及的 Agent 框架 · Agent framework
ZCode Agent(自研)
使用场景 · Use case
ZCode Skill 发现机制问题反馈:不支持嵌套目录
反馈日期:2026-07-21
反馈类型:产品体验 / 兼容性
影响范围:所有从 Codex 迁移、或按 Codex 布局组织 skills 的用户
一、问题现象
ZCode 无法发现放在二级及更深目录下的 skill,导致用户本机已有的大量 skill 完全不可见。
具体表现:
~/.agents/skills/skills/<skill-name>/SKILL.mdfind-skills、graphify、hatch-pet),二级skills/子目录下的 99 个 skill 全部缺失commit-message-generator(提交信息生成)这个高频 skill 已安装但不可用,用户每次生成 commit message 都被迫手工走流程,或要求 AI 临场补救二、根因
ZCode 的 skills 发现逻辑只扫描根目录的一级子目录,不递归。
对比 Codex 的行为(实测):
zcode-guide:diagnosing-skills的官方诊断文档也明确写了:"Directories beginning with.... are skipped" 以及"扫描根目录的一级子目录",但没有说明为什么不递归,也没有提供配置项绕过。三、用户侧的临时绕过方案(不推荐长期使用)
目前用户只能手动在 ZCode 标准路径下为每个 skill 建软链:
问题:
建议方案 · Proposal
四、建议的产品侧解决方案(任选其一)
方案 A(推荐):支持递归扫描,对齐 Codex
修改 skills 发现逻辑,递归扫描根目录下所有层级的
SKILL.md。方案 B:支持 extraRoots 配置项
在
~/.zcode/cli/config.json或~/.zcode/v2/config.json中增加skills.roots数组:{ "skills": { "enabled": true, "roots": [ "~/.agents/skills/skills", "~/my-team-skills" ] } }方案 C:提供内置命令批量建软链
新增
/skill link <path>命令,自动为指定路径下所有 skill 在~/.zcode/skills/建软链。预期价值 · Expected value
五、期望的最终效果
用户从 Codex 迁移到 ZCode 后,无需调整 skill 目录结构、无需建软链、无需改配置,原有
~/.agents/skills/下的所有 skill(含嵌套目录)自动被 ZCode 发现并可用。六、复现步骤(供开发同学验证)
准备一个 skill 放在二级目录:
启动 ZCode 新会话
检查系统注入的可用 skills 清单:
test-skill不会出现对照测试:同样的布局在 Codex 中,
test-skill会出现七、相关参考
zcode-guide:diagnosing-skillsskill(明确写"只扫一级子目录")~/.codex/skills整体软链到~/.agents/skills可递归发现commit-message-generatorskill 缺失,被迫人工生成提交信息你认为的优先级 · Your perceived priority
None
你使用的 ZCode 版本 / 环境 · ZCode version / environment
zcode桌面版3.3.6 macOs:15.3.1
补充材料 · Additional context
No response