with one click
auto-optimize
// 跨语言代码库健康治理与自动优化系统。基于学术研究和实战经验,系统性检测 LLM 生成代码的结构性缺陷。完整流程:SCAN → DIAGNOSE → FIX → HARDEN。适用于任何语言的项目。
// 跨语言代码库健康治理与自动优化系统。基于学术研究和实战经验,系统性检测 LLM 生成代码的结构性缺陷。完整流程:SCAN → DIAGNOSE → FIX → HARDEN。适用于任何语言的项目。
Sage 到 Tink UI 框架的完全重构指南,包含迁移步骤、文件清单、架构设计
Sage 版本管理规范,包含语义化版本、CHANGELOG、发布流程
Sage CLI UI 设计规范,参考 Claude Code 的终端显示模式,包含对齐、颜色、图标等设计标准
Sage Agent 执行引擎开发指南,涵盖 UnifiedExecutor、Subagent、Lifecycle 管理
Sage 项目整体架构设计指南,基于 Claude Code、Crush 最佳实践的融合方案
Sage 独有的检查点系统设计,包含状态快照、文件追踪、回滚恢复机制
| name | auto-optimize |
| description | 跨语言代码库健康治理与自动优化系统。基于学术研究和实战经验,系统性检测 LLM 生成代码的结构性缺陷。完整流程:SCAN → DIAGNOSE → FIX → HARDEN。适用于任何语言的项目。 |
| when_to_use | 当需要系统性分析和优化代码库、防止 AI vibe coding 退化、执行代码健康检查、或批量修复架构问题时使用 |
| allowed_tools | ["Read","Grep","Glob","Edit","Write","Bash","Task"] |
| user_invocable | true |
| argument_hint | [target project path or 'self' for current project] [scan|full] |
| priority | 95 |
LLM 生成代码有五个结构性缺陷(基于 IEEE-ISTAS 2025、arxiv 2503.06327、arxiv 2512.18020):
防御原则: Policy-as-code > prompt engineering。
规则定义与执行逻辑分离,存放在 rules/ 目录:
rules/
├── universal.md # 通用规则 U-01 ~ U-23(所有语言必加载)
├── rust.md # Rust 特定 RS-01 ~ RS-09
├── python.md # Python 特定 PY-01 ~ PY-08
├── typescript.md # TypeScript 特定 TS-01 ~ TS-08
└── go.md # Go 特定 GO-01 ~ GO-06
每个规则文件包含:
扩展方式:添加新语言只需创建 rules/<lang>.md,无需修改 SKILL.md。
项目自定义:项目可在自己的 CLAUDE.md 中追加 NEVER 规则,扫描时自动合并。
SCAN → DIAGNOSE → FIX → HARDEN → (repeat)
自动检测项目语言和工具链,决定加载哪些规则文件:
检测逻辑:
1. 读取项目根目录文件列表
2. 匹配项目标识文件(每个 rules/<lang>.md 顶部定义了标识文件)
- Cargo.toml → 加载 rules/rust.md
- package.json → 加载 rules/typescript.md
- pyproject.toml / setup.py → 加载 rules/python.md
- go.mod → 加载 rules/go.md
3. 始终加载 rules/universal.md
4. 读取项目 CLAUDE.md,提取额外 NEVER 规则合并
5. 从语言规则文件中读取 lint/test/format 命令
多语言项目(如 monorepo)可同时加载多个规则集。
对每条已加载的规则,使用其定义的检测模式执行扫描:
对于每条规则 R in (universal + 语言特定):
如果 R 有 grep 检测模式:
运行 grep,统计违规数和位置
如果 R 依赖 lint 工具:
运行语言规则文件中定义的 lint 命令
如果 R 需要 AI 分析:
标记为"需深度扫描",留给 Phase 1.2
同时收集基础指标:
启动 3 个并行子 agent,处理 grep 无法覆盖的规则:
Agent 1: 结构分析
Agent 2: 语义重复 + 安全审计
Agent 3: 模式违规 + 迭代衰减
每个 agent 输出结构化报告:
| ID | 规则 | 严重度 | 位置 | 描述 |
|----|------|--------|------|------|
P0 (立即修复): 安全漏洞(U-06~U-10)、编译错误、数据丢失风险
P1 (本轮修复): 类型重复(U-01)、代码分叉(U-02)、死代码>300行(U-05)
P2 (下轮修复): 文件超200行(U-16)、命名不一致、缺失测试
P3 (记录不修): 风格偏好、注释缺失、文档过时
合并所有扫描结果,输出到 docs/todo/<date>/health-scan-report.md:
# 代码库健康诊断报告 [日期]
## 项目信息
- 语言: [auto-detected]
- 加载的规则集: universal + [语言]
- 项目自定义规则: [从 CLAUDE.md 提取的数量]
## 健康指标
| 指标 | 当前值 | 阈值 | 状态 |
|------|--------|------|------|
## 问题清单(标注规则 ID)
## 建议修复顺序
1. 创建修复分支(问题 > 3 个时)
2. 按 P0 → P1 → P2 顺序,每个问题:
a. 写/更新测试(红灯)
b. 修复代码(绿灯)
c. 运行 lint(从语言规则文件读取命令)
d. 运行测试(从语言规则文件读取命令)
e. 单独 commit
3. 全量回归测试
4. 合并到 main
| 问题类型 | 修复策略 | 禁止策略 |
|---|---|---|
| 类型重复 | 移到共享模块,原位置 re-export | 创建 type alias |
| 代码分叉 | 提取共享模块,删除旧实现 | 保留两套 + deprecated |
| 文件膨胀 | 按职责拆分子模块 | 只加注释不拆分 |
| 死代码 | 直接删除 | 注释掉保留 |
| 安全漏洞 | 修复 + 添加测试 | 加 TODO 推迟 |
核心原则:不做向后兼容。Breaking change 可接受,更新版本号。
每次修复一个 AI 引入的 bug:
1. 识别 bug 模式
2. 归类到已有规则 → 记录新案例
或创建新规则 → 分配 ID,写入对应 rules/<lang>.md
3. 如果可自动检测 → 在规则文件中添加检测模式
4. 同步到项目 CLAUDE.md(LLM 可读)和 CI(自动化)
## [日期] 健康扫描结果
- 语言: [detected]
- 规则集: universal + [lang] (共 N 条)
- 发现 N 个问题,已修复 M 个
- 新增规则:[ID + 描述]
- 测试基线:X/Y 通过
| 指标 | 阈值 | 适用 |
|---|---|---|
| 类型重复率 | 0% | 全部 |
| 文件膨胀率 | ≤5% | 全部 |
| NEVER 违规数 | 0 | 全部 |
| 安全问题数 | 0 | 全部 |
| Lint 警告数 | 0 | 全部 |
| 测试通过率 | 100% | 全部 |
| 死代码行数 | ≤100 | 全部 |
| 迭代衰减率 | ≤0% | 全部 |
/auto-optimize self # 扫描当前项目(自动检测语言)
/auto-optimize /path/to/proj # 扫描指定项目
/auto-optimize self full # 完整 SCAN → DIAGNOSE → FIX → HARDEN
/auto-optimize self scan # 只扫描,生成报告
执行时根据 $ARGUMENTS 判断目标项目和执行模式。默认对当前项目执行快速扫描。