# Claude Code 全局规范

## Skill 自动调用（红线）
4|
5|所有已安装的 Skill 必须**自动识别、自动调用**，绝不让用户手动输入 `/skill-name`。
6|
7|### 自动触发机制
8|
9|每次用户消息到来时，按以下流程自动匹配：
10|
11|1. **读取所有可用 Skill 的 description 字段**（每个 `SKILL.md` 的 frontmatter）
12|2. **将用户意图与 description 中的触发条件做语义匹配**
13|3. **匹配成功 → 直接调用 Skill 执行**，不需要用户确认
14|4. **多个 Skill 匹配 → 按优先级依次调用**，不等待
15|
16|### 已安装 Skill 及触发条件速查
17|
18|| Skill | 自动触发场景 |
19||-------|------------|
20|| `nature-polishing` | 润色论文段落、摘要、引言、结果、讨论、结论、标题；中文学术文本翻译为 Nature 级英文 |
21|| `nature-writing` | 撰写/重构论文草稿、摘要、引言、方法、实验、结论；中文实验笔记转论文 |
22|| `nature-figure` | 制作/修改/审核论文配图、多面板科学图表、Nature 风格 matplotlib 图 |
23|| `nature-citation` | 为论文段落自动匹配 Nature/CNS 系列引用、导出参考文献 |
24|| `nature-data` | 准备数据可用性声明、数据仓库计划、FAIR 元数据检查 |
25|| `nature-reader` | 论文全文翻译/对照阅读、图文对应标注 |
26|| `nature-response` | 起草审稿回复、逐条回应 Reviewer 意见 |
27|| `nature-paper2ppt` | 论文转 PPT、组会报告、学术演讲幻灯片 |
28|| `nature-academic-search` | 多源文献检索（PubMed/CrossRef/arXiv）、引用格式转换 |
29|| `蒙多` | 遇到瓶颈/卡住/搞不定/报错/需要其他方案时自动变身跨界学习 |
30|| `code-tidy` | 代码写完后自动清理死代码、冗余注释、未用导入 |
31|| `neat-freak` | 阶段结束/收尾/整理文档/同步记忆时触发 |
32|| `homepage-layout` | 新增/修改项目页面后自动检查主页布局 |
33|| `resume-builder` | 制作/优化简历（白底专业风格，禁止深色主题，单文件HTML） |
34|| `simplify` | 代码审查、查找重复逻辑、质量优化 |
35|| `claude-api` | 涉及 Anthropic SDK / Claude API 代码时 |
36|| `security-review` | 提交前安全审查 |
37|
38|### 触发关键词映射
39|
40|当用户消息包含以下关键词时，**立即调用对应 Skill**，不得跳过：
41|
42|- **论文/实验报告/学术写作** → `nature-writing`（撰写）+ `nature-polishing`（润色）
43|- **论文润色/改写/翻译成英文/投稿** → `nature-polishing`
44|- **画图/做图/图表/Figure/配图/可视化** → `nature-figure`
45|- **引用/参考文献/投稿格式/CNS引用** → `nature-citation`
46|- **数据声明/数据共享/数据仓库/FAIR** → `nature-data`
47|- **审稿回复/Reviewer/修改意见** → `nature-response`
48|- **PPT/组会/报告/答辩/幻灯片** → `nature-paper2ppt`
49|- **论文翻译/文献精读/对照阅读** → `nature-reader`
50|- **查文献/搜索论文/找文章/检索** → `nature-academic-search`
51|- **卡住了/搞不定/报错/没思路/换方案** → `蒙多`
52|- **简历/简历/CV/求职/找工作/投简历** → `resume-builder`（白底专业风格，禁止深色主题）
53|- **整理代码/清理/洁癖/tidy** → `code-tidy`
54|- **收尾/同步/整理文档/更新记忆/这个阶段做完了** → `neat-freak`
55|- **主页布局/首页排版/check layout** → `homepage-layout`
56|- **安全审查/安全检查** → `security-review`
57|
58|### 强制规则
59|
60|- 用户说"论文"或"实验报告"时，**必须自动启动 nature-writing 或 nature-polishing**，不能让用户再打 `/nature-xxx`
61|- 用户说"画图"/"做图"时，**必须自动启动 nature-figure**
62|- 用户遇到任何报错/瓶颈时，**必须自动启动 蒙多**
63|- **所有 Skill 都一样**：只要用户意图匹配，直接调用，不等指令
64|- **禁止**：等用户说 `/skill-name` 才行动、问"要不要用 XX skill"、跳过匹配流程
65|
66|





## 性能优化

### 上下文窗口管理

以下任务避免在上下文窗口最后 20% 执行：
- 大范围重构
- 跨多文件的功能实现
- 复杂交互调试

以下任务可在低上下文敏感区执行：
- 单文件编辑
- 独立工具创建
- 文档更新
- 简单 bug 修复

### 复杂度控制

- 避免在一个函数中处理超过 3 层抽象
- 复杂任务拆分为独立子任务，独立任务并行执行
- 查资料/验证等只读操作可并行，写代码操作串行保安全

---

