深化计划技能Skill deepen-plan

深化计划技能是一个用于通过并行研究代理增强现有计划文件的工具,为每个主要部分添加深度、最佳实践和实现细节。它适用于软件开发、项目计划、技术架构等领域,帮助生成详细、可实施的生产就绪计划。关键词:计划深化、研究代理、并行处理、最佳实践、实现细节、代码示例、性能优化、安全考虑、边缘情况处理。

架构设计 0 次安装 0 次浏览 更新于 3/9/2026

名称: 深化计划 描述: 通过为每个部分使用并行研究代理来增强计划,添加深度、最佳实践和实现细节

参数

[计划文件路径]

深化计划 - 增强模式

简介

注意:当前年份是 2026。 在搜索最新文档和最佳实践时使用此信息。

此命令接收一个现有计划(来自 /workflows:plan)并使用并行研究代理增强每个部分。每个主要元素都有其专用的研究子代理,以查找:

  • 最佳实践和行业模式
  • 性能优化
  • UI/UX 改进(如果适用)
  • 质量增强和边缘情况
  • 实际实现示例

结果是一个深度基础、生产就绪的计划,包含具体实现细节。

计划文件

<plan_path> #$参数 </plan_path>

如果上述计划路径为空:

  1. 检查近期计划:ls -la docs/plans/
  2. 询问用户:“您想深化哪个计划?请提供路径(例如 docs/plans/2026-01-15-feat-my-feature-plan.md)。”

在获得有效计划文件路径之前,请勿继续。

主要任务

1. 解析和分析计划结构

<thinking> 首先,读取并解析计划,识别每个可以通过研究增强的主要部分。 </thinking>

读取计划文件并提取:

  • [ ] 概述/问题陈述
  • [ ] 提议解决方案部分
  • [ ] 技术方法/架构
  • [ ] 实现阶段/步骤
  • [ ] 代码示例和文件引用
  • [ ] 验收标准
  • [ ] 任何提到的 UI/UX 组件
  • [ ] 提到的技术/框架(Rails、React、Python、TypeScript 等)
  • [ ] 领域区域(数据模型、API、UI、安全、性能等)

创建部分清单:

部分 1: [标题] - [研究内容的简要描述]
部分 2: [标题] - [研究内容的简要描述]
...

2. 发现和应用可用技能

<thinking> 动态发现所有可用技能,并将其与计划部分匹配。不要假设技能存在 - 在运行时发现它们。 </thinking>

步骤 1: 从所有来源发现所有可用技能

# 1. 项目本地技能(最高优先级 - 项目特定)
ls .claude/skills/

# 2. 用户的全局技能(~/.claude/)
ls ~/.claude/skills/

# 3. compound-engineering 插件技能
ls ~/.claude/plugins/cache/*/compound-engineering/*/skills/

# 4. 所有其他已安装插件 - 检查每个插件的技能
find ~/.claude/plugins/cache -type d -name "skills" 2>/dev/null

# 5. 同时检查 installed_plugins.json 获取所有插件位置
cat ~/.claude/plugins/installed_plugins.json

重要: 检查每个来源。不要假设 compound-engineering 是唯一插件。使用任何相关已安装插件的技能。

步骤 2: 对于每个发现的技能,读取其 SKILL.md 以了解功能

# 对于每个找到的技能目录,读取其文档
cat [技能路径]/SKILL.md

步骤 3: 将技能与计划内容匹配

对于每个发现的技能:

  • 读取其 SKILL.md 描述
  • 检查是否有任何计划部分与技能领域匹配
  • 如果有匹配,则生成一个子代理以应用该技能的知识

步骤 4: 为每个匹配的技能生成一个子代理

关键:对于每个匹配的技能,生成一个单独的子代理,并指示其使用该技能。

对于每个匹配的技能:

任务 通用目的: "您有 [技能名称] 技能,位于 [技能路径]。

您的任务: 将此技能应用于计划。

1. 读取技能: cat [技能路径]/SKILL.md
2. 严格按照技能的指示操作
3. 将技能应用于此内容:

[相关计划部分或完整计划]

4. 返回技能的全部输出

技能告诉您该做什么 - 请遵循。完全执行技能。"

并行生成所有技能子代理:

  • 每个匹配技能一个子代理
  • 每个子代理读取并使用其分配的技能
  • 全部同时运行
  • 10、20、30 个技能子代理都可以

