研究合成Skill research-synthesis

这个技能用于在创建任何新工件(如AI代理、技能、工作流、钩子、模式、模板)之前,收集和合成研究,确保设计决策基于当前最佳实践、实现模式和现有代码库约定。它涉及执行研究查询、分析外部来源和代码库模式,并输出结构化研究报告以支持基于证据的决策。关键词:研究合成、AI代理、技能创建、最佳实践、设计决策、风险评估、代码库分析。

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

name: 研究合成 description: 在创建任何工件之前,研究最佳实践并将其合成为设计决策。在任何创建者技能之前调用,以确保基于研究的决策。 version: 1.0.0 model: sonnet invoked_by: both user_invocable: true tools:

  • mcp__Exa__web_search_exa
  • mcp__Exa__get_code_context_exa
  • WebSearch
  • WebFetch
  • Read
  • Write
  • Glob
  • Grep skills:
  • task-management-protocol triggers:
  • ‘研究用于’
  • ‘最佳实践用于’
  • ‘在创建之前’ best_practices:
  • 在合成之前执行至少3个研究查询
  • 咨询至少3个外部来源
  • 记录现有代码库模式
  • 为每个设计决策提供理由
  • 包括风险缓解措施的风险评估 error_handling: graceful streaming: supported output_location: .claude/context/artifacts/research-reports/ verified: false lastVerifiedAt: 2026-02-19T05:29:09.098Z

研究合成技能

目的

在创建任何新工件(代理、技能、工作流、钩子、模式、模板)之前收集和合成研究。此技能确保所有设计决策基于:

  1. 当前最佳实践来自权威来源
  2. 实现模式来自真实世界示例
  3. 现有代码库约定以保持一致性
  4. 风险评估以预期问题

何时调用此技能

在以下情况之前强制调用:

  • agent-creator - 研究代理模式和领域专业知识
  • skill-creator - 研究技能实现最佳实践
  • workflow-creator - 研究编排模式
  • hook-creator - 研究验证和安全模式
  • schema-creator - 研究JSON Schema模式
  • template-creator - 研究代码脚手架模式

推荐用于:

  • 新功能设计
  • 架构决策
  • 技术选择
  • 集成规划

铁律

没有研究先于工件创建

如果您未执行研究协议,则无法进行工件创建。

查询限制(铁律)

每个研究任务最多3-5个查询

超出此限制导致:

  • 内存耗尽(报告 >10 KB → 上下文窗口溢出)
  • 信息过载(无法有效处理10+个来源)
  • 收益递减(质量 > 数量)

按复杂性分配的查询预算:

  • 简单研究(事实检查、版本检查):3个查询
  • 中等研究(功能比较、实现模式):4个查询
  • 复杂研究(全面最佳实践、生态系统概述):5个查询

绝不:

  • 在单个研究会话中执行 >5 个查询
  • 执行无限制的“研究一切”查询
  • 在一个会话中组合多个不相关的研究主题

多阶段模式: 如果研究需要 >5 个查询,拆分为多个研究会话(参见下面的“多阶段研究模式”)。


报告大小限制(铁律)

每个研究报告最大10 KB

为什么10 KB?

  • 上下文效率(10 KB = ~2500个词 = 可在一个上下文窗口中阅读)
  • 强制优先级排序(仅包括关键发现)
  • 防止“百科全书综合症”(复制整个文章)

格式要求:

  • 使用项目符号(紧凑)
  • 引用URL而不是复制内容
  • 每个来源用 <3 个句子总结发现
  • 移除噪音,保留本质

当接近10 KB时:

  1. 停止添加新来源
  2. 合并重复项
  3. 移除冗余细节
  4. 专注于独特见解

对于复杂主题:

  • 拆分为2-3个迷你报告(每个 <10 KB)
  • 每个专注于一个方面
  • 在摘要中链接报告

强制研究协议

步骤1:定义研究范围和计划查询

在执行查询之前,定义范围并计划查询预算:

## 研究范围定义

**工件类型**:[代理 | 技能 | 工作流 | 钩子 | 模式 | 模板]
**领域/能力**:[此工件将做什么]

**复杂性评估**:

- [ ] 简单(事实检查、版本检查)→ 3个查询
- [ ] 中等(功能比较、实现模式)→ 4个查询
- [ ] 复杂(全面最佳实践、生态系统概述)→ 5个查询

**计划查询**(在执行之前列出3-5个):

1. [查询1:最佳实践 - 具体问题]
2. [查询2:实现模式 - 具体问题]
3. [查询3:框架/AI特定 - 具体问题]
4. [可选查询4:安全/性能 - 具体问题]
5. [可选查询5:权衡/替代方案 - 具体问题]

