用途:指导创建与优化 Claude Code 技能(Skill),并审计技能质量。适用于从零构建新技能、优化或审计已有技能、决定是否使用高级特性(子代理执行、钩子、动态上下文等),以及排查技能无法正常工作的问题。
技能概念:技能是一组可复用指令,告诉 Claude Code 如何处理特定任务,存放于项目内 .claude/skills/[skill-name]/SKILL.md。输入 /skill-name 或用自然语言描述需求时,Claude 会加载并遵循该技能指令。项目 CLAUDE.md 每轮对话都会加载;技能描述(frontmatter)始终加载以便 Claude 知晓可用技能;完整技能内容仅在技能被实际调用时加载。
模式一:构建新技能。先做发现访谈,用 AskUserQuestion 逐轮提问,每轮一个主题,直到有 95% 把握再动手写文件。轮次包括:目标与名称、触发方式、分步流程、输入输出与依赖、护栏与边界情况、确认总结。若用户已提供足够上下文,可跳过已回答的轮次。构建阶段:选择技能类型(任务型或参考型)、配置 frontmatter(name、description、disable-model-invocation、argument-hint、context: fork + agent、model、allowed-tools,只设真正需要的字段)、编写内容(Context、分步工作流、输出格式、Notes)、按需添加支持文件、在 CLAUDE.md 中记录、测试自然语言与直接调用两种方式及边界情况。
模式二:审计已有技能。先读技能文件,再按清单检查:frontmatter(名称与目录一致、描述含自然关键词、有副作用时设 disable-model-invocation: true、接受参数时设 argument-hint、需限制工具时设 allowed-tools、自包含且输出冗长时用 context: fork、仅在需要特定模型能力时设 model、不设多余字段);内容(SKILL.md 少于 500 行、编号步骤清晰、指定输出格式、记录所有文件路径、代理委派含实际提示文本、Notes 覆盖边界与禁止事项、使用 $ARGUMENTS/$N 替换);集成(在 CLAUDE.md 中记录、支持文件被引用、脚本路径正确可执行、API 密钥存于环境变量);质量(新手可依循、指令可操作、适当委派子代理、不重复他处信息、输出路径可预测)。
推荐约定:技能位于 .claude/skills/[skill-name]/SKILL.md;输出文件放可预测位置(如 output/[skill-name]/);API 密钥放环境变量,绝不硬编码;在 CLAUDE.md 记录所有活跃技能;description 写成“Use when someone asks to [action], [action], or [action].”。
限制与注意:优化前必须先读现有技能,不得对未读技能提改动;构建新技能前先检查是否已有类似技能可扩展;高级模式(子代理执行、钩子、权限)见 reference.md。