用途:在技术债累积前发现重复代码、死代码、复杂度热点、TODO 标记和超大文件等模式,适合会话结束时或审计代码时使用。
主要能力:按类别扫描重复代码、死代码、复杂度与文件大小、循环导入、TODO/FIXME 标记,并输出带严重程度分级的报告。严重程度阈值示例:重复代码 Low ≤2、Medium 3-5、High >5;死代码 Low ≤5、High >10;大函数 Medium >75 行、High >100 行;大文件 High >1000 行;复杂度 CC >10 为 Medium。
使用方式:可用 /techdebt 扫描当前目录,/techdebt src/ 扫描指定路径,/techdebt --duplicates 仅查重复,/techdebt --todos 仅查 TODO/FIXME,/techdebt --dead-code 仅查死代码。也可执行扫描脚本:bash $CLAUDE_SKILL_DIR/scripts/scan.sh [path] [filter-flag],脚本自动检测 Python/JS/TS 并跳过缺失工具。之后按输出格式生成 # Tech Debt Report,包含汇总表(类别、数量、严重程度)、各类别详情(文件、行、符号、建议)、Quick Fixes(如 ruff --fix、eslint --fix)和按 Immediate / This week / Backlog 排序的建议行动。
工具依赖:重复检查用 pylint(Python)、jscpd(JS/TS);死代码用 vulture、ts-prune;复杂度与大小用 radon、eslint;循环导入用 pycycle、madge;TODO 用 grep(无依赖)。缺失工具可安装:uv add --dev vulture radon pylint / npm install -D jscpd ts-prune madge。
限制与注意事项:.venv、node_modules、dist、pycache 会被脚本自动排除;pylint --enable=duplicate-code 在大型代码库上较慢,扫描超过 500 个文件时应提示;ts-prune 仅能在项目根目录运行(需要 tsconfig.json),从子路径运行会得到 0 个结果;radon cc 为按函数的圈复杂度,radon raw 为按文件的行数,输出格式不同;已弃用注册表依赖检查需要 ~/.claude/docs/development/registry.yaml,缺失时静默跳过。