AI代理技能编写最佳实践Skill skill-authoring

本技能提供AI代理技能(包括Claude Code技能和MCP工具)的设计和开发最佳实践指南,涵盖元数据设计、描述工程、内容结构、触发优化、渐进披露、MCP工具设计、测试验证及维护分发等方面,旨在帮助用户高效创建、优化和测试技能。关键词:AI代理,技能编写,MCP工具,Claude Code,最佳实践,触发优化,渐进披露,测试验证。

AI智能体 0 次安装 0 次浏览 更新于 3/18/2026

name: skill-authoring description: Claude Code技能、MCP工具和AI代理能力的设计和开发最佳实践。适用于创建技能、编写SKILL.md文件、设计工具描述或优化触发。触发于“创建技能”、“技能模板”、“编写技能说明”、SKILL.md、metadata.json、渐进披露、触发优化、MCP工具设计或技能测试。不涉及具体框架或语言(使用专用技能)。

AI代理技能最佳实践

AI代理技能的设计和开发指南,包括Claude Code技能和MCP工具。包含46条规则,分为8个类别,按影响力优先排序,指导技能创建、评审和优化。

何时应用

  • 创建新的Claude Code技能或MCP工具
  • 编写或评审SKILL.md元数据和描述
  • 优化技能触发可靠性
  • 为渐进披露构建内容结构
  • 测试技能激活和行为
  • 为代理工作流设计工具接口

核心原则

1. 描述驱动激活。 Claude根据用户意图匹配描述来选择技能。包括具体能力、触发关键词和负面案例。描述模糊的技能激活不一致或从不激活。

2. 前置关键指令。 Claude可能截断长内容。将非协商规则放在前100行。将重要约束放在末尾会被忽略。

3. 渐进披露节省令牌。 仅在需要时加载详细内容。2000行的技能每次激活都浪费上下文。结构为:SKILL.md(概述)→ references/(细节)→ scripts/(执行)。

4. 测试激活,而不仅仅是执行。 技能工作完美但从不触发则提供零价值。在部署前使用真实用户短语、同义词和边缘案例测试。

5. 每个域一个技能。 重叠的技能创建激活冲突。按清晰边界(语言、框架、工作流阶段)拆分,使用不同的触发关键词。

规则类别

优先级 类别 影响力 前缀
1 技能元数据设计 关键 meta-
2 描述工程 关键 desc-
3 内容结构 struct-
4 触发优化 trigger-
5 渐进披露 中高 prog-
6 MCP工具设计 mcp-
7 测试和验证 test-
8 维护和分发 低中 maint-

快速参考

1. 技能元数据设计(关键)

  • meta-name-format - 使用小写连字符分隔的技能名称
  • meta-name-hyphen-boundaries - 名称从不以连字符开头或结尾
  • meta-name-no-consecutive-hyphens - 避免名称中连续连字符
  • meta-name-uniqueness - 确保技能名称全局唯一
  • meta-required-frontmatter - 包含所有必需的前置元数据字段
  • meta-allowed-frontmatter-fields - 仅使用允许的前置元数据字段
  • meta-frontmatter-yaml-syntax - 使用有效的YAML前置元数据语法
  • meta-name-length - 保持技能名称少于64个字符
  • meta-directory-match - 技能名称与目录名称匹配

2. 描述工程(关键)

  • desc-specific-capabilities - 在描述中命名具体能力
  • desc-trigger-keywords - 在描述中包含用户触发关键词
  • desc-third-person-voice - 以第三人称编写描述
  • desc-length-optimization - 优化描述长度以便发现
  • desc-avoid-vague-terms - 在描述中避免模糊术语
  • desc-differentiate-similar-skills - 用不同触发区分相似技能
  • desc-include-negative-cases - 包含负面案例以提高精确度

3. 内容结构(高)

  • struct-header-hierarchy - 使用一致的标题层次结构
  • struct-instructions-first - 将关键指令放在内容早期
  • struct-imperative-instructions - 以祈使语气编写指令
  • struct-code-blocks-with-language - 在代码块中指定语言
  • struct-line-limit - 保持SKILL.md少于500行
  • struct-single-responsibility - 每个域一个技能

4. 触发优化(高)

  • trigger-slash-command-aliases - 在描述中包含斜杠命令别名
  • trigger-file-type-patterns - 在描述中包含文件类型模式
  • trigger-workflow-stages - 在描述中引用工作流阶段
  • trigger-error-patterns - 在调试技能中包含错误模式
  • trigger-synonym-coverage - 覆盖同义词和替代措辞

5. 渐进披露(中高)

  • prog-three-level-disclosure - 实现三级渐进披露
  • prog-one-level-deep-links - 将参考链接限制为一级深度
  • prog-scripts-execute-not-read - 执行脚本而不是读取代码
  • prog-lazy-load-examples - 延迟加载示例和参考材料
  • prog-mutual-exclusion - 分离互斥上下文

6. MCP工具设计(中)

  • mcp-tool-naming - 使用清晰的动作-对象工具名称
  • mcp-parameter-descriptions - 记录所有工具参数
  • mcp-error-messages - 返回可操作的错误消息
  • mcp-tool-scope - 设计单一目的工具
  • mcp-allowed-tools - 使用允许工具进行安全约束
  • mcp-idempotent-operations - 设计幂等工具操作

7. 测试和验证(中)

  • test-trigger-phrases - 使用真实用户短语测试技能激活
  • test-edge-cases - 使用边缘案例输入测试技能
  • test-negative-scenarios - 测试技能在无关请求上不触发
  • test-instruction-clarity - 使用新鲜上下文测试指令清晰度

8. 维护和分发(低中)

  • maint-semantic-versioning - 使用语义版本控制进行技能发布
  • maint-changelog - 为技能更新维护变更日志
  • maint-plugin-packaging - 将技能打包为插件用于分发
  • maint-audit-security - 从外部源安装前审计技能安全性

创建规则

复制 assets/templates/_template.md 并遵循前置元数据模式:

---
title: 规则标题在此
impact: 关键|高|中高|中|低中|低
impactDescription: 量化影响力(例如,“2-10倍改进”)
tags: 前缀, 技术, 相关概念
---

参考文件使用模式:references/{prefix}-{slug}.md

参考资料