每个子代理:

  1. 读取其技能的 SKILL.md
  2. 遵循技能的工作流程/指示
  3. 将技能应用于计划
  4. 返回技能产生的任何内容(代码、推荐、模式、审查等)

示例生成:

任务 通用目的: "使用位于 ~/.claude/plugins/.../dhh-rails-style 的 dhh-rails-style 技能。读取 SKILL.md 并将其应用于:[计划的 Rails 部分]"

任务 通用目的: "使用位于 ~/.claude/plugins/.../frontend-design 的 frontend-design 技能。读取 SKILL.md 并将其应用于:[计划的 UI 部分]"

任务 通用目的: "使用位于 ~/.claude/plugins/.../agent-native-architecture 的 agent-native-architecture 技能。读取 SKILL.md 并将其应用于:[计划的代理/工具部分]"

任务 通用目的: "使用位于 ~/.claude/skills/security-patterns 的 security-patterns 技能。读取 SKILL.md 并将其应用于:[完整计划]"

技能子代理数量无限制。为每个可能相关的技能生成一个。

3. 发现和应用学习/解决方案

<thinking> 检查来自 /workflows:compound 的文档学习。这些是以 markdown 文件存储的已解决问题。为每个学习生成一个子代理以检查其相关性。 </thinking>

学习位置 - 检查这些确切文件夹:

docs/solutions/           <-- 主要: 项目级别学习(由 /workflows:compound 创建)
├── performance-issues/
│   └── *.md
├── debugging-patterns/
│   └── *.md
├── configuration-fixes/
│   └── *.md
├── integration-issues/
│   └── *.md
├── deployment-issues/
│   └── *.md
└── [其他类别]/
    └── *.md

步骤 1: 查找所有学习 markdown 文件

运行这些命令以获取每个学习文件:

# 主要位置 - 项目学习
find docs/solutions -name "*.md" -type f 2>/dev/null

# 如果 docs/solutions 不存在,检查备用位置:
find .claude/docs -name "*.md" -type f 2>/dev/null
find ~/.claude/docs -name "*.md" -type f 2>/dev/null

步骤 2: 读取每个学习的前置元数据以过滤

每个学习文件都有包含元数据的 YAML 前置元数据。读取每个文件的前约 20 行以获取:

---
标题: "简报的 N+1 查询修复"
类别: performance-issues
标签: [activerecord, n-plus-one, includes, eager-loading]
模块: Briefs
症状: "页面加载慢,日志中多个查询"
根本原因: "关联上缺少 includes"
---

对于每个 .md 文件,快速扫描其前置元数据:

# 读取每个学习的前 20 行(前置元数据 + 摘要)
head -20 docs/solutions/**/*.md

步骤 3: 过滤 - 仅为可能相关的学习生成子代理

将每个学习的前置元数据与计划比较:

  • 标签: - 是否有任何标签与计划中的技术/模式匹配?
  • 类别: - 此类别是否相关?(例如,如果计划仅 UI,则跳过部署问题)
  • 模块: - 计划是否涉及此模块?
  • 症状: / 根本原因: - 此问题是否可能发生在计划中?

跳过明显不适用的学习:

  • 计划仅前端 → 跳过 database-migrations/ 学习
  • 计划是 Python → 跳过 rails-specific/ 学习
  • 计划无身份验证 → 跳过 authentication-issues/ 学习

为可能适用的学习生成子代理:

  • 任何标签与计划技术重叠
  • 与计划领域相同类别
  • 类似模式或关注点

步骤 4: 为过滤后的学习生成子代理

对于每个通过过滤的学习:

任务 通用目的: "
学习文件: [.md 文件的完整路径]

1. 完全读取此学习文件
2. 此学习记录了一个先前已解决的问题

检查此学习是否适用于此计划:

---
[完整计划内容]
---

如果相关:
- 具体解释其如何适用
- 引用关键见解或解决方案
- 建议在何处/如何纳入

如果深度分析后不相关:
- 说 '不适用: [原因]'"

示例过滤:

# 找到 15 个学习文件,计划关于 "Rails API 缓存"

# 生成(可能相关):
docs/solutions/performance-issues/n-plus-one-queries.md      # 标签: [activerecord] ✓
docs/solutions/performance-issues/redis-cache-stampede.md    # 标签: [缓存, redis] ✓
docs/solutions/configuration-fixes/redis-connection-pool.md  # 标签: [redis] ✓

# 跳过(明显不适用):
docs/solutions/deployment-issues/heroku-memory-quota.md      # 不关于缓存
docs/solutions/frontend-issues/stimulus-race-condition.md    # 计划是 API,非前端
docs/solutions/authentication-issues/jwt-expiry.md           # 计划无身份验证

