以下是关于Skills 基本结构的学习笔记,解析一个完整的 Skill 是如何构建和组织的:
Skills 基本结构学习笔记
一、Skill 的核心组成要素
一个标准的 Skill 通常包含以下5 个核心部分:
Skill 结构 ├── 1. 元数据 (Metadata) ├── 2. 触发机制 (Triggers) ├── 3. 知识体系 (Knowledge Base) ├── 4. 工作流/逻辑 (Workflow/Logic) └── 5. 工具集成 (Tool Integration)二、详细结构解析
1. 元数据 (Metadata)
定义 Skill 的基本身份信息,用于系统识别和管理。
| 字段 | 说明 | 示例 |
|---|---|---|
| Name | Skill 的唯一标识符 | codefree-code-audit |
| Description | 简短的功能描述 | “提供结构化的代码安全审计思维框架” |
| Version | 版本号,用于更新管理 | 1.0.0 |
| Author | 创建者信息 | “CodeFree Team” |
| Tags | 分类标签,便于检索 | ["security", "audit", "ctf"] |
2. 触发机制 (Triggers)
定义 Skill 在什么情况下被激活。这是连接用户意图与 Skill 的桥梁。
- 关键词触发 (Keyword Matching):
- 检测用户输入中是否包含特定词汇。
- 例:包含 “代码审计”、“漏洞挖掘”、“CTF” 时激活。
- 意图识别 (Intent Classification):
- 基于 NLP 模型判断用户意图类别。
- 例:用户问 “如何修复这个 SQL 注入?” → 识别为
security-audit意图。
- 上下文感知 (Context Awareness):
- 根据当前对话上下文或文件类型自动激活。
- 例:检测到用户正在上传
.docx文件 → 自动激活docxSkill。
3. 知识体系 (Knowledge Base)
Skill 的“大脑”,包含该领域的专业知识、方法论和规则。
- 领域知识 (Domain Knowledge):
- 该领域的核心概念、术语、原理。
- 例:OWASP Top 10、常见漏洞原理、CTF 解题思路。
- 方法论 (Methodology):
- 结构化的解决问题的步骤和框架。
- 例:Source-Sink 分析模型、红队攻击链规划、代码审计流程。
- 最佳实践 (Best Practices):
- 行业公认的标准操作规范。
- 例:安全编码规范、文档编写标准、测试用例设计原则。
- 约束条件 (Constraints):
- 明确什么不能做,或必须遵守的规则。
- 例:禁止生成恶意代码、必须遵循 GDPR 合规要求。
4. 工作流/逻辑 (Workflow/Logic)
定义执行任务的具体步骤和逻辑判断,是 Skill 的“行动指南”。
- 输入处理 (Input Processing):
- 解析用户请求,提取关键参数。
- 例:从 “审计 D:/app/main.js 中的登录模块” 中提取文件路径和模块名。
- 执行步骤 (Execution Steps):
- 按顺序执行的操作流程。
- 例:
- 读取文件内容。
- 识别敏感函数调用。
- 分析数据流向 (Source -> Sink)。
- 生成审计报告。
- 条件分支 (Conditional Logic):
- 根据中间结果决定下一步操作。
- 例:如果检测到 SQL 注入风险 → 提供修复建议;否则 → 提示无风险。
- 输出格式化 (Output Formatting):
- 将结果整理成用户友好的格式(表格、代码块、Markdown 等)。
5. 工具集成 (Tool Integration)
Skill 调用外部能力来执行实际操作,是 Skill 的“手脚”。
- 内置工具:
- Skill 自带的功能函数。
- 例:文本分析、正则匹配、代码解析。
- 外部 API/工具:
- 调用 LSP、文件系统、网络请求等。
- 例:
lsp:查找定义、诊断错误。codebase:语义搜索代码。read/write:文件操作。mcp-builder:构建 MCP 服务器。
- 工具调用逻辑:
- 决定何时调用哪个工具,如何处理返回结果。
三、Skill 结构示例:codefree-code-audit
name:codefree-code-auditdescription:提供结构化的代码安全审计思维框架和实践指导version:1.0.0triggers:keywords:["代码审计","漏洞挖掘","CTF","红队","Source-Sink"]intents:["security_analysis","vulnerability_assessment"]knowledge_base:methodology:-"Source-Sink 分析模型"-"攻击链规划 (Kill Chain)"-"OWASP Top 10 分类"best_practices:-"优先使用只读工具收集上下文"-"禁止生成恶意利用代码"-"提供修复建议而非仅指出问题"workflow:steps:-name:"识别目标"action:"解析用户输入,确定审计范围"-name:"收集上下文"action:"调用 lsp/documentSymbol 或 codebase 搜索"-name:"分析漏洞"action:"应用 Source-Sink 模型,识别危险函数调用"-name:"生成报告"action:"输出漏洞位置、原理、修复方案"tools:-name:"lsp"usage:"查找定义、诊断错误"-name:"codebase"usage:"语义搜索相关代码"-name:"read"usage:"读取文件内容"四、Skill 的生命周期
- 定义 (Definition):编写 Skill 的元数据、知识和逻辑。
- 注册 (Registration):将 Skill 注册到系统中,配置触发条件。
- 激活 (Activation):用户触发条件满足,系统加载 Skill。
- 执行 (Execution):按照工作流调用工具,处理任务。
- 反馈 (Feedback):根据用户反馈优化知识和逻辑。
五、设计 Skill 的关键原则
| 原则 | 说明 |
|---|---|
| 单一职责 | 每个 Skill 只专注一个领域,避免功能臃肿。 |
| 明确触发 | 触发条件要精准,避免误激活或漏激活。 |
| 结构化知识 | 知识要条理清晰,便于 AI 理解和调用。 |
| 可组合性 | 多个 Skill 应能协同工作,处理复杂任务。 |
| 可维护性 | 结构清晰,便于后续更新和扩展。 |
六、总结
Skills 的基本结构是一个从“感知”到“行动”的完整闭环:
- 感知:通过触发机制识别用户需求。
- 思考:利用知识体系进行推理和决策。
- 行动:通过工作流调用工具执行任务。
- 反馈:输出结果并持续优化。
理解这一结构,有助于我们更好地使用现有 Skills,也能指导我们创建自定义 Skills,将 AI 的能力扩展到更多专业领域。