원클릭으로
refactor-check
重构完整性检查技能。验证重构后代码的一致性、完整性和正确性,确保没有遗漏或破坏性变更。触发场景包括"检查重构"、"重构验证"、"代码迁移检查"。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
重构完整性检查技能。验证重构后代码的一致性、完整性和正确性,确保没有遗漏或破坏性变更。触发场景包括"检查重构"、"重构验证"、"代码迁移检查"。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Mac 系统深度清理和优化工具。使用 Mole (mo 命令) 执行系统清理、磁盘分析、应用卸载、系统优化等任务。 触发场景(当用户提到以下任一内容时使用此 skill): - 清理 Mac、清理磁盘、释放空间、清理缓存、清理系统 - 卸载应用、删除应用、移除应用及其残留 - 磁盘分析、查看磁盘占用、大文件查找、空间分析 - 系统优化、系统维护、刷新系统、重建缓存 - 系统状态、系统监控、CPU/内存/磁盘监控 - 清理 node_modules、清理构建产物、清理项目依赖 - 清理安装包、删除 dmg/pkg 文件 - Mac 清理工具、类似 CleanMyMac 的功能 - "我的 Mac 太慢了"、"磁盘空间不足"、"电脑卡顿" - 即使没有明确说 "Mole",只要涉及上述场景就应使用
快速搭建和配置 pnpm monorepo 项目结构,包含 TypeScript、tsup 构建、私有 npm registry 配置。当用户需要"创建 monorepo"、"初始化 monorepo 项目"、"配置 pnpm workspace"、"设置 monorepo 构建"、"monorepo setup"时使用。特别适合需要统一管理多个包、配置构建工具、处理 TypeScript 路径问题的场景。即使用户只是说"帮我搭建项目结构"或"配置构建",如果涉及多包管理也应该使用此 skill。
智能拆分暂存区的代码变更为多个符合 Conventional Commits 规范的逻辑提交。当用户需要将大量变更按逻辑关系分组提交时使用,比如"拆分这些提交"、"把暂存区的变更分成多个 commit"、"按功能分别提交"、"split commits"等场景。特别适合处理包含多个模块、多种类型文件(配置、代码、测试、文档)的复杂变更集。
OKR 优化与质量评估专家。当用户需要:(1) 评估现有 OKR 的质量,(2) 优化模糊或不可量化的关键结果,(3) 检查 OKR 是否符合核心原则(聚焦、可量化、有挑战),(4) 将任务型 KR 转化为结果型 KR,(5) 提供具体的改进建议时使用。触发词包括"帮我优化 OKR"、"检查这个 OKR"、"这个 KR 写得好吗"、"如何量化这个目标"。
基于 git commits 自动生成 CHANGELOG.md 变更日志。支持语义化版本、分类整理、多格式输出。触发场景包括"生成变更日志"、"更新 CHANGELOG"、"版本记录"。
GitHub PR 代码审查技能。检查代码质量、安全性、性能和最佳实践,生成结构化审查报告。触发场景包括"审查 PR"、"代码检查"、"review pull request"。
| name | refactor-check |
| description | 重构完整性检查技能。验证重构后代码的一致性、完整性和正确性,确保没有遗漏或破坏性变更。触发场景包括"检查重构"、"重构验证"、"代码迁移检查"。 |
| allowed-tools | Grep, Glob, Read, Bash(npm test:*, yarn test:*, npx tsc:*) |
基于 7 次需要多次修复的代码问题分析,本技能提供系统化的重构验证流程,减少迭代修复次数。
┌─────────────────────────────────────────────┐
│ 重构检查流程 │
├─────────────────────────────────────────────┤
│ 1. 收集变更文件 │
│ └─ git diff --name-only │
│ │
│ 2. 分析重构范围 │
│ └─ 识别重命名、移动、删除 │
│ │
│ 3. 检查导入路径 │
│ └─ 扫描所有引用 │
│ │
│ 4. 验证类型一致性 │
│ └─ TypeScript 编译检查 │
│ │
│ 5. 运行测试 │
│ └─ 单元测试 + 集成测试 │
│ │
│ 6. 检测遗留代码 │
│ └─ 搜索旧命名和废弃代码 │
│ │
│ 7. 生成报告 │
│ └─ 汇总问题和建议 │
└─────────────────────────────────────────────┘
/refactor-check
/refactor-check --imports-only
/refactor-check --test-only
/refactor-check src/components
/refactor-check --base main --head feature/refactor
# 搜索旧的导入路径
grep -r "from 'old-path'" src/
grep -r 'from "old-path"' src/
# 检查 tsconfig paths 是否正确
grep -r "@old-alias/" src/
npx tsc --noEmit
grep -r ": any" src/ --include="*.ts"
npm test -- --passWithNoTests
yarn test --passWithNoTests
npm test -- -u
# 假设 OldComponent 被重构为 NewComponent
grep -r "OldComponent" src/
grep -r "oldComponent" src/
grep -r "old-component" src/
## 重构检查报告
**检查时间**: YYYY-MM-DD HH:mm:ss
**检查范围**: [文件/目录]
---
### ✅ 通过检查
- [x] TypeScript 编译通过
- [x] 单元测试通过 (42 passed)
- [x] 无循环依赖
---
### ❌ 发现问题
#### 1. 导入路径未更新
**文件**: `src/utils/helper.ts:3`
**问题**: 引用了旧路径 `@/old-module`
\`\`\`typescript
// 当前
import { foo } from '@/old-module'
// 应改为
import { foo } from '@/new-module'
\`\`\`
**影响范围**: 3 个文件
#### 2. 类型定义不一致
**文件**: `src/types/user.ts`
**问题**: `User` 接口缺少 `role` 字段
\`\`\`diff
interface User {
id: string
name: string
+ role: UserRole
}
\`\`\`
#### 3. 遗留代码
**位置**: `src/deprecated/`
**说明**: 发现 2 个废弃文件未删除
- `src/deprecated/oldService.ts`
- `src/deprecated/oldHelper.ts`
---
### 📊 统计
| 检查项 | 状态 | 详情 |
|--------|------|------|
| 导入路径 | ❌ | 3 处未更新 |
| 类型定义 | ❌ | 1 处不一致 |
| 测试 | ✅ | 42/42 通过 |
| 遗留代码 | ❌ | 2 个文件 |
| TypeScript | ✅ | 无错误 |
---
### 建议操作
1. 更新以下导入路径:
- `src/utils/helper.ts`
- `src/components/Form.tsx`
- `src/pages/index.tsx`
2. 补充类型定义:
- 在 `User` 接口添加 `role` 字段
3. 清理遗留代码:
- 删除 `src/deprecated/` 目录
检查项:
1. 搜索旧组件名(驼峰、短横线)
2. 检查导入语句
3. 更新测试文件
4. 更新文档
5. 检查 CSS 类名
检查项:
1. 更新所有相对导入
2. 更新 tsconfig paths
3. 更新 jest moduleNameMapper
4. 更新 webpack alias
5. 检查动态导入
检查项:
1. 检查循环依赖
2. 验证导出完整性
3. 更新 package.json 依赖
4. 运行所有依赖方测试
# 使用 sed 批量替换(谨慎使用)
find src -name "*.ts" -exec sed -i '' 's/@old-path/@new-path/g' {} \;
find src -type f -empty -delete
{
"refactorCheck": {
"exclude": ["**/*.test.ts", "**/dist/**"],
"rules": {
"importCheck": true,
"typeCheck": true,
"testRun": true,
"legacyCode": true
},
"autoFix": false
}
}