File contents 强制深度思考
[!IMPORTANT]
在进行评估之前,你必须 使用 sequential-thinking skill,视复杂情况组织 3—7 个 thought 推理。
思考内容例如:
"用户的核心需求是什么?必须支持哪些场景?"
"团队目前熟悉什么技术?学习新技术的时间预算是多少?"
"预算约束是什么?云服务成本敏感吗?"
"这个项目预期规模是什么?需要支持多少并发用户?"
"有没有合规要求(GDPR、等保)影响技术选择?"
任务目标
产出 ADR (Architecture Decision Record) 文档,记录技术栈决策及其理由。
评估流程 (The Evaluation)
第一步:收集约束 (Gather Constraints)
必须从用户处获取 :
功能需求 : 核心功能列表
非功能需求 : 性能目标、可用性要求、安全等级
团队情况 : 人数、技能栈、学习意愿
预算 : 开发预算、运维预算、时间预算
特殊约束 : 合规要求、现有系统集成、客户指定技术
第二步:识别候选技术栈 (Identify Candidates)
2025 主流技术栈参考 :
场景
推荐栈
备选
Web 全栈
Next.js + TypeScript
Nuxt, SvelteKit
后端 API
Go / Rust / Node.js
Python FastAPI, Java Spring
桌面应用
Tauri (Rust + Web)
Electron, Flutter Desktop
移动应用
React Native / Flutter
Swift/Kotlin 原生
AI/ML
Python + PyTorch/TensorFlow
Rust (Candle), Julia
数据密集
PostgreSQL + TimescaleDB
ClickHouse, DuckDB
第三步:12 维度评估 (12-Dimension Evaluation)
使用以下矩阵对每个候选栈打分 (1-5 分):
维度
权重建议
评估问题
需求匹配
—
能否实现所有核心功能?
扩展性
—
能否支撑 10x 增长?
性能
—
能否满足响应时间/吞吐量要求?
安全性
—
内置安全特性?合规支持?
团队技能
—
团队熟悉程度?学习曲线?
人才市场
—
招人容易吗?
开发速度
—
能否快速迭代?
TCO (总成本)
—
开发+运维+许可证成本?
社区生态
—
库/工具丰富度?问题解答速度?
长期维护
—
技术寿命?LTS 支持?
集成能力
—
与现有系统/第三方服务集成?
AI 就绪
—
集成 AI/LLM 的便利性?
第四步:权衡分析 (Trade-off Analysis)
使用 ATAM 方法 :
识别质量属性场景 (如 "1000 并发用户时响应 < 200ms")
评估每个候选栈对场景的支持程度
识别权衡点 (如 "选 Go 性能好但团队需学习")
识别风险点 (如 "选新框架可能踩坑")
第五步:产出 ADR (Generate ADR)
你必须 创建 ADR_001_TECH_STACK.md,并将其写入 .anws/v{N}/03_ADR/。
ADR 输出模板
# ADR-001: 技术栈选择
## 状态
Accepted / Proposed / Deprecated
## 背景
[项目背景和约束描述]
## 决策
[选择的技术栈及核心理由]
## 候选方案对比
| 候选 | 总分 | 优势 | 劣势 |
|------|------|------|------|
| 方案 A | 42/60 | ... | ... |
| 方案 B | 38/60 | ... | ... |
## 权衡点
- [权衡 1]
- [权衡 2]
## 后果
- 正面: [...]
- 负面: [...]
- 需要的后续行动: [...]
老师傅守则
"无聊"技术优先 : 除非有充分理由,优先选择成熟稳定的技术。
创新预算有限 : 每个项目只有 1-2 个"创新点"配额,其余用"无聊"技术。
团队能力为王 : 再好的技术,团队不会用也是白搭。
TCO 不只是钱 : 时间成本、认知成本也是成本。
工具箱
references/ADR_TEMPLATE.md: ADR 模板
references/TECH_RADAR_2025.md: 2025 技术雷达参考
1 --- 2 name: tech-evaluator-3 3 description: 强制深度思考 4 --- 5 6 ## 强制深度思考 7 8 > [!IMPORTANT] 9 > 在进行评估之前,你**必须**使用 `sequential-thinking` skill,视复杂情况组织 **3—7 个 thought** 推理。 10 > 思考内容例如: 11 > 12 > 1. "用户的核心需求是什么?必须支持哪些场景?" 13 > 2. "团队目前熟悉什么技术?学习新技术的时间预算是多少?" 14 > 3. "预算约束是什么?云服务成本敏感吗?" 15 > 4. "这个项目预期规模是什么?需要支持多少并发用户?" 16 > 5. "有没有合规要求(GDPR、等保)影响技术选择?" 17 18 --- 19 20 ## 任务目标 21 22 产出 **ADR (Architecture Decision Record)** 文档,记录技术栈决策及其理由。 23 24 --- 25 26 ## 评估流程 (The Evaluation) 27 28 ### 第一步:收集约束 (Gather Constraints) 29 30 **必须从用户处获取**: 31 32 - **功能需求**: 核心功能列表 33 - **非功能需求**: 性能目标、可用性要求、安全等级 34 - **团队情况**: 人数、技能栈、学习意愿 35 - **预算**: 开发预算、运维预算、时间预算 36 - **特殊约束**: 合规要求、现有系统集成、客户指定技术 37 38 ### 第二步:识别候选技术栈 (Identify Candidates) 39 40 **2025 主流技术栈参考**: 41 42 43 | 场景 | 推荐栈 | 备选 | 44 | ---------- | --------------------------- | --------------------------- | 45 | **Web 全栈** | Next.js + TypeScript | Nuxt, SvelteKit | 46 | **后端 API** | Go / Rust / Node.js | Python FastAPI, Java Spring | 47 | **桌面应用** | Tauri (Rust + Web) | Electron, Flutter Desktop | 48 | **移动应用** | React Native / Flutter | Swift/Kotlin 原生 | 49 | **AI/ML** | Python + PyTorch/TensorFlow | Rust (Candle), Julia | 50 | **数据密集** | PostgreSQL + TimescaleDB | ClickHouse, DuckDB | 51 52 53 ### 第三步:12 维度评估 (12-Dimension Evaluation) 54 55 使用以下矩阵对每个候选栈打分 (1-5 分): 56 57 58 | 维度 | 权重建议 | 评估问题 | 59 | ------------- | ---- | --------------- | 60 | **需求匹配** | — | 能否实现所有核心功能? | 61 | **扩展性** | — | 能否支撑 10x 增长? | 62 | **性能** | — | 能否满足响应时间/吞吐量要求? | 63 | **安全性** | — | 内置安全特性?合规支持? | 64 | **团队技能** | — | 团队熟悉程度?学习曲线? | 65 | **人才市场** | — | 招人容易吗? | 66 | **开发速度** | — | 能否快速迭代? | 67 | **TCO (总成本)** | — | 开发+运维+许可证成本? | 68 | **社区生态** | — | 库/工具丰富度?问题解答速度? | 69 | **长期维护** | — | 技术寿命?LTS 支持? | 70 | **集成能力** | — | 与现有系统/第三方服务集成? | 71 | **AI 就绪** | — | 集成 AI/LLM 的便利性? | 72 73 74 ### 第四步:权衡分析 (Trade-off Analysis) 75 76 使用 **ATAM 方法**: 77 78 1. 识别**质量属性场景** (如 "1000 并发用户时响应 < 200ms") 79 2. 评估每个候选栈对场景的**支持程度** 80 3. 识别**权衡点** (如 "选 Go 性能好但团队需学习") 81 4. 识别**风险点** (如 "选新框架可能踩坑") 82 83 ### 第五步:产出 ADR (Generate ADR) 84 85 你**必须**创建 `ADR_001_TECH_STACK.md`,并将其写入 `.anws/v{N}/03_ADR/`。 86 87 --- 88 89 ## ADR 输出模板 90 91 ```markdown 92 # ADR-001: 技术栈选择 93 94 ## 状态 95 Accepted / Proposed / Deprecated 96 97 ## 背景 98 [项目背景和约束描述] 99 100 ## 决策 101 [选择的技术栈及核心理由] 102 103 ## 候选方案对比 104 105 | 候选 | 总分 | 优势 | 劣势 | 106 |------|------|------|------| 107 | 方案 A | 42/60 | ... | ... | 108 | 方案 B | 38/60 | ... | ... | 109 110 ## 权衡点 111 - [权衡 1] 112 - [权衡 2] 113 114 ## 后果 115 - 正面: [...] 116 - 负面: [...] 117 - 需要的后续行动: [...] 118 ``` 119 120 --- 121 122 ## 老师傅守则 123 124 1. **"无聊"技术优先**: 除非有充分理由,优先选择成熟稳定的技术。 125 2. **创新预算有限**: 每个项目只有 1-2 个"创新点"配额,其余用"无聊"技术。 126 3. **团队能力为王**: 再好的技术,团队不会用也是白搭。 127 4. **TCO 不只是钱**: 时间成本、认知成本也是成本。 128 129 --- 130 131 ## 工具箱 132 133 - `references/ADR_TEMPLATE.md`: ADR 模板 134 - `references/TECH_RADAR_2025.md`: 2025 技术雷达参考 135
haaaiawd/my-swe-agent/tree/main/.windsurf/skills/tech-evaluator commit fb24dac93b
Frequently asked questions How do I install the Tech Evaluator skill? Run npx skillmds@latest add haaaiawd/tech-evaluator-3 in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Tech Evaluator skill do? 强制深度思考 It is listed under Coding & Dev Tools on SkillMD.
Is Tech Evaluator safe to use? This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Tech Evaluator? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Tech Evaluator free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Tech Evaluator? haaaiawd (@haaaiawd) published this skill. Their other Agent Skills are listed on their SkillMD profile.