【当用户提出功能开发、API设计、数据库设计等需求时自动启用】系统化需求分析工作流 - 理解需求、探索代码库、澄清问题、使用ultrathink深度分析并在编码前展示实施计划(全程使用中文)
/plugin marketplace add FlameMida/feat-dev/plugin install spec-dev@SPEC-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
本技能强制执行系统化的需求分析工作流,确保在实施前彻底理解需求。
在以下情况下使用本技能:
当你提出以下类型的需求时,Claude 应该会自动使用此技能:
显式调用技能:
/RA
在你的需求描述中加入提示语:
对于复杂功能开发,建议在需求开头明确说明:
使用需求分析skill:我需要实现一个文件上传和管理系统...
根据需求复杂度决定是否使用 ultrathink:
仔细阅读用户的需求并识别:
何时在此阶段使用 ultrathink:
满足以下任一条件时,应在需求理解阶段使用 ultrathink:
如果是简单的 CRUD 功能或单一模块的简单需求,可以跳过此阶段的 ultrathink,直接进入阶段 2。
首要任务: 查找并阅读项目根目录下的 CLAUDE.md 文件,理解项目规范和约定。
适用场景:
使用方法:使用单个 Task 工具的 subagent_type=Explore:
Use Task tool with:
- subagent_type: Explore
- thoroughness: medium or very thorough (depending on complexity)
- prompt: "Find existing implementations of [related feature] including entities, services, and controllers"
适用场景(满足以下任一条件时使用):
重要技术要求:
⚠️ 必须在单个 message 中发起所有并行任务。不能发送一个message调用Task,等待结果,再发送另一个message调用另一个Task。必须在同一个response中同时调用多个Task工具。
并行探索策略:
策略 1:按架构层次分解
同时启动 3 个 Explore agent(在一个 message 中):
Agent 1 - 数据层探索:
- subagent_type: Explore
- prompt: "探索 [需求相关] 的数据模型、实体定义、数据库表结构和迁移文件"
Agent 2 - 服务层探索:
- subagent_type: Explore
- prompt: "探索 [需求相关] 的业务逻辑、服务类、验证规则和错误处理"
Agent 3 - API层探索:
- subagent_type: Explore
- prompt: "探索 [需求相关] 的控制器、路由定义、请求/响应结构和中间件"
策略 2:按功能模块分解
同时启动 2-3 个 Explore agent(在一个 message 中):
Agent 1 - 核心功能模块:
- subagent_type: Explore
- prompt: "探索 [核心模块名] 的完整实现,包括所有层次"
Agent 2 - 关联功能模块:
- subagent_type: Explore
- prompt: "探索与 [核心模块] 集成的 [关联模块] 的实现方式"
Agent 3 - 通用工具和模式:
- subagent_type: Explore
- prompt: "探索项目中可复用的工具类、辅助函数和通用模式"
策略 3:按关注点分解
同时启动 2-4 个 Explore agent(在一个 message 中):
Agent 1 - 现有实现:
- prompt: "查找 [功能] 的现有实现和类似功能"
Agent 2 - 错误处理模式:
- prompt: "探索项目中的错误处理、异常捕获和日志记录模式"
Agent 3 - 测试用例:
- prompt: "查找相关功能的测试文件和测试模式"
Agent 4 - 配置和常量:
- prompt: "探索项目的配置文件、环境变量和常量定义"
并行数量建议:
结果汇总:
查找内容清单:
执行条件(满足以下任一条件时执行此阶段):
何时跳过此阶段:
目的: 在充分了解内部代码库后(阶段 2),查询外部资源以获取最新的技术方案、代码示例和库文档,为后续的深度分析(阶段 4)提供充分的信息支持。
何时使用:
工具使用策略(带降级机制):
优先使用 exa MCP(如果可用):
降级到 WebSearch(如果 exa 不可用):
降级失败处理:如果所有搜索工具都不可用,基于已有的代码库知识和经验继续工作流,并在实施计划中注明需要用户提供额外参考资源。
搜索示例:
注意事项:
何时使用:
工具使用策略(带降级机制):
优先使用 context7 MCP(如果可用):
步骤 1: 使用 mcp__context7__resolve-library-id 获取库 ID
libraryName: 库的名称(如 "express", "react", "next.js")步骤 2: 使用 mcp__context7__get-library-docs 获取文档
context7CompatibleLibraryID: 从步骤1获取的库 IDtopic: 关注的具体主题(如 "routing", "middleware", "hooks")mode: "code" (获取 API 和代码示例) 或 "info" (获取概念说明)降级到 WebSearch + Grep + Read(如果 context7 不可用):
步骤 1: 使用 WebSearch 搜索官方文档
步骤 2: 使用 Grep 搜索项目中已有的使用示例
步骤 3: 使用 Read 阅读找到的相关文件
降级失败处理:如果所有工具都不可用,在实施计划中注明需要用户提供库的官方文档链接或确认使用的版本和 API。
使用示例:
场景:需要使用 Express.js 实现文件上传功能
使用 context7:
1. resolve-library-id: libraryName="express"
2. get-library-docs: topic="file upload middleware", mode="code"
降级方案(如果 context7 不可用):
1. WebSearch: "Express.js multer file upload official documentation 2025"
2. Grep: pattern="multer|express-fileupload" 查找项目中的使用
3. Read: 阅读相关文件了解现有实现模式
注意事项:
重要: 对任何不清楚、模糊、有歧义的地方,必须主动使用 AskUserQuestion 工具 向用户提问。不要假设或猜测用户的意图。
使用 AskUserQuestion 工具 来澄清:
示例:
AskUserQuestion with:
- questions: [
{
question: "批量导入是否应同时支持 Excel 和 CSV 格式?",
header: "文件格式",
options: [
{label: "同时支持 Excel 和 CSV", description: "..."},
{label: "仅支持 Excel", description: "..."}
],
multiSelect: false
}
]
必须使用 ultrathink: 在此阶段必须使用 mcp__sequential-thinking__sequentialthinking 工具 (ultrathink) 进行深度思考和分析,不要跳过这一步骤。
使用 mcp__sequential-thinking__sequentialthinking 工具 来:
思考过程示例:
完成分析后,向用户展示:
数据库设计
API 端点:
POST /api/resource/create - 创建新资源
GET /api/resource/list - 列出资源(分页)
PUT /api/resource/update - 更新资源
DELETE /api/resource/delete - 删除资源
Service 层设计:
重要: 在用户确认计划之前,不要开始实施。
询问: "这个实施计划看起来如何?我可以开始实施了吗?"
前提: 必须获得用户对实施计划的明确确认后才能开始。
执行原则:
常见场景处理:
完成标准:
目的: 在实施完成后,系统化地审查代码质量,确保代码符合标准并且没有明显的问题。
何时执行: 在完成所有实施步骤(阶段 6)后,自动触发代码审查流程。
适用场景:
使用方法:使用单个 feat-dev:code-reviewer agent 进行全面审查。
Use Task tool with:
- subagent_type: feat-dev:code-reviewer
- prompt: "审查刚刚实施的 [功能名称] 代码,检查以下方面:
1. Bug 和逻辑错误(功能正确性)
2. 代码风格和质量(命名、注释、可读性)
3. 简洁性/DRY/优雅性(避免重复、恰当抽象)
4. 项目规范遵循(符合 CLAUDE.md)
5. 项目约定和抽象(使用已有工具和模式)
重点审查以下文件:
- [列出修改的文件路径]
"
适用场景(满足以下任一条件时使用):
重要技术要求:
⚠️ 必须在单个 message 中发起所有并行审查任务。在同一个response中同时调用多个Task工具,每个聚焦于不同的审查维度。
并行审查策略:
同时启动 5 个并行审查任务(在一个 message 中),每个聚焦于特定维度:
Reviewer 1 - 功能正确性审查:
- subagent_type: feat-dev:code-reviewer
- prompt: "聚焦于功能正确性,审查 [文件列表]:
- 检查逻辑错误和潜在 Bug
- 验证边缘情况处理
- 检查错误处理是否完善
- 验证数据验证是否充分
只关注功能正确性,提供详细分析。"
Reviewer 2 - 代码风格和质量审查:
- subagent_type: feat-dev:code-reviewer
- prompt: "聚焦于代码风格和质量,审查 [文件列表]:
- 检查命名是否清晰一致
- 验证注释是否适当
- 评估代码可读性
- 检查函数和类的职责是否单一
只关注代码风格和质量,提供详细建议。"
Reviewer 3 - 简洁性/DRY/优雅性审查:
- subagent_type: feat-dev:code-reviewer
- prompt: "聚焦于简洁性/DRY/优雅性,审查 [文件列表]:
- 识别重复代码(DRY 原则)
- 评估抽象是否恰当
- 检查是否有不必要的复杂性
- 评估代码是否优雅简洁
只关注简洁性和优雅性,提供重构建议。"
Reviewer 4 - 项目规范遵循审查:
- subagent_type: feat-dev:code-reviewer
- prompt: "聚焦于项目规范遵循,审查 [文件列表]:
- 验证是否符合 CLAUDE.md 编码规范
- 检查文件结构是否符合项目约定
- 验证 API 设计是否符合项目标准
- 检查数据库设计是否符合命名约定
只关注规范遵循,列出所有违规项。"
Reviewer 5 - 项目约定和抽象审查:
- subagent_type: feat-dev:code-reviewer
- prompt: "聚焦于项目约定和抽象,审查 [文件列表]:
- 检查是否使用了项目已有工具和模式
- 验证是否遵循项目架构模式
- 检查是否复用了现有抽象和组件
- 评估新增抽象是否合理且必要
只关注约定和抽象使用,提供改进建议。"
结果汇总和报告:
无论使用哪种审查模式,以下是需要关注的5个核心维度:
功能正确性 (Functional Correctness)
代码风格和质量 (Code Style & Quality)
简洁性/DRY/优雅性 (Simplicity/DRY/Elegance)
项目规范遵循 (Project Standards Compliance)
项目约定和抽象 (Project Conventions & Abstractions)
关键要求:
⚠️ 在实施任何审查修改之前,必须使用 AskUserQuestion 工具征求用户确认。不得自动修复问题。
展示审查报告:
首先向用户展示完整的审查结果(使用7.5的输出格式),然后使用 AskUserQuestion 工具询问用户:
Use AskUserQuestion tool with:
questions: [
{
question: "代码审查已完成。发现了 [X个高严重性] / [Y个中严重性] / [Z个低严重性] 问题。您希望如何处理这些问题?",
header: "审查处理",
options: [
{
label: "立即修复所有高严重性问题(推荐)",
description: "自动修复所有高严重性的Bug、安全漏洞和严重规范违反,其他问题保留待处理"
},
{
label: "修复所有发现的问题",
description: "修复所有严重性级别的问题,包括代码风格和优化建议"
},
{
label: "仅修复我指定的问题",
description: "我会在接下来的消息中告诉你需要修复哪些具体问题"
},
{
label: "暂时不修复,继续其他工作",
description: "保留审查报告,稍后再处理这些问题"
}
],
multiSelect: false
}
]
根据用户选择执行:
修复后的验证:
向用户展示审查结果:
## 🔍 代码审查结果
### 审查模式
- 使用模式: [单一审查 / 并行深度审查]
- 审查文件数: [数量]
- 审查时间: [时间]
### 审查概要
- **高严重性问题**: [数量] 个 🔴
- **中严重性问题**: [数量] 个 🟡
- **低严重性问题**: [数量] 个 🟢
- **整体评价**: [优秀 / 良好 / 需要改进 / 存在严重问题]
### 详细审查结果
#### 1. 功能正确性 ✅/⚠️/❌
[来自 Reviewer 1 的详细发现]
- 发现的问题(如有)
- 具体位置和描述
- 严重性评级
#### 2. 代码风格和质量 ✅/⚠️/❌
[来自 Reviewer 2 的详细发现]
- 发现的问题(如有)
- 具体位置和描述
- 改进建议
#### 3. 简洁性/DRY/优雅性 ✅/⚠️/❌
[来自 Reviewer 3 的详细发现]
- 重复代码位置(如有)
- 过度/不足抽象(如有)
- 重构建议
#### 4. 项目规范遵循 ✅/⚠️/❌
[来自 Reviewer 4 的详细发现]
- 规范违反项(如有)
- 不符合 CLAUDE.md 的地方
- 需要调整的部分
#### 5. 项目约定和抽象 ✅/⚠️/❌
[来自 Reviewer 5 的详细发现]
- 未使用已有工具/模式的地方(如有)
- 不合理的新抽象(如有)
- 改进建议
### 高严重性问题清单(需优先修复)
1. [问题1 - 文件:行号 - 描述]
2. [问题2 - 文件:行号 - 描述]
...
### 中严重性问题清单
1. [问题1]
2. [问题2]
...
### 低严重性问题和优化建议
1. [建议1]
2. [建议2]
...
重要提醒:
用户: "我需要一个用户活动跟踪功能来记录用户操作,支持多租户隔离和实时分析"
使用本技能的助手:
用户: "给用户表添加一个手机号字段"
使用本技能的助手:
用户: "使用 Socket.io 实现实时通知功能"
使用本技能的助手:
## 🎯 需求理解
- [我理解的要点列表]
## 🔍 代码库探索结果
- **CLAUDE.md 规范**: [项目规范的关键要点 - 命名约定、架构模式、编码规范等]
- **发现**: [相关的现有代码]
- **模式**: [要遵循的约定]
## 🌐 外部资源研究(如适用)
### 网页搜索结果
- **搜索主题**: [搜索的具体问题或技术]
- **关键发现**: [从搜索结果中提取的有价值信息]
- **代码示例**: [相关的代码片段或实现方案]
- **最佳实践**: [行业标准做法或推荐模式]
### 库文档查询结果
- **查询的库**: [库名称和版本]
- **相关 API**: [查询到的 API 和方法]
- **官方示例**: [官方文档中的代码示例]
- **注意事项**: [使用限制、已知问题等]
## ❓ 需要澄清的问题
[AskUserQuestion 工具结果 或 "无疑问 - 需求很清楚"]
## 🧠 深度分析 (使用 ultrathink)
[Sequential Thinking 顺序思考结果 - 技术设计决策,必须体现如何遵循 CLAUDE.md 规范]
## 📋 实施计划
### 数据库设计
[实体定义 - 遵循 CLAUDE.md 中的命名和字段规范]
### API 端点
[带方法和路径的端点列表 - 遵循 CLAUDE.md 中的 API 设计规范]
### Service 层
[服务方法签名和逻辑流程 - 遵循 CLAUDE.md 中的架构模式]
### 实施步骤
[编号的步骤列表 - 确保每步符合项目规范]
### 风险和注意事项
[需要注意的潜在问题]
### 规范遵循检查
- [ ] 数据库设计符合 CLAUDE.md 规范
- [ ] API 端点符合 CLAUDE.md 规范
- [ ] 代码结构符合 CLAUDE.md 规范
- [ ] 命名约定符合 CLAUDE.md 规范
## ✅ 准备好继续了吗?
这个计划看起来如何?我可以开始实施了吗?
---
## 🔍 代码审查结果(实施完成后)
### 审查概要
- 审查文件数: [数量]
- 发现问题: [严重/一般/建议]
- 整体评价: [优秀/良好/需要改进]
### 审查详情
- **功能正确性**: ✅/⚠️/❌ [具体评价]
- **代码风格和质量**: ✅/⚠️/❌ [具体评价]
- **简洁性/DRY/优雅性**: ✅/⚠️/❌ [具体评价]
- **项目规范遵循**: ✅/⚠️/❌ [具体评价]
- **项目约定和抽象**: ✅/⚠️/❌ [具体评价]
### 需要修复的问题
[如有问题,列出并说明严重性]
### 优化建议
[可选的改进建议]
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.