AI Skill 完全指南:让任何智能体听话干活的通用方法论

📅 2026/7/29 8:52:29
AI Skill 完全指南:让任何智能体听话干活的通用方法论
AI Skill 完全指南让任何智能体听话干活的通用方法论什么是 AI SkillAI Skill 可以理解为给 AI 智能体写的操作说明书——你提前把某个任务的执行流程、边界条件、输出格式写好AI 读到之后就能按你的要求干活不用每次都从头说一遍。不管是 Claude Code 的/commands、Cursor 的 Rules、Copilot 的 Instructions还是你自己用 LangChain 搭的 Agent底层逻辑完全一样Skill 角色定义 执行流程 边界约束 输出格式掌握了这个公式你就能让任何 AI 工具按你的套路出牌。一、为什么你需要 Skill场景 1每次都重新说一遍你帮我写个单元测试 AI好的请问测哪个函数用什么框架覆盖率要求多少 你测 UserService.java 的 createUser 方法用 JUnit 5 Mockito覆盖率 90% 以上 AI好的生成测试代码第二天你又要写测试同样的对话再来一遍。烦不烦场景 2用了 Skill 之后你/write-test UserService.java createUser AI直接按你的标准生成不需要废话Skill 的本质就是把高频重复的沟通成本降为零。不止是省时间没有 Skill有 Skill每次都要描述背景和标准规则写一次永久生效不同人的 AI 输出不一致团队统一规范输出标准化AI 容易漏掉关键步骤流程固化不会遗漏新人不知道让 AI 干什么Skill 列表就是能力菜单AI 自由发挥容易跑偏边界约束让 AI 不越界二、AI Skill 的通用结构不管用哪个平台、哪个框架一个完整的 Skill 都包含四个部分1. 角色定义Role告诉 AI “你是谁”这决定了它用什么知识体系来回答问题。你是一个资深 Java 后端开发熟悉 Spring Boot、微服务架构和 TDD 开发流程。写角色定义的技巧不要写你是 AI 助手——等于没说要给具体身份高级前端 / DBA / SRE / 安全审计员可以指定经验年限和擅长领域2. 执行流程Workflow把任务拆成步骤每一步都具体可执行。## 执行步骤 1. 读取目标文件理解现有代码逻辑 2. 识别所有 public 方法的输入输出 3. 对每个方法生成 - 正常路径测试至少 2 个用例 - 边界值测试null、空字符串、极限值 - 异常路径测试外部依赖抛异常时的行为 4. 确保所有测试通过后输出覆盖率报告写流程的三条铁律每一步都是一句话能说清的动作有明确的输入和输出考虑异常情况如果文件不存在怎么办如果测试失败怎么办3. 边界约束Constraints这是最容易被忽略但最重要的部分。告诉 AI什么不能做。## 约束 - 不要修改被测代码本身 - 不要引入项目未使用的测试框架 - 不要生成依赖外部网络或数据库的测试 - 测试方法命名必须遵循 given_when_then 格式 - 单个测试方法不超过 20 行约束写得越具体AI 输出越可靠。不要写代码要规范这种废话——写变量命名用小驼峰类名用大驼峰禁止使用拼音。4. 输出格式Output Format明确 AI 该输出什么、以什么结构输出。## 输出格式 - 生成的文件路径src/test/java/{原包名路径}/{原类名}Test.java - 使用 // given, // when, // then 注释分段 - 类顶部用 Javadoc 说明覆盖了哪些方法三、Skill 的四个等级不是所有 Skill 都一样复杂按能力可以分为四级L1提示词模板最简单的 Skill本质就是一段可复用的 Prompt。你是前端代码审查员。审查以下代码的 1. 性能隐患不必要的重渲染、内存泄漏 2. 可访问性问题aria 标签、键盘导航 3. 安全风险XSS、敏感信息暴露 给出具体的修改建议和修改后的代码。适用场景日常高频操作不需要复杂流程。L2带参数的 Skill支持传入变量一个 Skill 适配多种场景。审查文件$ARGUMENTS 审查维度性能、可访问性、安全 严重级别阻断 严重 建议 优化 按严重级别分组输出每组给出具体修改方案。适用场景同一类任务的不同实例不同文件、不同标准。L3多步骤流程 Skill一个 Skill 里串起多个操作形成完整工作流。1. 拉取最新的代码变更 → git diff 2. 分析变更范围 → 判断影响哪些模块 3. 生成测试用例 → 只测变更涉及的路径 4. 运行测试 → 确保变更不引入回归 5. 输出测试报告 → 通过/失败的用例列表适用场景复杂的日常操作比如部署、发版、回归测试。L4工具编排 SkillSkill 里调用外部工具和 API实现端到端自动化。1. 读取本地 Markdown 文件 2. 提取标题、标签、摘要 3. 转换成平台要求的格式 4. 调用平台 API 发布 5. 发布成功返回链接失败则记录日志并重试适用场景跨系统操作比如一键发布到多个平台、自动生成周报。四、各平台的 Skill 实现对比不同 AI 工具对 Skill 的叫法不同但万变不离其宗平台叫法实现方式特点Claude CodeSlash Commands.md文件放在.claude/commands/Markdown 格式原生支持参数Claude APISystem Prompt ToolsAPI 调用时注入最灵活完全自定义CursorRules.cursor/rules/目录支持 glob 匹配按文件类型生效GitHub CopilotCustom Instructions设置面板中的文本全局生效简单直接ClineCustom Prompts.clinerules文件项目级Markdown 格式WindsurfRules.windsurfrules项目级约束LangChainTool / AgentPython/JS 代码最强大完全编程化Coze / 扣子Plugin / Workflow可视化编排或 JS国内平台低代码共同点无论哪种实现核心都是在 Prompt 前面插入一段自定义指令。五、手把手写一个通用 Skill以Code Review为例写一个跨平台通用的 Skill。第一步梳理你的日常工作把你平时做 Code Review 时脑子里想的检查项全写下来我会看什么 - 方法有没有超过 50 行 - 有没有嵌套超过 3 层的 if/for - SQL 拼接有没有注入风险 - 异常是不是被吞了 - 关键业务逻辑有没有注释 - 变量名能不能一眼看懂第二步按四部分结构组织# Code Review ## 角色 你是资深代码审查专家擅长发现隐含的 Bug、性能问题和安全漏洞。 ## 流程 1. 通读代码理解业务意图 2. 逐一检查以下维度 - 正确性逻辑是否有 Bug - 安全性SQL 注入、XSS、敏感信息泄漏 - 性能不必要的循环、重复查询、大对象创建 - 可维护性命名、函数长度、嵌套深度 3. 每个问题标记严重级别阻断 / 严重 / 建议 4. 对每个问题给出修复方案和修改后的代码 ## 约束 - 不要对代码风格吹毛求疵格式化交给 Prettier - 不要建议引入项目未使用的新依赖 - 如果是测试文件不检查缺少日志之类的问题 - 不确定的问题标注建议人工确认不要装懂 ## 输出格式 ### 审查总结 - 变更文件数x - 发现问题数阻断 x / 严重 x / 建议 x ### 问题详情 #### [阻断] 问题标题 - 位置文件名:行号 - 描述为什么这是个问题 - 修复方案具体代码对比Before/After第三步放到对应平台Claude Code保存为 .claude/commands/code-review.md 使用/code-reviewCursor保存为 .cursor/rules/code-review.md 触发每次打开文件自动生效配置 glob 匹配通用API 调用system_promptopen(code-review.md).read()# 将 system_prompt 作为 System Prompt 传给任何 LLM API六、Skill 编写的五大原则原则一具体打败抽象❌ 代码要写得好 ✅ 函数不超过 30 行参数不超过 4 个嵌套不超过 3 层AI 对模糊指令的理解比你想象的差。把每一个形容词变成一个可测量的标准。原则二限制打败自由❌ 你觉得怎么好就怎么来 ✅ 只修改 src/service 目录下的文件其他目录不要动AI 的创造力在需要精确的场景中是个劣势。缩小 AI 的决策范围它反而更可靠。原则三样本打败描述有时候给一个例子比写一百字描述更有效输出格式参考 ### [严重级别] 问题简述 **位置**src/auth/LoginService.java:42 **风险**密码明文记录到日志 **修复**使用 maskSensitiveData() 脱敏后再记录原则四流程打败自由如果一件事有标准操作步骤写进 Skill部署检查清单 □ 单元测试全部通过 □ 集成测试全部通过 □ 数据库迁移脚本已就绪 □ 环境变量已配置 □ 回滚方案已确认原则五迭代打败完美Skill 不是一次写完就完事的。每次发现 AI 输出不理想问自己我可以在 Skill 里加什么约束来避免这个问题然后把这次的经验更新到 Skill 里。Skill 是活的文档随你的使用经验成长。七、常见问题QSkill 和 System Prompt 有什么区别本质上是同一个东西。Skill 是 System Prompt 的模块化封装。System Prompt 是你给 AI 的最顶层指令Skill 则是把不同的场景拆成不同的模块按需加载。Q一个 Skill 应该多长没有硬性规定但建议控制在 50-100 行。太短覆盖不了边界情况太长 AI 容易忽略后半部分的内容。如果你的 Skill 超过了 200 行考虑拆成多个。Q多个 Skill 之间会冲突吗可能会。比如一个 Skill 说尽量简洁另一个说详细解释AI 就懵了。解决方案设定 Skill 优先级在 Skill 中加入上下文感知只在特定条件下激活避免矛盾的全局指令Q我写的 Skill 效果不好怎么办调试 Skill 的三个步骤看输出反推 PromptAI 为什么会这么回答我的 Skill 里哪个地方让它产生了误解加约束在输出处堵住不满意的方向给例子与其描述你想要什么不如给一个你想要的输出范例总结要点一句话Skill 的本质角色 流程 约束 输出核心价值把重复沟通成本降为零四个等级模板 → 参数 → 流程 → 编排五大原则具体、限制、样本、流程、迭代跨平台所有 AI 工具底层逻辑一致换个名字而已掌握了这套方法论不管以后出现什么新 AI 工具你都能第一时间让它听话干活。这就是 AI Skill 的通用心法。你在用哪个 AI 编程工具有没有写过自己的 Skill欢迎在评论区交流。