关于 code-quality
面向开发者和编码 Agent 的七阶段代码质量工作流,从架构探索到重新验证。它将功能解决情况与质量检查区分,并强调文档调研、影响分析、重复检测和 Linter 检查。
主要功能
- 01探索架构与项目约定
- 02调研文档和 API
- 03用 Grep 评估变更影响
- 04用 jscpd 检测重复代码
- 05运行 Linter 并精确修正
- 06重新检查 Linter、测试和重复项
适用场景
- 01确认修复功能后审查代码变更
- 02重构前查找重复代码
- 03检查变更涉及的调用风险
- 04验证多种语言项目的代码质量
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ fusengine/ claude-plugins --skill code-quality安装后在 Claude Code 中输入/code-quality确认已加载。
详细介绍
它会在事后验证代码质量——不会确认原始问题是否确实已解决。先运行 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,查看详细演练。
禁止行为
工作流违规
- ❌ 跳过 PHASE 1(explore-codebase)
- ❌ 跳过 PHASE 2(research-expert)
- ❌ 跳过 PHASE 3(影响分析)
- ❌ 跳过 PHASE 3.5(DRY 检测)
- ❌ 未完成 Phases 1-3 就直接开始修正
- ❌ BLOCKER 处于激活状态时仍继续
代码质量违规
- ❌ 留下任何未修复的 linter 错误
- ❌ 应用会引入新错误的修复
- ❌ 忽略 SOLID 违规
- ❌ 忽略超过 5% 重复率的 DRY 违规
- ❌ 复制粘贴代码,而不是提取共享逻辑
- ❌ 项目没有测试时仍创建测试
架构违规
- ❌ 在组件文件中定义接口(零容忍)
- ❌ 在组件中编写业务逻辑(必须放在 hooks 中)
- ❌ 创建单体组件(必须拆分)
- ❌ 文件超过
FUSE_SOLID_MAX_LINES但未拆分 - ❌ 使用本地状态存储全局数据(应使用 stores)
安全违规
- ❌ 未经用户批准进行高风险更改
- ❌ 悄无声息地破坏向后兼容性
- ❌ 修改公共 API 而不进行弃用