Review changed code for reuse, quality, and efficiency, then fix any issues found. Also scans project files for size limit violations.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add doccker/cc-use-exp --skill size-check --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Size Check?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/doccker-size-check-ca3d5be9)More formats (shields.io, HTML) on the badges page.
---
name: size-check
description: Review changed code for reuse, quality, and efficiency, then fix any issues found. Also scans project files for size limit violations.
---
<instructions>
# Size Check - 代码简化与文件行数检查
## 触发方式
用户执行 `/size-check` 或描述"简化代码"、"检查文件大小"时触发。
---
## 功能 1:代码简化(原有能力)
审查变更代码的复用性、质量和效率,修复发现的问题。
### 检查项
| 检查项 | 说明 |
|--------|------|
| 重复代码 | 提取公共方法/组件 |
| 过度抽象 | 简化不必要的设计模式 |
| 冗余逻辑 | 合并可简化的条件分支 |
| 未使用代码 | 删除死代码、无用 import |
---
## 功能 2:文件行数扫描
### 行数阈值
| 语言 | 上限 | 拆分方式 |
|------|------|---------|
| Java | 300 | Service 拆分职责、提取 Helper/Converter |
| Go | 400 | 按功能拆分同包文件 |
| Vue | 200 | 提取子组件、composables |
| TSX/JSX | 200 | 提取子组件 |
| TypeScript/JS | 300 | 提取工具函数、常量、类型 |
| Python | 300 | 按职责拆分模块 |
### 执行流程
**全项目扫描模式**(用户未指定文件时):
```
1. 扫描项目所有代码文件(排除 node_modules、vendor、dist、build、.git)
2. 统计每个文件行数,对照阈值标记超限文件
3. 检测 Markdown 文件中的重复章节(相同标题出现多次)
4. 输出超限清单 + 拆分建议
```
**单文件模式**(用户指定文件时):
```
1. 检查代码复用、质量、效率
2. 检查行数是否超限
3. 如果超限,给出具体拆分方案
```
### 输出格式
```markdown
## 文件行数扫描结果
### 超限文件
| 文件 | 行数 | 阈值 | 超限 | 建议 |
|------|------|------|------|------|
| path/to/file.py | 450 | 300 | +150 | 按职责拆分为 xxx.py 和 yyy.py |
### 合规文件(前 10 个最大的)
| 文件 | 行数 | 阈值 | 余量 |
|------|------|------|------|
| path/to/big.go | 380 | 400 | 20 |
### 总结
- 扫描文件数:N
- 超限文件数:N
- 建议操作:[具体建议]
```
### 扫描排除规则
以下目录和文件不参与扫描:
- 目录:`node_modules/`、`vendor/`、`dist/`、`build/`、`.git/`、`__pycache__/`、`.venv/`
- 文件:`*.min.js`、`*.min.css`、`*.lock`、`*.sum`
- 配置:`.toml`、`.json`、`.yaml`、`.yml`(命令/配置文件不适用代码行数限制)
- 文档:`.md`(Markdown 无硬性行数限制,但检测重复章节)
---
## 功能 3:CSS 提取检查
### 触发条件
扫描 Vue/TSX/JSX 文件时,检测内联 `<style>` 块行数。
### 检查规则
| 检查项 | 条件 | 建议 |
|--------|------|------|
| 内联样式过长 | `<style>` 块超过 30 行 | 提取公共样式到 `assets/styles/` |
| 非 scoped 全局样式 | Vue SFC 中存在 `<style>`(无 scoped) | 移到 `assets/styles/common.scss` |
**不触发**:`<style scoped>` 且行数 ≤ 30 行的组件级样式。
### 输出格式
在文件行数扫描结果中追加:
```markdown
### CSS 提取建议
| 文件 | <style> 行数 | 类型 | 建议 |
|------|-------------|------|------|
| src/views/User.vue | 45 | scoped | 提取公共部分(变量/mixin)到 assets/styles/ |
| src/views/Home.vue | 12 | 非 scoped | 移到 assets/styles/common.scss |
```
---
## 修复流程
扫描完毕后,如发现超限文件或 CSS 提取建议,执行以下流程:
### 1. 用户确认
使用 AskUserQuestion 询问:
```
扫描发现 N 个问题(X 个文件超限 + Y 个 CSS 提取建议)。
是否修复?
1. 修复所有问题(推荐)
修复文件行数超限 + CSS 提取建议。改动后确保原有功能不受影响。
2. 跳过
不做任何修改,仅保留扫描报告。
```
用户选择「跳过」→ 结束。
### 2. 执行修复
逐文件修复,每个文件:
1. **阅读完整文件**,理解上下文和调用关系
2. **检查是否涉及重构**:
- 如果涉及表格列、数据结构、条件分支的修改,触发 `refactor-safety` 规则
- 完整读取原始代码(不凭记忆或推测)
- 制作对比清单(列/字段/配置项)
- 逐项验证一致性(数量/顺序/命名)
3. **按扫描建议拆分/提取**:
- 行数超限 → 拆分文件
- CSS → 提取到 `assets/styles/`
4. **确保拆分后的入口文件保持原有导出/接口不变**
5. **优先处理超限最严重的文件**
**重构安全检查**:
- ✅ 表格重构:列数、列名、列顺序与原始代码一致
- ✅ 数据结构重构:字段完整,没有遗漏
- ✅ 条件分支重构:所有 if/else/switch 分支都已处理
### 3. 验证
修复完成后:
1. 检测项目是否有测试命令(`npm test` / `go test ./...` / `pytest` 等)
2. **有测试** → 运行测试,全部通过才继续
3. **无测试** → 输出变更清单,提示用户手动验证
### 4. 自审
自动执行 `/review quick` 对修复内容进行快速审查。
---
## 安全原则
- **先报告,确认后修复** —— 扫描结果需用户确认才执行修复
- **不改变现有行为** —— 拆分后的入口文件保持原有接口
- **渐进式处理** —— 优先处理超限最严重的文件
---
## 规则溯源
```
> 📋 本回复遵循:`size-check` - [功能1/功能2/功能3]
```
</instructions>Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!