为所有过滤后的学习并行生成子代理。

这些学习是机构知识 - 应用它们可防止重复过去的错误。

4. 启动每部分研究代理

<thinking> 对于计划中的每个主要部分,生成专门的研究代理以研究改进。使用 Explore 代理类型进行开放式研究。 </thinking>

对于每个识别的部分,启动并行研究:

任务 Explore: "研究最佳实践、模式和实际示例对于:[部分主题]。
查找:
- 行业标准和惯例
- 性能考虑
- 常见陷阱及如何避免
- 文档和教程
返回具体、可操作的推荐。"

同时使用 Context7 MCP 获取框架文档:

对于计划中提到的任何技术/框架,查询 Context7:

mcp__plugin_compound-engineering_context7__resolve-library-id: 查找 [框架] 的库 ID
mcp__plugin_compound-engineering_context7__query-docs: 查询特定模式的文档

使用 WebSearch 获取当前最佳实践:

搜索关于计划中主题的近期(2024-2026)文章、博客文章和文档。

5. 发现并运行所有审查代理

<thinking> 动态发现每个可用代理并运行它们全部对抗计划。不要过滤,不要跳过,不要假设相关性。40+ 并行代理可以。使用所有可用内容。 </thinking>

步骤 1: 从所有来源发现所有可用代理

# 1. 项目本地代理(最高优先级 - 项目特定)
find .claude/agents -name "*.md" 2>/dev/null

# 2. 用户的全局代理(~/.claude/)
find ~/.claude/agents -name "*.md" 2>/dev/null

# 3. compound-engineering 插件代理(所有子目录)
find ~/.claude/plugins/cache/*/compound-engineering/*/agents -name "*.md" 2>/dev/null

# 4. 所有其他已安装插件 - 检查每个插件的代理
find ~/.claude/plugins/cache -path "*/agents/*.md" 2>/dev/null

# 5. 检查 installed_plugins.json 以查找所有插件位置
cat ~/.claude/plugins/installed_plugins.json

# 6. 对于本地插件(isLocal: true),检查其源目录
# 解析 installed_plugins.json 并查找本地插件路径

重要: 检查每个来源。包括来自以下来源的代理:

  • 项目 .claude/agents/
  • 用户的 ~/.claude/agents/
  • compound-engineering 插件(但跳过 workflow/ 代理 - 仅使用 review/、research/、design/、docs/)
  • 所有其他已安装插件(agent-sdk-dev、frontend-design 等)
  • 任何本地插件