**关键问题**:

1. 此领域的最佳实践是什么?
2. 存在哪些实现模式?
3. 应使用哪些工具/框架?
4. 常见陷阱是什么?

**要检查的现有模式**:

- .claude/[类别]/ - 类似工件
- .claude/templates/ - 相关模板
- .claude/schemas/ - 验证模式

研究前清单:

[ ] 复杂性评估(计划3、4或5个查询)
[ ] 在执行之前计划查询(防止范围蔓延)
[ ] 每个查询具体(不是“研究关于X的一切”)
[ ] 设定报告大小目标(<10 KB)
[ ] 考虑多阶段拆分(如果需要 >5 个查询)

步骤2:执行研究查询(最多3-5个)

执行恰好3-5个研究查询(不多于)。更多查询 = 内存耗尽和上下文丢失。

查询1:最佳实践

// 使用Exa(首选技术内容)
mcp__Exa__web_search_exa({
  query: '{工件类型} {领域} 最佳实践 2024 2025',
  numResults: 5,
});

// 或使用WebSearch(后备)
WebSearch({
  query: '{领域} 最佳实践 实现指南',
});

查询2:实现模式

// 代码聚焦搜索
mcp__Exa__get_code_context_exa({
  query: '{领域} 实现模式 示例 github',
  tokensNum: 5000,
});

// 或从权威来源获取
WebFetch({
  url: 'https://[权威来源]/docs/{主题}',
});

查询3:Claude/AI代理特定

// 框架特定模式
mcp__Exa__web_search_exa({
  query: 'Claude AI代理 {领域} {工件类型} 模式',
  numResults: 5,
});

// 或搜索MCP模式
WebSearch({
  query: '模型上下文协议 {领域} 集成',
});

查询效率提示

  • 偏好2-3个高质量查询而不是10个通用查询
  • 在一个查询中组合相关问题(“X最佳实践 + 实现模式”)
  • 使用WebFetch获取已知权威来源(更快、更聚焦)
  • 当有足够独特见解时停止(质量 > 数量)

步骤3:分析现有代码库

在合成之前,检查代码库中的现有模式:

// 查找类似工件
Glob({ pattern: '.claude/{工件类别}/**/*.md' });

// 搜索相关实现
Grep({ pattern: '{相关关键词}', path: '.claude/' });

// 读取现有示例
Read({ file_path: '.claude/{类别}/{类似工件}' });

要提取什么

  1. 命名约定 - 类似工件如何命名?
  2. 结构模式 - 它们包括哪些部分?
  3. 工具使用 - 类似工件使用什么工具?
  4. 技能依赖 - 通常分配哪些技能?
  5. 输出位置 - 工件在哪里保存输出?

步骤4:合成发现

输出结构化研究报告,遵循.claude/templates/reports/research-report-template.md

文件位置.claude/context/artifacts/research-reports/{主题}-研究-{YYYY-MM-DD}.md

必需部分

  1. 来源头<!-- 代理: {类型} | 任务: #{id} | 会话: {日期} -->
  2. 执行摘要:2-3句关键发现概述
  3. 研究方法:查询表 + 来源咨询表
  4. 详细发现:按主题分类,包含关键见解、证据、相关性
  5. 学术参考:arXiv论文、学术来源(即使为空也包括)
  6. 实践建议:P0/P1/P2优先级排序
  7. 风险评估:风险表,包含影响/概率/缓解
  8. 实现路线图:下一步和时间线

对于工件创建研究,还包括

现有代码库模式

找到的类似工件

  • {路径_1} - {它做什么,使用什么模式}
  • {路径_2} - {它做什么,使用什么模式}

识别的约定

  • 命名:{约定}
  • 结构:{约定}
  • 工具:{约定}
  • 输出:{约定}

识别的最佳实践

# 实践 来源 置信度 理由
1 {实践} {来源URL或名称} {为什么适用}
2 {实践} {来源URL或名称} {为什么适用}
3 {实践} {来源URL或名称} {为什么适用}

置信度级别

  • :多个权威来源同意
  • :单个权威来源或多个次要来源
  • :有限证据,需要验证

设计决策

决策 理由 来源 考虑的替代方案
{决策_1} {为什么} {来源} {还考虑了其他什么}
{决策_2} {为什么} {来源} {还考虑了其他什么}
{决策_3} {为什么} {来源} {还考虑了其他什么}

推荐实现

文件位置.claude/{类别}/{名称}/

使用的模板.claude/templates/{模板}.md

调用的技能

  • {技能_1} - {为什么}
  • {技能_2} - {为什么}

需要的钩子

  • {钩子类型} - {目的}

依赖

  • 现有工件:{列表}
  • 外部工具:{列表}

