tech-comparison

📁 morning-start/coze-skills 📅 9 days ago
10
总安装量
10
周安装量
#29394
全站排名
安装命令
npx skills add https://github.com/morning-start/coze-skills --skill tech-comparison

Agent 安装分布

amp 10
github-copilot 10
codex 10
kimi-cli 10
gemini-cli 10
opencode 10

Skill 文档

技术选型对比助手

任务目标

  • 本 Skill 用于:对比多个技术选项并提供建议,或根据项目需求推荐合适的技术方案
  • 能力包含:智能识别技术类型、动态选择对比维度、生成结构化报告
  • 触发条件:用户提及”对比”、”vs”、”选型”等关键词,或描述项目需求(如”我想开发跨平台应用”)

操作步骤

1. 理解需求

  • 识别技术列表:明确用户要对比的技术(1个、2个或多个)
  • 单技术深度分析:若用户仅提供单一技术(如”我想用SolidJS,它怎么样?”),则:
    • 分析其核心优势、典型场景、潜在局限
    • 推荐2-3个同类竞品供参考并简要说明差异
    • 仍按完整报告格式输出(表格可只有一列)
  • 基于需求推荐:若用户未明确列出技术,但描述了项目目标,先推荐2-4个主流候选技术并确认
  • 技术类型识别:
    • 识别技术类型(前端框架、后端语言/框架、数据库、部署方案等)
    • 若用户提供的技术不属于同一类别(如Java vs Docker),先澄清需求:”您是想对比后端语言(如Java vs Go)还是部署方案(如Docker vs Podman)?”
    • 子生态归类规则:若用户提到的技术属于子生态(如Next.js、Nuxt.js、Remix),请先归类到其主技术栈(React/Vue)下,并额外考虑SSR/SSG特有维度

2. 动态确定对比维度

根据技术类型智能选择适用维度,参考 references/comparison-dimensions.md

  • 前端框架:学习曲线、性能、生态、社区活跃度、TypeScript支持
  • 后端框架:性能、开发效率、生态、学习曲线、适用场景
  • 数据库:数据模型、性能、扩展性、一致性、适用场景
  • 部署方案:性能、资源占用、打包体积、跨平台支持
  • 通用维度:长期维护性、企业采用情况、学习曲线

3. 信息检索与分析

基于知识储备进行对比分析:

  • 知识截止时间:本报告基于截至2024年底的公开技术资料生成
  • 数据优先级:优先引用长期稳定来源(官方文档、GitHub仓库、MDN),谨慎引用年度调查(如State of JS 2023)并标注时效性
  • 信息检索阶段:
    1. 第一阶段:快速获取各技术概览,形成初步对比草稿
    2. 第二阶段:针对关键差异点进行深入分析,补充细节、基准数据或权威引用
  • 数据来源:官方文档、GitHub活跃度、npm trends、benchmark报告等
  • 若信息不足或数据可能过时,明确标注”建议查询最新数据”

4. 生成结构化报告

按照 references/output-template.md 格式输出:

  • 知识截止声明:报告开头必须包含数据时效性说明
  • 📊 对比表格:使用Markdown表格,固定列顺序,缺失值用”—”或”需配合其他工具”
  • 📖 分析与解释:2-4段文字解释关键差异、背后原因、适用场景,避免过度承诺
  • 💡 建议与风险提示:根据用户需求给出具体推荐,并列出潜在风险
  • 📈 可视化(可选):使用Mermaid绘制简单图表(生态对比、性能趋势)
  • 🔗 参考文献:列出所有引用的来源(至少3个可靠来源),优先官方文档、GitHub、MDN

输出规范

  • 语言:中文,专业但易懂
  • 避免主观臆断,所有观点需有依据
  • 若某技术不涉及某维度,标注”不适用”或”—”而非留空
  • 表格固定列顺序,确保可读性
  • 不声称”性能更快”,而说”在XX场景下基准测试显示更优”
  • 标注数据时效性,建议用户验证最新信息

资源索引

  • 维度库:见 references/comparison-dimensions.md(按技术类型分类的对比维度及典型关键词)
  • 输出模板:见 references/output-template.md(完整的报告格式模板及Mermaid图表示例)

注意事项

  • 仅在需要时读取参考文档,保持上下文简洁
  • 当信息不足时,明确说明”当前缺乏权威数据”,而非猜测
  • 保持中立立场,客观呈现各技术的优缺点
  • 标注知识截止时间(2024年底),建议用户验证最新信息
  • 充分利用智能体的知识储备和分析能力,避免为简单任务编写脚本
  • 处理模糊输入时,主动澄清用户真实需求
  • 提供风险提示,帮助用户全面了解技术潜在问题

使用示例

示例1:前端框架对比

用户输入:”帮我对比 React、Vue 和 Svelte,我想做一个高性能的单页应用”

执行方式:

  1. 识别为前端框架对比
  2. 动态选择维度:性能、学习曲线、生态、TypeScript支持、社区活跃度
  3. 基于知识生成对比表格和分析
  4. 根据用户”高性能单页应用”需求给出建议,并标注Svelte生态较小的风险

示例2:子生态归类

用户输入:”Next.js 和 Nuxt.js 哪个更适合SEO?”

执行方式:

  1. 识别为前端框架对比(SSR框架),归为主技术栈React vs Vue
  2. 额外考虑SSR/SSG特有维度
  3. 选择维度:SSR/SSG能力、SEO支持、生态、学习曲线
  4. 生成对比表格和分析
  5. 根据用户”SEO友好”需求明确推荐

示例3:单技术深度分析

用户输入:”我想用SolidJS,它怎么样?”

执行方式:

  1. 识别为单技术深度分析
  2. 分析SolidJS的核心优势(细粒度响应式)、典型场景(高性能应用)、潜在局限(生态较小)
  3. 推荐竞品:React(生态丰富)、Vue(学习曲线低)、Svelte(编译时优化)并简要说明差异
  4. 生成报告(表格单列)

示例4:跨平台部署方案

用户输入:”我打算开发一个跨平台桌面软件,Electron、Tauri 和 Neutralino 哪个更好?”

执行方式:

  1. 识别为部署方案对比
  2. 选择维度:性能、资源占用、打包体积、跨平台支持、生态
  3. 生成对比表格和详细分析
  4. 根据用户需求给出推荐,提示Electron资源占用较高的风险

示例5:后端框架对比

用户输入:”单纯想了解 Python Web 框架:Django、Flask 和 FastAPI 有什么区别?”

执行方式:

  1. 识别为后端框架对比
  2. 选择维度:适用场景、开发效率、性能、学习曲线
  3. 生成对比表格和分析
  4. 提供通用选型建议

示例6:模糊输入处理

用户输入:”对比 Java 和 Docker”

执行方式:

  1. 识别到技术不属于同一类别(语言 vs 容器)
  2. 澄清需求:”您是想对比后端语言(如Java vs Go)还是部署方案(如Docker vs Podman)?”
  3. 等待用户确认后继续分析