作者回复: 好,这个项目值得好好拆解拆解。也期待你实现之后的分享。
作者回复: 是吗,等到课程全部完结,我试图总结总结Sub-Agent和Skill的整体生成方法论。如何设计并创建出优质的Sub-Agent和Skill。
作者回复: 不行。 Skills 不支持像 Commands 那样通过目录层级来生成命名空间。 官方文档明确了 Skill 的发现机制: Skills 的目录结构规则: .claude/skills/<skill-name>/SKILL.md ← <skill-name> = 这一层目录名 Skill 的 name 来自: 1. frontmatter 里的 name 字段(优先) 2. 如果没写 name,用目录名 如果你写成 .claude/skills/git/commit/SKILL.md,Claude Code 会把 commit 当成 skill name,git/ 只是一个普通的父目录——不会生成 git:commit 这样的命名空间。 但官方文档提到了 Skills 支持子目录组织,只是不生成命名空间——它是用来做monorepo 模块级发现的: "When you work with files in subdirectories, Claude Code automatically discovers skills from nested .claude/skills/ directories. For example, if you're editing a file in packages/frontend/, Claude Code also looks for skills in packages/frontend/.claude/skills/." 这意味着 monorepo 里可以这样: packages/ ├── frontend/.claude/skills/component-gen/SKILL.md ← 编辑前端文件时发现 ├── backend/.claude/skills/api-gen/SKILL.md ← 编辑后端文件时发现 └── shared/.claude/skills/lint-check/SKILL.md ← 编辑 shared 文件时发现 如果你确实需要分组管理 Skills 目前的变通方案是用 name 前缀模拟命名空间: # .claude/skills/git-commit/SKILL.md --- name: git-commit description: ... --- # .claude/skills/git-review/SKILL.md --- name: git-review description: ... --- # .claude/skills/git-rebase/SKILL.md --- name: git-rebase description: ... --- 调用时 /git-commit、/git-review——不如 git:commit 优雅,但功能上等价。