关于 code-quality
Code Quality 是一套用于代码修复后质量验证的七阶段技能,适用于跨语言代码库。它先探索架构、查阅文档并分析影响,再检查重复与错误,修正后重新验证;不负责确认原始问题是否解决。
主要功能
- 01按七阶段执行质量检查
- 02分析架构、文档与代码影响
- 03使用 jscpd 检测重复代码
- 04通过 Linters 检查错误
- 05修正后重跑 Linters、测试与重复检测
- 06覆盖 SOLID 与架构规则
适用场景
- 01功能问题解决后检查代码质量
- 02修复前评估修改影响范围
- 03查找重复代码并指导重构
- 04验证修正未引入新的检查错误
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ fusengine/ agents --skill code-quality安装后在 Claude Code 中输入/code-quality确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/architecture-patterns.mdduplication-thresholds.mdexamples.mdfile-size-rules.mdlinter-commands.mdsolid-validation.mdvalidation-report.md详细介绍
它会在事后验证代码质量——不会确认原始问题是否确实已解决。先运行 verification 技能确认功能问题已解决,再运行 code-quality 确认修复符合质量要求。
Code Quality 技能
规范工作流定义:agents/sniper.md(此技能与 sniper agent 共享同一套 7 阶段工作流——请同时更新两者)。
🚨 强制执行的 7 阶段工作流
PHASE 1: Exploration (explore-codebase) → BLOCKER
PHASE 2: Documentation (research-expert) → BLOCKER
PHASE 3: Impact Analysis (Grep usages) → BLOCKER
PHASE 3.5: DRY Detection (jscpd duplication) → NON-BLOCKING
PHASE 4: Error Detection (linters)
PHASE 5: Precision Correction (with docs + impact + DRY)
PHASE 6: Verification (re-run linters, tests, duplication)
重要:第 1–3 阶段是阻断性阶段。绝不可跳过。 DRY:第 3.5 阶段不具阻断性,但其发现结果会为第 5 阶段的修正提供依据。
阶段 1:架构探索
首先启动 explore-codebase agent:
> Agent(subagent_type="fuse-ai-pilot:explore-codebase", prompt="...")
收集:
- 检测到的编程语言
- 现有的 linter 配置(.eslintrc、.prettierrc、pyproject.toml)
- 包管理器和已安装的 linter
- 项目结构和约定
- 框架版本(package.json、go.mod、Cargo.toml)
- 架构模式(Clean、Hexagonal、MVC)
- 状态管理(Zustand、Redux、Context)
- 接口/类型目录的位置
阶段 2:文档研究
启动 research-expert agent:
> Agent(subagent_type="fuse-ai-pilot:research-expert", prompt="Verify [library/framework] documentation for [error type]. Find [language] best practices for [specific issue].")
针对每个错误,请求:
- 官方 API 文档
- 当前语法和弃用信息
- 错误模式的最佳实践
- 特定版本的破坏性变更
- 安全公告
- 特定语言的 SOLID 模式
阶段 3:影响分析
对于每个要修改的元素:通过 Grep 查找用法 → 评估风险 → 记录影响。
| 风险 | 标准 | 操作 |
|---|---|---|
| 🟢 低 | 内部使用,0–1 处用法 | 继续 |
| 🟡 中 | 2–5 处用法,兼容 | 谨慎继续 |
| 🔴 高 | 5 处以上用法或存在破坏性变更 | 先告知用户 |
阶段 3.5:代码重复检测(DRY)
工具:jscpd — 支持 150 多种语言 — npx jscpd ./src --threshold 5 --reporters console,json
| 级别 | 阈值 | 操作 |
|---|---|---|
| 🟢 优秀 | < 3% | 无需处理 |
| 🟡 良好 | 3–5% | 记录,时间允许时修复 |
| 🟠 可接受 | 5–10% | 提取共享逻辑 |
| 🔴 严重 | > 10% | 必须重构 |
每种语言的阈值、配置和提取模式,请参阅 references/duplication-thresholds.md。 各语言对应的 jscpd 命令,请参阅 references/linter-commands.md。
Linter 命令
各语言对应的命令,请参阅 references/linter-commands.md。
错误优先级矩阵
| 优先级 | 类型 | 示例 | 操作 |
|---|---|---|---|
| 严重 | 安全 | SQL 注入、XSS、CSRF、身份验证绕过 | 立即修复 |
| 高 | 逻辑 | SOLID 违规、内存泄漏、竞态条件 | 在同一会话中修复 |
| 高 | DRY | 代码重复率 > 10%、复制粘贴的逻辑块 | 必须重构 |
| 中 | DRY | 代码重复率 5–10%、重复模式 | 提取共享逻辑 |
| 中 | 性能 | N+1 查询、已弃用 API、低效算法 | 时间允许时修复 |
| 低 | 风格 | 格式、命名、缺少文档 | 时间允许时修复 |
SOLID 验证
S-O-L-I-D 检测模式和修复示例,请参阅 references/solid-validation.md。
文件大小规则
LoC 限制、计算方法和拆分策略,请参阅 references/file-size-rules.md。
架构规则
有关项目结构和模式,请参阅 references/architecture-patterns.md。
验证报告格式
完整的狙击报告模板请参阅 references/validation-report.md。
完整工作流示例
详细演练请参阅 references/examples.md。
禁止行为
工作流违规
- ❌ 跳过阶段 1(探索代码库)
- ❌ 跳过阶段 2(专家调研)
- ❌ 跳过阶段 3(影响分析)
- ❌ 跳过阶段 3.5(DRY 检测)
- ❌ 未完成阶段 1–3 就开始修正
- ❌ 阻塞项仍处于激活状态时继续
代码质量违规
- ❌ 留下任何未修复的 linter 错误
- ❌ 应用会引入新错误的修复
- ❌ 忽略 SOLID 违规
- ❌ 忽略超过 5% 的 DRY 违规
- ❌ 复制粘贴代码,而不是提取共享逻辑
- ❌ 在项目没有测试的情况下创建测试
架构违规
- ❌ 在组件文件中定义接口(零容忍)
- ❌ 在组件中编写业务逻辑(必须放在 hooks 中)
- ❌ 创建单体组件(必须拆分)
- ❌ 文件超过 100 行代码却不拆分
- ❌ 使用局部状态存储全局数据(应使用 stores)
安全违规
- ❌ 未经用户批准进行高风险更改
- ❌ 悄然破坏向后兼容性
- ❌ 在没有弃用机制的情况下修改公共 API