architecture-design
系统架构设计方法论,包含架构模式选择、系统分层、目录结构设计
技术调研方法论,通过系统性调研和对比分析,为技术选型提供数据支持
$ npx -y skills add echoVic/boss-skill --skill tech-research --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/tech-researchContext preview
The summary Claude sees to decide when to auto-load this skill.
技术调研方法论,通过系统性调研和对比分析,为技术选型提供数据支持
name: architect/tech-research description: 技术调研方法论,通过系统性调研和对比分析,为技术选型提供数据支持 version: 1.0.0 agent: architect type: methodology user-invocable: false agent-invocable: true dependencies: - shared/tech-stack-detection triggers: - 开始架构设计前 - 需要技术选型时 - 评估新技术方案时
在进行架构设计和技术选型前,必须先进行系统性的技术调研,了解:
基于PRD的技术需求,明确需要调研的技术领域:
**调研背景模板**:
### 1.1 调研背景 **需求概述**:[基于 PRD 的技术需求总结] **关键技术挑战**: - [挑战 1]:[具体描述] - [挑战 2]:[具体描述] - [挑战 3]:[具体描述] **调研目标**: - [ ] 前端框架选型 - [ ] 后端框架选型 - [ ] 数据库选型 - [ ] 缓存方案选型 - [ ] 部署方案选型
**通用搜索模式**:
"{技术领域} + best practices + 2026"
"{框架名} vs {框架名} comparison 2026"
"{技术领域} + benchmark + 2026"
"best {技术领域} tools 2026"**具体示例**:
**前端框架调研**:
"React vs Vue vs Angular comparison 2026" "Next.js vs Remix vs Astro 2026" "best React UI libraries 2026"
**后端框架调研**:
"Node.js frameworks comparison 2026" "Express vs Fastify vs Hono benchmark" "Python web frameworks 2026"
**数据库调研**:
"PostgreSQL vs MySQL vs MongoDB 2026"
"database for {use case} 2026"
"SQL vs NoSQL when to use"**ORM调研**:
"Prisma vs TypeORM vs Drizzle comparison"
"best ORM for {language} 2026"1. **包含年份**:确保获取最新信息 2. **对比搜索**:使用 "vs" 或 "comparison" 获取对比分析 3. **性能搜索**:使用 "benchmark" 或 "performance" 获取性能数据 4. **实践搜索**:使用 "best practices" 获取最佳实践 5. **问题搜索**:使用 "pros and cons" 或 "disadvantages" 了解缺点
对于重要的技术方案,使用 `WebFetch` 深入分析官方文档和技术文章:
**官方文档**:
WebFetch("https://nextjs.org/docs", "总结 Next.js 的核心特性、适用场景和最新版本的主要变化")
WebFetch("https://www.prisma.io/docs", "提取 Prisma 的核心功能、支持的数据库和性能特点")**技术对比文章**:
WebFetch("[对比文章URL]", "提取各方案的优缺点对比、性能数据和推荐场景")**GitHub仓库**:
WebFetch("https://github.com/{org}/{repo}", "提取 Star 数、最近更新时间、维护状态和主要贡献者")对每个技术方案,从以下维度进行评估:
| 维度 | 评估内容 | |------|----------| | **功能完整性** | 是否满足项目需求 | | **性能** | 响应时间、吞吐量、资源消耗 | | **生态系统** | 社区活跃度、插件丰富度、文档质量 | | **学习曲线** | 团队学习成本、上手难度 | | **成熟度** | 版本稳定性、生产案例、维护状态 | | **扩展性** | 是否易于扩展和定制 | | **兼容性** | 与其他技术的集成难度 | | **成本** | 开发成本、运维成本、授权成本 |
**前端框架对比**:
| 方案 | 优点 | 缺点 | 适用场景 | 推荐度 | |------|------|------|----------|--------| | Next.js | SSR/SSG、SEO友好、全栈能力 | 学习曲线陡、打包体积大 | 内容型网站、SEO要求高 | ⭐⭐⭐⭐⭐ | | Vite + React | 开发体验好、构建快 | 需要自己配置路由等 | SPA、快速原型 | ⭐⭐⭐⭐ | | Remix | 数据加载优雅、Web标准 | 生态较新、案例较少 | 数据密集型应用 | ⭐⭐⭐ |
**后端框架对比**:
| 方案 | 优点 | 缺点 | 适用场景 | 推荐度 | |------|------|------|----------|--------| | Express | 成熟、生态丰富、灵活 | 性能一般、缺少约定 | 通用后端、快速开发 | ⭐⭐⭐⭐ | | Fastify | 性能高、插件系统好 | 生态较Express小 | 性能要求高的API | ⭐⭐⭐⭐ | | Hono | 极致性能、边缘计算 | 生态较新 | Serverless、边缘函数 | ⭐⭐⭐ |
**数据库对比**:
| 方案 | 类型 | 优点 | 缺点 | 适用场景 | |------|------|------|------|----------| | PostgreSQL | 关系型 | 功能强大、扩展性好、JSON支持 | 运维复杂度高 | 复杂查询、事务、JSONB | | MySQL | 关系型 | 简单、普及、性能好 | 功能较PostgreSQL少 | 通用场景、读多写少 | | MongoDB | 文档型 | 灵活、易扩展、开发快 | 事务支持弱、数据一致性 | 非结构化数据、快速迭代 | | SQLite | 嵌入式 | 零配置、单文件、轻量 | 并发限制、功能有限 | 小型应用、原型、嵌入式 |
对于可能复用的开源项目,进行系统性评估:
| 开源项目 | 功能 | Star 数 | 最近更新 | 维护状态 | 是否采用 | 理由 | |----------|------|---------|----------|----------|----------|------| | [项目名] | [功能描述] | [数量] | [日期] | 活跃/停滞 | 是/否 | [理由] |
**评估标准**:
基于调研结果,给出明确的技术选型建议:
| 层级 | 推荐方案 | 选择理由 | 备选方案 | |------|----------|----------|----------| | 前端 | [方案] | [理由] | [备选] | | 后端 | [方案] | [理由] | [备选] | | 数据库 | [方案] | [理由] | [备选] | | 缓存 | [方案] | [理由] | [备选] | | 部署 | [方案] | [理由] | [备选] |
**选择理由应包含**:
完成技术调研后,应输出以下内容(通常作为架构文档的第1章):
## 1. 技术调研 ### 1.1 调研背景 **需求概述**:[基于 PRD 的技术需求总结] **关键技术挑战**: - [挑战 1] - [挑战 2] - [挑战 3] ### 1.2 技术方案调研 #### 前端框架对比 | 方案 | 优点 | 缺点 | 适用场景 | 推荐度 | |------|------|------|----------|--------| | [方案1] | ... | ... | ... | ... | | [方案2] | ... | ... | ... | ... | #### 后端框架对比 [同上] #### 数据库对比 [同上] ### 1.3 开源方案评估 | 开源项目 | 功能 | Star 数 | 维护状态 | 是否采用 | |----------|------|---------|----------|----------| | [项目1] | ... | ... | ... | ... | ### 1.4 调研结论 | 层级 | 推荐方案 | 选择理由 | 备选方案 | |------|----------|----------|----------| | 前端 | [方案] | [理由] | [备选] | | 后端 | [方案] | [理由] | [备选] | | 数据库 | [方案] | [理由] | [备选] |
1. **真实调研**:必须真实使用 WebSearch 和 WebFetch,不能凭空编造 2. **数据支撑**:结论必须基于调研数据,不能主观臆断 3. **对比分析**:至少对比3个方案,说明为什么选择A而不是B 4. **考虑现状**:如果项目已有技术栈(通过 shared/tech-stack-detection 检测),优先考虑兼容性 5. **团队能力**:考虑团队的技术背景和学习成本
❌ **不调研就选型**:直接给出技术方案,没有调研过程 ❌ **只看优点**:只列优点不列缺点,缺乏客观性 ❌ **追新求异**:盲目选择最新技术,忽略成熟度和风险 ❌ **忽略现状**:不检测项目现有技术栈,推荐不兼容的方案 ❌ **缺少备选**:只给一个方案,没有Plan B
不要过度调研,调研的目的是支持决策,不是写论文。
Languages / 语言 / 言語 / 언어 / Idiomas / Langues: English · 中文 · 日本語 · 한국어 · Español · Français · Português Boss is an auditable agent-team workflow for coding agents.
Repo: echoVic/boss-skill
系统架构设计方法论,包含架构模式选择、系统分层、目录结构设计
数据模型和API设计方法论,包含ERD设计、数据字典、RESTful API规范
后端API开发方法论,包括RESTful/GraphQL设计、请求验证、错误处理和安全实现
后端测试编写指南,包括单元测试、集成测试和E2E测试的编写方法和最佳实践
需求澄清 Skill。当用户只给了模糊描述时自动触发,通过业务提问把一句话翻译成完整需求,交给 Boss 流水线执行。 Triggers: '我想做一个', '帮我做', '有个想法', 'brainstorm', '帮我规划一下', '做个XX', 'I want to build' Does NOT…
自动生成 CHANGELOG,基于 git 提交历史和 pipeline 产物信息,遵循 Conventional Commits 和 Keep a Changelog 规范