This Skill is used to: compare multiple technical options and provide suggestions, or recommend appropriate technical solutions based on project requirements
Capabilities include: intelligent identification of technology types, dynamic selection of comparison dimensions, generation of structured reports
Trigger conditions: users mention keywords such as "compare", "vs", "selection", or describe project requirements (e.g., "I want to develop a cross-platform application")
操作步骤
Operation Steps
1. 理解需求
1. Understand Requirements
识别技术列表:明确用户要对比的技术(1个、2个或多个)
单技术深度分析:若用户仅提供单一技术(如"我想用SolidJS,它怎么样?"),则:
分析其核心优势、典型场景、潜在局限
推荐2-3个同类竞品供参考并简要说明差异
仍按完整报告格式输出(表格可只有一列)
基于需求推荐:若用户未明确列出技术,但描述了项目目标,先推荐2-4个主流候选技术并确认
技术类型识别:
识别技术类型(前端框架、后端语言/框架、数据库、部署方案等)
若用户提供的技术不属于同一类别(如Java vs Docker),先澄清需求:"您是想对比后端语言(如Java vs Go)还是部署方案(如Docker vs Podman)?"
Identify Technology List: Clarify the technologies the user wants to compare (1, 2 or multiple)
In-depth Analysis of Single Technology: If the user only provides a single technology (e.g., "I want to use SolidJS, how is it?"):
Analyze its core advantages, typical scenarios, and potential limitations
Recommend 2-3 similar competitors for reference and briefly explain the differences
Still output in the complete report format (the table can have only one column)
Recommendation Based on Requirements: If the user does not clearly list technologies but describes project goals, first recommend 2-4 mainstream candidate technologies and confirm with the user
If the technologies provided by the user do not belong to the same category (e.g., Java vs Docker), first clarify the requirements: "Do you want to compare back-end languages (e.g., Java vs Go) or deployment solutions (e.g., Docker vs Podman)?"
Sub-ecology Classification Rules: If the technologies mentioned by the user belong to sub-ecologies (e.g., Next.js, Nuxt.js, Remix), first classify them under their main technology stacks (React/Vue), and additionally consider SSR/SSG-specific dimensions
Intelligently select applicable dimensions based on technology types, refer to references/comparison-dimensions.md
Front-end frameworks: learning curve, performance, ecosystem, community activity, TypeScript support
Back-end frameworks: performance, development efficiency, ecosystem, learning curve, applicable scenarios
Databases: data model, performance, scalability, consistency, applicable scenarios
Deployment solutions: performance, resource usage, package size, cross-platform support
General dimensions: long-term maintainability, enterprise adoption, learning curve
3. 信息检索与分析
3. Information Retrieval and Analysis
基于知识储备进行对比分析:
知识截止时间:本报告基于截至2024年底的公开技术资料生成
数据优先级:优先引用长期稳定来源(官方文档、GitHub仓库、MDN),谨慎引用年度调查(如State of JS 2023)并标注时效性
信息检索阶段:
第一阶段:快速获取各技术概览,形成初步对比草稿
第二阶段:针对关键差异点进行深入分析,补充细节、基准数据或权威引用
数据来源:官方文档、GitHub活跃度、npm trends、benchmark报告等
若信息不足或数据可能过时,明确标注"建议查询最新数据"
Conduct comparative analysis based on knowledge reserves:
Knowledge Cut-off Time: This report is generated based on public technical materials as of the end of 2024
Data Priority: Prioritize citing long-term stable sources (official documents, GitHub repositories, MDN), and cite annual surveys (such as State of JS 2023) cautiously with timeliness annotations
Information Retrieval Phases:
Phase 1: Quickly obtain an overview of each technology and form an initial comparison draft
Phase 2: Conduct in-depth analysis of key differences, supplement details, benchmark data or authoritative citations
Data Sources: official documents, GitHub activity, npm trends, benchmark reports, etc.
If information is insufficient or data may be outdated, clearly mark "It is recommended to check the latest data"
4. 生成结构化报告
4. Generate Structured Report
按照 references/output-template.md 格式输出:
知识截止声明:报告开头必须包含数据时效性说明
📊 对比表格:使用Markdown表格,固定列顺序,缺失值用"—"或"需配合其他工具"
📖 分析与解释:2-4段文字解释关键差异、背后原因、适用场景,避免过度承诺
💡 建议与风险提示:根据用户需求给出具体推荐,并列出潜在风险
📈 可视化(可选):使用Mermaid绘制简单图表(生态对比、性能趋势)
🔗 参考文献:列出所有引用的来源(至少3个可靠来源),优先官方文档、GitHub、MDN
Output in the format specified in references/output-template.md:
Knowledge Cut-off Statement: The report must include a data timeliness statement at the beginning
📊 Comparison Table: Use Markdown tables, fix column order, use "—" or "Requires matching with other tools" for missing values
Generate comparison table and analysis based on knowledge
Provide suggestions based on the user's "high-performance single-page application" requirement, and mark the risk of Svelte's relatively small ecosystem
示例2:子生态归类
Example 2: Sub-ecology Classification
用户输入:"Next.js 和 Nuxt.js 哪个更适合SEO?"
执行方式:
识别为前端框架对比(SSR框架),归为主技术栈React vs Vue
额外考虑SSR/SSG特有维度
选择维度:SSR/SSG能力、SEO支持、生态、学习曲线
生成对比表格和分析
根据用户"SEO友好"需求明确推荐
User Input: "Which is more suitable for SEO, Next.js or Nuxt.js?"
Implementation Method:
Identify as front-end framework comparison (SSR framework), classify under main technology stacks React vs Vue
Additionally consider SSR/SSG-specific dimensions
Select dimensions: SSR/SSG capabilities, SEO support, ecosystem, learning curve
Generate comparison table and analysis
Give a clear recommendation based on the user's "SEO-friendly" requirement
示例3:单技术深度分析
Example 3: In-depth Analysis of Single Technology
用户输入:"我想用SolidJS,它怎么样?"
执行方式:
识别为单技术深度分析
分析SolidJS的核心优势(细粒度响应式)、典型场景(高性能应用)、潜在局限(生态较小)
推荐竞品:React(生态丰富)、Vue(学习曲线低)、Svelte(编译时优化)并简要说明差异
生成报告(表格单列)
User Input: "I want to use SolidJS, how is it?"
Implementation Method:
Identify as in-depth analysis of single technology