质量门清单

在继续到工件创建之前,验证:

  • [ ] 执行了至少3个研究查询
  • [ ] 咨询了至少3个外部来源
  • [ ] 记录了现有代码库模式
  • [ ] 所有设计决策都有理由和来源
  • [ ] 完成了风险评估和缓解措施
  • [ ] 记录了推荐实现路径
  • [ ] 报告保存为正确命名:{主题}-研究-{YYYY-MM-DD}.md
  • [ ] 包括了来源头

下一步

  1. 调用创建者技能Skill({ skill: "{创建者技能}" })
  2. 使用此报告作为输入:参考上述决策
  3. 对照清单验证:在标记完成之前

与创建者技能的集成

创建前工作流

[代理] 用户请求:“创建Slack通知技能”

[代理] 步骤1:先研究
Skill({ skill: "研究合成" })

[研究合成] 执行研究协议...
- 查询1:“Slack API最佳实践 2025”
- 查询2:“Slack MCP服务器集成模式”
- 查询3:“Claude AI Slack通知技能”
- 分析:.claude/skills/*/SKILL.md中的模式
- 输出:保存研究报告

[代理] 步骤2:基于研究创建
Skill({ skill: "技能创建者" })

[技能创建者] 使用研究报告...
- 遵循报告中的设计决策
- 应用识别的最佳实践
- 缓解记录的风险

交接格式

完成研究后,提供此交接给创建者技能:

## 研究交接给:{创建者技能}

**报告位置**:`.claude/context/artifacts/research-reports/{工件名称}-研究.md`

**摘要**:
{2-3句关键发现总结}

**关键决策**:

1. {决策_1}
2. {决策_2}
3. {决策_3}

**继续创建**:是/否
**置信度级别**:高/中/低

多阶段研究模式(用于复杂主题)

当研究复杂性超过5个查询时,拆分为阶段:

阶段1:范围和定义(2个查询)

  • 主题/技术是什么?
  • 关键概念是什么?

阶段2:实现(2个查询)

  • 专家如何实现这个?
  • 常见模式和最佳实践?

阶段3:比较和权衡(1个查询)

  • 这与替代方案相比如何?
  • 权衡和陷阱?

好处

  • 每个阶段独立(较少上下文泄漏)
  • 可以在单独技能调用中完成
  • 更清晰的组织
  • 更容易重用发现

示例

会话1:研究“Rust async/await”(阶段1:2个查询)
会话2:研究“Tokio模式”(阶段2:2个查询)
会话3:研究“async-trait vs 手动实现”(阶段3:1个查询)

内存感知分块示例

好 - 聚焦查询 + 分块报告

查询:“Rust async/await最佳实践 2026”
报告结构:
- 定义(100词)
- 模式1:Tokio(200词)
- 模式2:async-trait(150词)
- 陷阱(100词)
- 链接(10个来源)
---总计:~550词,~3 KB

坏 - 无限制研究

查询:“关于Rust生态系统的一切 2026”
报告:50个来源,15 KB(被上下文限制截断)
---没有上下文丢失无法使用发现

好 - 阶段化方法

阶段1报告:Rust async基础(3 KB)
阶段2报告:Tokio实现模式(4 KB)
阶段3报告:性能比较(2 KB)
---总计:9 KB跨3个会话(全部可用)

坏 - 单个大型报告

单个报告:全面Rust async指南(25 KB)
---截断为10 KB,缺失关键部分

质量门

研究在以下所有项目通过时完成:

[ ] 执行了3-5个研究查询(不超过5个)
[ ] 咨询了至少3个外部来源(URL或权威名称)
[ ] 记录了现有代码库模式(至少2个类似工件)
[ ] 所有设计决策都有理由和来源
[ ] 完成了风险评估(至少3个风险及缓解措施)
[ ] 记录了推荐实现路径
[ ] 报告保存到输出位置
[ ] 报告大小 <10 KB(保存前检查文件大小)

阻止:如果任何项目失败,研究未完成。不要继续到工件创建。

输出位置

  • 研究报告:.claude/context/artifacts/research-reports/
  • 临时笔记:.claude/context/tmp/research/
  • 内存更新:.claude/context/memory/learnings.md

报告命名约定(强制)

格式{主题}-研究-{YYYY-MM-DD}.md

  • 主题:烤肉串大小写描述性名称
  • 总是在日期前包括-研究-后缀
  • 日期:ISO 8601带连字符(YYYY-MM-DD)

示例

  • oauth2-安全-研究-2026-02-09.md
  • json-schema-模式-研究-2026-02-09.md
  • slack-集成-最佳实践-研究-2026-02-09.md
  • agent-keywords-core.md(缺少日期)
  • oauth2-auth-2026-02-09.md(缺少-研究-后缀)
  • bmad-method-analysis-20260128-104050.md(错误日期格式)

模板:对所有研究报告使用.claude/templates/reports/research-report-template.md

示例

示例1:创建Slack技能前的研究

// 步骤1:定义范围
// 工件:技能,领域:Slack通知

// 步骤2:执行查询
mcp__Exa__web_search_exa({
  query: 'Slack API webhook最佳实践 2025',
  numResults: 5,
});

mcp__Exa__get_code_context_exa({
  query: 'Slack通知系统实现 Node.js',
  tokensNum: 5000,
});

WebSearch({
  query: 'Claude AI MCP Slack服务器集成',
});

// 步骤3:分析代码库
Glob({ pattern: '.claude/skills/*notification*/SKILL.md' });
Glob({ pattern: '.claude/skills/*slack*/SKILL.md' });
Read({ file_path: '.claude/skills/skill-creator/SKILL.md' });