1|# Universal Agent Spec — 通用规范核心
2|
3|> 本文件是所有 AI Agent 共享的行为规范。
4|> 各 Agent 适配文件（agents/ 目录）在部署时会把本文件内容与 Agent 专属配置合并。
5|> 修改本文件 = 修改所有 Agent 的行为。
6|
7|## 语言规则
8|
9|始终使用中文（简体中文）回复。
10|
11|仅以下内容使用英文：
12|- 代码本身（变量名、函数名、类名、关键字）
13|- URL 链接、命令行指令、API Key
14|- 英文专有名词（GitHub、DeepSeek 等）
15|
16|禁止：用英文解释代码、用英文回复用户、中英混杂回复。
17|
18|## 用户身份
19|
20|- 技能：MATLAB/Simulink 仿真、Python、HTML/CSS
21|- 工具链：MATLAB R2016b、Python 3.12、微信小程序
22|- 系统：macOS 为主，所有工具需同时覆盖 Windows
23|- 语言：中文交流，代码命名用英文
24|- 风格：直接切入主题、不废话、简洁无冗余
25|
26|## 回复洁癖（红线）
27|
28|- 简单问题 → 一句话回答，不要展开
29|- 完成任务 → 说结果，不做总结
30|- 修改代码 → 说改了什么，不解释为什么（除非被问）
31|- 遇到错误 → 说原因和解决方案，不加废话
32|- 禁止结尾写"总结一下""以上就是"等段落
33|
34|## 代码注释
35|
36|- 只解释"为什么"，不解释"是什么"
37|- 默认不写注释。仅在 WHY 不明显时加一行短注释
38|- 禁止多行文档字符串（docstring）
39|- 禁止注释块
40|
41|## 文档和文件
42|
43|- 不创建 README、CHANGELOG、计划文档——除非用户明确要求
44|- 不写多段落说明，能一句话说完不写两句
45|- 不创建临时文件、中间文件
46|
47|## 代码规范
48|
49|### 命名约定
50|
51|- 变量和函数：`camelCase`，描述性命名
52|- 布尔值：用 `is`/`has`/`should`/`can` 前缀
53|- 接口/类型/组件：`PascalCase`
54|- 常量：`UPPER_SNAKE_CASE`
55|- 文件名：kebab-case 或 snake_case，全局统一
56|- 不用拼音，不用无意义缩写
57|
58|### 不可变数据（CRITICAL）
59|
60|永远创建新对象，不修改已有对象：
61|```
62|错误: modify(original, field, value) → 原地修改 original
63|正确: update(original, field, value) → 返回新副本，原对象不变
64|```
65|
66|### 核心设计原则
67|
68|- **KISS**：选择最简单有效的方案
69|- **DRY**：提取重复逻辑到共享函数
70|- **YAGNI**：不提前构建用不到的功能
71|- 三个相似代码行 > 一个不必要的抽象
72|
73|### 文件组织
74|
75|- 一个文件一个职责
76|- 200-400 行标准，800 行硬上限
77|- imports 按 标准库 → 第三方 → 本地 分组
78|
79|### 错误处理（红线）
80|
81|- 每一层显式处理错误
82|- 绝不静默吞掉错误（`except: pass` 禁止）
83|- 捕获具体异常类型，不用裸露 `except Exception`
84|- 外部数据永远不信任——先验证再使用
85|
86|### 代码坏味道
87|
88|- 条件嵌套超过 3 层 → 用提前返回展平
89|- 魔法数字 → 用命名常量
90|- 死代码 → 发现即删
91|
92|### 语言专项
93|
94|**Python**：密钥从环境变量读取，错误处理捕获具体类型，日志优先于 print，函数 <50 行，爬虫必须用 Scrapling
95|
96|**MATLAB**：R2016b 兼容底线，snake_case.m，禁止 eval/feval，函数 <200 行
97|
98|**HTML/CSS**：深色主题，CSS 变量 :root，响应式 max-width，不引入外部框架
99|
100|## Git 规范
101|
102|- Commit：`<type>: <description>`（feat/fix/refactor/docs/chore/perf/ci）
103|- 每次代码修改后自动 add + commit + push
104|- 不提交 .env、密钥、__pycache__、.DS_Store、node_modules/
105|
106|## 安全红线
107|
108|- 绝不硬编码密钥（API Key、Token、密码）
109|- 所有密钥从环境变量读取
110|- .env 不提交到 Git
111|- 已泄露密钥立即撤销并重新生成
112|
113|## 跨平台要求
114|
115|- 所有工具/脚本/教程同时覆盖 Windows 和 macOS
116|- 新脚本同时提供 .bat/.ps1（Win）和 .sh/.command（Mac）
117|
118|## 代码质量检查清单
119|
120|每次写完代码，自问：
121|- [ ] 有没有 import 了但没用的包？
122|- [ ] 有没有定义了但从未调用的函数/变量？
123|- [ ] 有没有被注释掉的代码块？
124|- [ ] 函数是否 <50 行？文件是否 <800 行？
125|- [ ] 有没有硬编码密钥？
126|
127|## 安装洁癖（红线）
128|
129|每次安装操作后，清理残留：
130|- .dmg .pkg .zip .tar.gz 安装完成后立即删除
131|- 解压产生的临时文件夹用完即删
132|- brew cleanup / pip cache purge / npm cache clean
133|- .DS_Store 发现即删
134|
135|## 辩证思维（分析/论证/选型/评审任务自动激活）
136|
137|- 盲假设：分析前先写下预期，预期不可事后修改
138|- 多维评估：用量化评分框架，不靠"我觉得"
139|- 对抗验证：对自己的结论发起五维攻击（边界/安全/性能/依赖/矛盾）
140|- 跨模型对审：重要结论请独立模型复核
141|- 观察生命周期：单次→跨样本→规律沉淀/被推翻
142|- 校准反馈：记录判断 confidence，事后对比，修正系统性偏差
143|- 简单任务不触发此模式
144|
