用途
assess-complexity 用于在开始实现工作之前,通过自动化代码库分析来评估任务复杂度。它帮助回答以下问题:任务是否已准备好进入实现、是否需要先拆分大型任务、在投入工作前如何估算工作量、代码库中存在哪些高风险区域,以及如何用复杂度分数来规划迭代工作。
主要能力
该技能围绕七个评估维度对任务进行 1-5 分打分,并汇总为总分与平均分,最终映射到复杂度等级。
评估维度与评分标准
-
代码行数(Lines of Code)
- < 50 行:1 分
- 50-200 行:2 分
- 200-500 行:3 分
- 500-1500 行:4 分
- 1500+ 行:5 分
-
时间估算(Time Estimate)
- < 30 分钟:1 分
- 30 分钟 - 2 小时:2 分
- 2-8 小时:3 分
- 8-24 小时(1-3 天):4 分
- 24+ 小时(3+ 天):5 分
-
文件数量(Number of Files)
- 1 个文件:1 分
- 2-3 个文件:2 分
- 4-10 个文件:3 分
- 11-25 个文件:4 分
- 26+ 个文件:5 分
-
依赖数量(Dependencies Count,唯一模块)
- 0 个依赖:1 分
- 1 个依赖:2 分
- 2-3 个依赖:3 分
- 4-6 个依赖:4 分
- 7+ 个依赖:5 分
-
未知因素/不确定性(Unknowns/Uncertainty)
- 无未知因素,一切清晰:1 分
- 极少,1-2 个次要问题:2 分
- 一些,若干可研究的问题:3 分
- 显著,许多问题,需要探索:4 分
- 很多,范围不清,需要原型验证:5 分
-
横切关注点(Cross-Cutting Concerns)
- 隔离变更,单一模块:1 分
- 次要集成,2-3 个模块:2 分
- 多重集成,4-5 个模块:3 分
- 横切,影响许多模块:4 分
- 架构级,系统范围影响:5 分
-
风险等级(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
步骤:
- 收集指标:运行分析脚本收集代码库指标:
!./scripts/analyze-codebase.sh $ARGUMENTS
-
评估每项标准:根据指标和自身理解,对每项标准按 1-5 分打分。
-
计算总分:将所有分数相加得到总分(满分 35),再计算平均值(总分 / 7)。
-
做出决策:根据平均分对应的复杂度等级,决定继续实现还是先拆分。
输出格式
评估结果按以下格式提供:
## 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
解决的问题:
- 这次变更的风险是什么?
- 是否有需要先处理的未知因素?
- 这是否有系统范围的影响?
限制
资料中未提供关于收费、价格、平台支持范围、具体效果保证等信息。分析脚本的具体实现细节、依赖环境及运行前提暂未提供。