Agent skill

size-check

Review changed code for reuse, quality, and efficiency, then fix any issues found. Also scans project files for size limit violations.

Stars 424
Forks 44

Install this agent skill to your Project

npx add-skill https://github.com/doccker/cc-use-exp/tree/main/.claude/skills/size-check

SKILL.md

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. 按扫描建议拆分/提取(行数超限 → 拆分文件;CSS → 提取到 assets/styles/
  3. 确保拆分后的入口文件保持原有导出/接口不变
  4. 优先处理超限最严重的文件

3. 验证

修复完成后:

  1. 检测项目是否有测试命令(npm test / go test ./... / pytest 等)
  2. 有测试 → 运行测试,全部通过才继续
  3. 无测试 → 输出变更清单,提示用户手动验证

4. 自审

自动执行 /review quick 对修复内容进行快速审查。


安全原则

  • 先报告,确认后修复 —— 扫描结果需用户确认才执行修复
  • 不改变现有行为 —— 拆分后的入口文件保持原有接口
  • 渐进式处理 —— 优先处理超限最严重的文件

规则溯源

> 📋 本回复遵循:`size-check` - [功能1/功能2/功能3]

Expand your agent's capabilities with these related and highly-rated skills.

doccker/cc-use-exp

ops-safety

运维安全规范。当用户执行系统级命令(sysctl、iptables、systemctl、Docker 配置、数据库 DDL) 或进行服务器运维操作时触发。 包含命令风险说明模板、回滚方案要求、问题排查原则、Docker/Cloudflare/数据库场景规则等。

424 44
Explore
doccker/cc-use-exp

ruanzhu

当用户执行 /ruanzhu 命令或请求生成软著源代码文档时触发。提供软著源代码 DOCX 生成规范。 覆盖项目信息检测、语言扫描规则、页数控制、DOCX 格式规范等。

424 44
Explore
doccker/cc-use-exp

ui-ux-pro-max

专业级 UI/UX 设计规范,需要高质量界面设计时手动触发或描述"设计感/专业UI"时自动触发。 覆盖视觉层次、配色体系、排版节奏、交互微动效、响应式适配等。 日常前端开发由 frontend-dev skill 覆盖。

424 44
Explore
doccker/cc-use-exp

bash-style

Bash 编写规范。当用户操作 .sh、Dockerfile、Makefile、.yml、.yaml 文件, 或在 Markdown 中编写 bash/shell 代码块时触发。 包含注释规范、文件写入方式、Heredoc 引号规则、权限路径、脚本规范等。

424 44
Explore
doccker/cc-use-exp

redis-safety

Redis 安全与性能规范。当用户操作 Redis 相关代码(go-redis、Jedis、redis-py、ioredis)时触发。 包含禁止 KEYS 命令、SCAN 替代、大 key 控制、Pipeline 批量、TTL 规范等。

424 44
Explore
doccker/cc-use-exp

python-dev

Python 开发规范。当用户操作 .py、pyproject.toml、requirements.txt、setup.py 文件, 或涉及 FastAPI、Django、Flask、pytest、asyncio 开发时触发。 包含 PEP 8 风格、类型注解、异常处理、测试规范、异步编程、性能优化等。

424 44
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results