SuperAPI AI 工具集

assess-complexity

编程与开发

查看项目

更新于 10-16 04:38

技能介绍

用途

assess-complexity 用于在开始实现工作之前,通过自动化代码库分析来评估任务复杂度。它帮助回答以下问题:任务是否已准备好进入实现、是否需要先拆分大型任务、在投入工作前如何估算工作量、代码库中存在哪些高风险区域,以及如何用复杂度分数来规划迭代工作。

主要能力

该技能围绕七个评估维度对任务进行 1-5 分打分,并汇总为总分与平均分,最终映射到复杂度等级。

评估维度与评分标准

  1. 代码行数(Lines of Code)

    • < 50 行:1 分
    • 50-200 行:2 分
    • 200-500 行:3 分
    • 500-1500 行:4 分
    • 1500+ 行:5 分
  2. 时间估算(Time Estimate)

    • < 30 分钟:1 分
    • 30 分钟 - 2 小时:2 分
    • 2-8 小时:3 分
    • 8-24 小时(1-3 天):4 分
    • 24+ 小时(3+ 天):5 分
  3. 文件数量(Number of Files)

    • 1 个文件:1 分
    • 2-3 个文件:2 分
    • 4-10 个文件:3 分
    • 11-25 个文件:4 分
    • 26+ 个文件:5 分
  4. 依赖数量(Dependencies Count,唯一模块)

    • 0 个依赖:1 分
    • 1 个依赖:2 分
    • 2-3 个依赖:3 分
    • 4-6 个依赖:4 分
    • 7+ 个依赖:5 分
  5. 未知因素/不确定性(Unknowns/Uncertainty)

    • 无未知因素,一切清晰:1 分
    • 极少,1-2 个次要问题:2 分
    • 一些,若干可研究的问题:3 分
    • 显著,许多问题,需要探索:4 分
    • 很多,范围不清,需要原型验证:5 分
  6. 横切关注点(Cross-Cutting Concerns)

    • 隔离变更,单一模块:1 分
    • 次要集成,2-3 个模块:2 分
    • 多重集成,4-5 个模块:3 分
    • 横切,影响许多模块:4 分
    • 架构级,系统范围影响:5 分
  7. 风险等级(Risk Level)

    • 无风险,琐碎变更:1 分
    • 低风险,模式清晰:2 分
    • 中风险,有一定复杂度,可测试:3 分
    • 高风险,复杂逻辑,大量边界情况:4 分
    • 极高风险,关键任务,高风险:5 分

复杂度等级映射

  • 平均分 1.0 - 1.4:等级 1,Trivial
  • 平均分 1.5 - 2.4:等级 2,Simple
  • 平均分 2.5 - 3.4:等级 3,Moderate
  • 平均分 3.5 - 4.4:等级 4,Complex
  • 平均分 4.5 - 5.0:等级 5,Very Complex

决策规则

  • 等级 1-3:继续(Proceed)。任务可管理,继续实现。
  • 等级 4-5:拆分(Break Down)。任务过于复杂,拆解为子任务并重新评估每个部分。

使用方式

调用格式为:

Assess complexity for: $ARGUMENTS

步骤:

  1. 收集指标:运行分析脚本收集代码库指标:
!./scripts/analyze-codebase.sh $ARGUMENTS
  1. 评估每项标准:根据指标和自身理解,对每项标准按 1-5 分打分。

  2. 计算总分:将所有分数相加得到总分(满分 35),再计算平均值(总分 / 7)。

  3. 做出决策:根据平均分对应的复杂度等级,决定继续实现还是先拆分。

输出格式

评估结果按以下格式提供:

## Complexity Assessment: [Target]

**Date:** YYYY-MM-DD
**Assessor:** [Agent Name]

### Scores
| Criterion | Score |
|-----------|-------|
| Lines of Code | X/5 |
| Time Estimate | X/5 |
| Files Affected | X/5 |
| Dependencies | X/5 |
| Unknowns | X/5 |
| Cross-Cutting | X/5 |
| Risk Level | X/5 |
| **Total** | **XX/35** |

### Result
**Average Score:** X.X
**Complexity Level:** X ([Classification])
**Can Proceed:** Yes/No

### Recommendation
[Next steps based on complexity level]

适用场景

  • 判断任务是否已准备好进入实现
  • 决定是否拆分大型任务
  • 在投入工作前估算工作量
  • 识别代码库中的高风险区域
  • 用复杂度分数规划迭代工作

相关技能

  • quality-gates:完整的门禁检查工作流
  • brainstorming:拆分复杂任务
  • architecture-decision-record:为复杂工作记录决策

能力细节

complexity-scoring

关键词:complexity、assessment、scoring、estimate、effort

解决的问题:

  • 这个任务有多复杂?
  • 我应该先拆分它吗?
  • 工作量估算是什么?

codebase-analysis

关键词:metrics、lines of code、files、dependencies、analysis

解决的问题:

  • 这会涉及多少个文件?
  • 依赖有哪些?
  • 涉及多少代码?

risk-assessment

关键词:risk、unknowns、cross-cutting、architectural

解决的问题:

  • 这次变更的风险是什么?
  • 是否有需要先处理的未知因素?
  • 这是否有系统范围的影响?

限制

资料中未提供关于收费、价格、平台支持范围、具体效果保证等信息。分析脚本的具体实现细节、依赖环境及运行前提暂未提供。