对于 compound-engineering 插件具体:

  • 使用:agents/review/*(所有审查者)
  • 使用:agents/research/*(所有研究者)
  • 使用:agents/design/*(设计代理)
  • 使用:agents/docs/*(文档代理)
  • 跳过:agents/workflow/*(这些是工作流程协调器,非审查者)

步骤 2: 对于每个发现的代理,读取其描述

读取每个代理文件的前几行以了解其审查/分析内容。

步骤 3: 并行启动所有代理

对于每个发现的代理,并行启动一个任务:

任务 [代理名称]: "使用您的专业知识审查此计划。应用所有您的检查和模式。计划内容:[完整计划内容]"

关键规则:

  • 不要通过“相关性”过滤代理 - 运行它们全部
  • 不要因为“可能不适用”而跳过代理 - 让它们决定
  • 在单个消息中启动所有代理,使用多个任务工具调用
  • 20、30、40 个并行代理可以 - 使用所有内容
  • 每个代理可能捕获其他代理遗漏的内容
  • 目标是最大覆盖,而非效率

步骤 4: 同时发现并运行研究代理

研究代理(如 best-practices-researcherframework-docs-researchergit-history-analyzerrepo-research-analyst)也应针对相关计划部分运行。

6. 等待所有代理并综合所有内容

<thinking> 等待所有并行代理完成 - 技能、研究代理、审查代理、所有内容。然后将所有发现综合成一个全面增强。 </thinking>

收集所有来源的输出:

  1. 基于技能的子代理 - 每个技能的全部输出(代码示例、模式、推荐)
  2. 学习/解决方案子代理 - 来自 /workflows:compound 的相关文档学习
  3. 研究代理 - 最佳实践、文档、实际示例
  4. 审查代理 - 来自每个审查者的所有反馈(架构、安全、性能、简洁性等)
  5. Context7 查询 - 框架文档和模式
  6. 网络搜索 - 当前最佳实践和文章

对于每个代理的发现,提取:

  • [ ] 具体推荐(可操作项)
  • [ ] 代码模式和示例(复制粘贴就绪)
  • [ ] 要避免的反模式(警告)
  • [ ] 性能考虑(指标、基准)
  • [ ] 安全考虑(漏洞、缓解措施)
  • [ ] 发现的边缘情况(处理策略)
  • [ ] 文档链接(参考)
  • [ ] 技能特定模式(来自匹配技能)
  • [ ] 相关学习(适用的过去解决方案 - 防止重复错误)

去重和优先排序:

  • 合并来自多个代理的类似推荐
  • 按影响优先排序(高价值改进优先)
  • 标记冲突建议供人工审查
  • 按计划部分分组

7. 增强计划部分

<thinking> 将研究发现合并回计划,在不更改原始结构的情况下添加深度。 </thinking>

每个部分的增强格式:

## [原始部分标题]

[原始内容保留]

### 研究见解

**最佳实践:**
- [具体推荐 1]
- [具体推荐 2]

**性能考虑:**
- [优化机会]
- [目标基准或指标]

**实现细节:**
```[语言]
// 来自研究的具体代码示例

边缘情况:

  • [边缘情况 1 及如何处理]
  • [边缘情况 2 及如何处理]

参考:

  • [文档 URL 1]
  • [文档 URL 2]

### 8. 添加增强摘要

在计划顶部添加摘要部分:

```markdown
## 增强摘要

**深化于:** [日期]
**增强部分:** [数量]
**使用的研究代理:** [列表]

### 关键改进
1. [主要改进 1]
2. [主要改进 2]
3. [主要改进 3]

### 发现的新考虑
- [重要发现 1]
- [重要发现 2]

9. 更新计划文件

写入增强计划:

  • 保留原始文件名
  • 如果用户偏好新文件,则添加 -deepened 后缀
  • 更新任何时间戳或元数据

输出格式

原地更新计划文件(或如果用户请求单独文件,则在 -plan 后追加 -deepened,例如 2026-01-15-feat-auth-plan-deepened.md)。

质量检查

在最终确定前:

  • [ ] 所有原始内容保留
  • [ ] 研究见解清晰标记和归属
  • [ ] 代码示例语法正确
  • [ ] 链接有效且相关
  • [ ] 部分之间无矛盾
  • [ ] 增强摘要准确反映更改

增强后选项

写入增强计划后,使用 AskUserQuestion 工具 呈现这些选项:

问题: “计划已深化于 [plan_path]。您接下来想做什么?”

选项:

  1. 查看差异 - 显示添加/更改的内容
  2. 运行 /plan_review - 获取审查者对增强计划的反馈
  3. 开始 /workflows:work - 开始实施此增强计划
  4. 进一步深化 - 在特定部分运行另一轮研究
  5. 恢复 - 恢复原始计划(如果备份存在)

基于选择:

  • 查看差异 → 运行 git diff [plan_path] 或显示前后对比
  • /plan_review → 使用计划文件路径调用 /plan_review 命令
  • /workflows:work → 使用计划文件路径调用 /workflows:work 命令
  • 进一步深化 → 询问哪些部分需要更多研究,然后重新运行那些代理
  • 恢复 → 从 git 或备份恢复

示例增强

之前(来自 /workflows:plan):

## 技术方法

使用 React Query 进行数据获取,并带乐观更新。

之后(来自 /workflows:deepen-plan):

## 技术方法

使用 React Query 进行数据获取,并带乐观更新。

### 研究见解

**最佳实践:**
- 基于数据新鲜度要求配置 `staleTime` 和 `cacheTime`
- 使用 `queryKey` 工厂以实现一致的缓存失效
- 在依赖查询的组件周围实现错误边界

**性能考虑:**
- 为稳定数据启用 `refetchOnWindowFocus: false` 以减少不必要请求
- 使用 `select` 选项在查询级别转换和记忆数据
- 考虑 `placeholderData` 以实现即时感知加载

**实现细节:**
```typescript
// 推荐查询配置
const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      staleTime: 5 * 60 * 1000, // 5 分钟
      retry: 2,
      refetchOnWindowFocus: false,
    },
  },
});

边缘情况:

  • 使用 cancelQueries 在组件卸载时处理竞态条件
  • 为瞬态网络失败实现重试逻辑
  • 考虑使用 persistQueryClient 的离线支持

参考:


切勿编码!仅研究和增强计划。