// 步骤4:合成并输出报告
Write({
  file_path: '.claude/context/artifacts/research-reports/slack-notifications-research.md',
  content: '## 研究报告:Slack通知技能...',
});

示例2:创建数据库代理前的研究

// 数据库-架构师代理的研究查询
mcp__Exa__web_search_exa({
  query: '数据库设计架构最佳实践 2025',
  numResults: 5,
});

WebFetch({
  url: 'https://docs.postgresql.org/current/ddl.html',
});

mcp__Exa__web_search_exa({
  query: 'AI代理数据库模式设计自动化',
  numResults: 5,
});

// 分析现有代理
Glob({ pattern: '.claude/agents/domain/*data*.md' });
Read({ file_path: '.claude/agents/core/developer.md' });

常见研究领域

领域 关键查询 权威来源
API集成 “REST API设计”,“GraphQL模式” OpenAPI规范,GraphQL规范
安全 “OWASP前10”,“安全最佳实践” OWASP,NIST
数据库 “数据库设计模式”,“SQL优化” PostgreSQL文档,MySQL文档
前端 “React模式”,“可访问性WCAG” React文档,W3C
DevOps “CI/CD最佳实践”,“IaC模式” GitLab文档,Terraform文档
测试 “TDD模式”,“测试自动化” 测试库,Jest文档
AI/ML “LLM集成模式”,“提示工程” Anthropic文档,OpenAI文档

文件放置和标准

输出位置规则

此技能输出到:.claude/context/artifacts/research-reports/

强制引用

  • 文件放置:见.claude/docs/FILE_PLACEMENT_RULES.md
  • 开发者工作流:见.claude/docs/DEVELOPER_WORKFLOW.md
  • 工件命名:见.claude/docs/ARTIFACT_NAMING.md

执行

文件放置由file-placement-guard.cjs钩子强制执行。 无效放置将在生产模式下被阻止。


内存协议(强制)

开始前:

cat .claude/context/memory/learnings.md

检查:

  • 类似领域的先前研究
  • 已知模式和约定
  • 记录的决策

完成后:

  • 新研究发现 → 追加到.claude/context/memory/learnings.md
  • 重要决策 → 追加到.claude/context/memory/decisions.md
  • 发现的问题 → 追加到.claude/context/memory/issues.md

假设中断:您的上下文可能重置。如果不在内存中,则未发生。

工作流集成

此技能与创建者生态系统集成:

创建者 研究焦点
agent-creator 领域专业知识,代理模式,技能依赖
skill-creator 工具集成,MCP模式,验证钩子
workflow-creator 编排模式,多代理协调
hook-creator 验证模式,安全检查,安全门
schema-creator JSON Schema模式,验证策略
template-creator 代码脚手架,项目结构模式

完整生命周期.claude/workflows/core/skill-lifecycle.md


研究合成的铁律

1. 没有研究先于创建
   - 跳过研究 = 无依据决策 = 错误和返工
   - 研究始终先于创建

2. 每个研究会话不超过5个查询
   - 执行恰好3-5个查询(不多于)
   - >5个查询 = 内存耗尽,上下文丢失
   - 如果需要更多 → 拆分为多阶段研究

3. 研究报告不超过10 KB
   - 每个报告最大10 KB(~2500词)
   - 超出限制 → 上下文窗口溢出
   - 使用项目符号,引用URL,总结发现

4. 没有代码库分析的合成
   - 外部研究必要但不足
   - 必须检查现有模式以保持一致性

5. 没有理由的决策
   - 每个决策都需要来源
   - “我认为”不是来源。链接到证据。

6. 没有质量门的继续
   - 所有清单项目必须通过(包括查询/大小限制)
   - 阻止:研究未完成 = 无创建