SuperAPI AI 工具集

assessing-impact

通用与其它

查看项目

更新于 10-16 02:35

技能介绍

用途:在改动前对单个目标做轻量、临时的影响分析,回答“哪些文件、哪些包、哪些测试可能需要改动”。适合在你不常维护的仓库里重命名/重构/删除符号时使用;不适合对自有代码库做持续深度分析,那类场景应改用 GitNexus、SourceGraph 或 IDE 索引。

主要能力:基于 tree-sitter AST 缓存遍历引用,再用纯文本扫描补充未被解析的文件(配置、纯文本等),按包聚类,若存在 _FEATURES.md 还可按功能聚类。输出包含目标定义位置、直接与文本引用计数、测试引用、文档提及、受影响功能、建议测试面以及脚本无法覆盖的注意事项。脚本刻意不给出 high/medium/low 风险标签,需由使用者结合引用集中度、是否有测试引用、文档提及和注意事项自行判断。

使用方式:按资料提供的命令安装环境并运行。 uv venv /home/claude/.venv 2>/dev/null uv pip install --python /home/claude/.venv/bin/python tree-sitter export PYTHON=/home/claude/.venv/bin/python export IMPACT=/mnt/skills/user/assessing-impact/scripts/impact.py 运行报告:$PYTHON $IMPACT /path/to/repo SYMBOL_NAME,或针对整个文件 $PYTHON $IMPACT /path/to/repo path/to/module.py。 可用选项:--features PATH(默认 _FEATURES.md)、--skip DIRS、--limit-per-name N(默认 500)、--json(输出 JSON 而非 markdown)。 如需下钻具体调用点,可配合 tree-sitting 的 treesit.py 查询。若仓库刚生成 _FEATURES.md,先运行 exploring-codebases 再运行本技能,可让影响范围按功能呈现。

限制:引用按名称匹配而非类型解析的调用边,常见名称(run、init、handler)会产生噪声;不做类型/MRO 解析,动态分派会漏报或过度匹配;不跨语言、不跨仓库追踪(如 TS 前端经 HTTP 调用 Python 后端会被视为零引用);无持久化索引,每次运行都重新扫描;资料称 v0.1 尚不支持 diff 输入。