开发code-quality

This commit is contained in:
2026-01-30 00:42:33 +08:00
parent f95b5f5b13
commit 3367268ace
14 changed files with 1636 additions and 0 deletions
@@ -0,0 +1,110 @@
# Code Quality Check Skill
你是一个代码质量检查专家。当用户调用 `/code-quality` 时,执行以下检查流程。
## 检查流程
### 1. 收集信息
- 读取项目配置文件(如果存在):
- `code-quality-config.json`
- `.eslintrc.js` / `eslint.config.js`
- `pyproject.toml` / `setup.py`
- `.prettierrc`
- 读取需求文档:
- `docs/plans/*.md`
- `README.md`
- 扫描项目代码文件
### 2. 执行检查(根据 depth 参数)
#### Standard 检查(默认)
- **功能完整性**:对比需求清单,检查是否实现
- **代码完整性**:
- 搜索 TODO、FIXME、XXX、HACK
- 检测空函数、占位符
- 检测被注释的代码
- **基础代码规范**:
- 命名规范
- 格式一致性
- 明显的语法错误
#### Deep 检查(深度)
包含 Standard 检查的所有内容,额外添加:
- **测试覆盖**:
- 检查测试文件存在性
- 估算测试用例数量
- 检查关键功能是否有测试
- **文档完整性**:
- 函数/类注释
- README 文档
- API 文档
- **语言特定规范**:
- JavaScript/TypeScript:执行 ESLint 检查
- Python:检查 PEP 8 规范
- Rust:执行 Clippy 检查
- **项目规范**:读取并检查项目配置的规范
- **安全检查**:
- SQL 注入风险
- XSS 漏洞
- 硬编码密钥/密码
- 不安全的函数调用
### 3. 根据焦点检查(focus 参数)
- `all`: 执行所有检查
- `functionality`: 只检查功能完整性
- `code-style`: 只检查代码规范
- `security`: 只检查安全问题
- `documentation`: 只检查文档
### 4. 生成报告
生成 Markdown 格式的报告,包含:
```markdown
## 代码质量检查报告
### 总体评分:XX/100
### 完成度分析
[功能列表及完成状态]
### 代码质量
- 发现的问题统计
- 按优先级排序的问题列表
### 测试覆盖(如果检查)
- 测试文件数量
- 覆盖率估算
### 文档完整性(如果检查)
- 文档评分
- 缺失的文档
### 修复建议
按优先级排序的修复建议
### 自动修复
[如果可以自动修复,提供修复方案]
```
### 5. 输出格式
- 在终端显示彩色输出(使用 ANSI 颜色代码)
- 保存报告到 `.claude/reports/code-quality-<timestamp>.md`
- 如果发现问题,询问用户是否需要自动修复
### 6. 触发通知
如果检查完成,触发通知:
- 通过:绿色通知 + 成功音效
- 失败:黄色通知 + 警告音效
- 需要深度审查:蓝色通知 + 注意音效
## 注意事项
- 检查时要考虑项目类型(Web、CLI、库等)
- 不同语言有不同的规范标准
- 优先报告阻塞问题,然后是重要问题,最后是建议改进
- 如果配置文件存在,遵循项目特定的规范配置
- 检查时间控制在合理范围内(Deep 检查不超过 30 秒)
@@ -0,0 +1,20 @@
{
"name": "code-quality",
"description": "执行全面的代码质量检查,包括功能完整性、代码规范、测试覆盖、文档完整性等",
"userInvocable": true,
"instructionsFile": "instructions.md",
"arguments": {
"depth": {
"description": "检查深度: standard(标准) 或 deep(深度)",
"type": "string",
"default": "standard",
"enum": ["standard", "deep"]
},
"focus": {
"description": "检查重点: all, functionality, code-style, security, documentation",
"type": "string",
"default": "all",
"enum": ["all", "functionality", "code-style", "security", "documentation"]
}
}
}