跳到正文
cccskills
免费在 GitHub 公开

cc-size-check

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

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(6)

  • SKILL.md5.3 KB
  • agents/openai.yaml124 B
  • references/acceptable-complexity.md235 B
  • references/simplification-signals.md172 B
  • references/size-heuristics.md217 B
  • templates/size-report.md103 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Size Check - 代码简化与文件行数检查

触发方式

用户执行 $cc-size-check 或 $size-check 或描述"简化代码"、"检查文件大小"时触发。


功能 1:代码简化(原有能力)

审查变更代码的复用性、质量和效率,修复发现的问题。

检查项

检查项说明
重复代码提取公共方法/组件
过度抽象简化不必要的设计模式
冗余逻辑合并可简化的条件分支
未使用代码删除死代码、无用 import

功能 2:文件行数扫描

行数阈值

语言上限拆分方式
Java300Service 拆分职责、提取 Helper/Converter
Go400按功能拆分同包文件
Vue200提取子组件、composables
TSX/JSX200提取子组件
TypeScript/JS300提取工具函数、常量、类型
Python300按职责拆分模块

执行流程

全项目扫描模式(用户未指定文件时):

1. 扫描项目所有代码文件(排除 node_modules、vendor、dist、build、.git)
2. 统计每个文件行数,对照阈值标记超限文件
3. 检测 Markdown 文件中的重复章节(相同标题出现多次)
4. 输出超限清单 + 拆分建议

单文件模式(用户指定文件时):

1. 检查代码复用、质量、效率
2. 检查行数是否超限
3. 如果超限,给出具体拆分方案

输出格式

## 文件行数扫描结果

### 超限文件

| 文件 | 行数 | 阈值 | 超限 | 建议 |
|------|------|------|------|------|
| 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 行的组件级样式。

输出格式

在文件行数扫描结果中追加:

### 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. 检查是否涉及重构:
    • 如果涉及表格列、数据结构、条件分支的修改,触发 cc-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]

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

当设计或修改 REST API 响应结构、处理 API 返回值,或生成 Excel/CSV/PDF/对账文件等下游产物时触发。防止 API 设计缺陷导致的字段错位、类型歧义,以及生成产物时关键字段缺失但静默成功的问题。

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10662026年8月26日 更新

当设计或修改 REST API 响应结构、处理 API 返回值时触发。防止 API 设计缺陷导致的字段错位、类型歧义等问题。

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10662026年8月26日 更新

网关/代理/WAF/CDN 中间件的安全关键词匹配实现规范,防止纯子串匹配误判正常响应内容中的技术术语(如 Cloudflare、502、error)

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10662026年8月26日 更新

当 API/任务可能执行超过 10 秒(批量数据处理、远程 API 批量调用、全表扫描、跨租户聚合)时触发。防止同步接口被网关 30s 超时切断、用户重复点击触发并发、状态缓存内存泄漏等问题。提供异步任务状态机标准模板。

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10662026年8月26日 更新

Bash 脚本与系统命令规范。禁止行尾注释,强制使用 tee/heredoc 写入,提升命令执行的可维护性。

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10662026年8月26日 更新

当用户操作 .sh、Dockerfile、Makefile、.yml、.yaml 文件,或在 Markdown 中编写 bash 代码块时触发。提供 Bash 编写规范。

中文简介正在准备中。当前显示原文说明。

doccker/cc-use-exp10662026年8月26日 更新

查看 doccker 的全部技能

报告此技能的问题