跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

size-check

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

项目与协作1.1kskills/size-check/SKILL.md

安装

把这段话发给 Claude Code、Codex 或 Cursor。智能体会先检查安全性,你确认后才安装。

读取 https://funcoding.ai/skills/doccker/cc-use-exp/size-check/install.md ,按里面的步骤帮我安装这个 Skill。

SKILL.md

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

相似的 Skill

slack-gif-creator
anthropics/skills180k

slack-gif-creator

Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack."

项目与协作

observability-and-instrumentation
addyosmani/agent-skills103k

observability-and-instrumentation

Instruments code so production behavior is visible and diagnosable. Use when adding logging, metrics, tracing, or alerting. Use when shipping any feature that runs in production and you need evidence it works. Use when production issues are reported but you can't tell what happened from the available data.

项目与协作

understand-diff
Egonex-AI/Understand-Anything86k

understand-diff

Use when you need to analyze git diffs or pull requests to understand what changed, affected components, and risks

项目与协作

skill-share
ComposioHQ/awesome-claude-skills77k

skill-share

A skill that creates new Claude skills and automatically shares them on Slack using Rube for seamless team collaboration and skill discovery.

项目与协作

slack-gif-creator
ComposioHQ/awesome-claude-skills77k

slack-gif-creator

Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives. This skill applies when users request animated GIFs or emoji animations for Slack from descriptions like "make me a GIF for Slack of X doing Y".

项目与协作

connect-apps
ComposioHQ/awesome-claude-skills77k

connect-apps

Connect Claude to external apps like Gmail, Slack, GitHub. Use this skill when the user wants to send emails, create issues, post messages, or take actions in external services.

项目与协作