# zcbot Skill 清单

服务对象:中国建筑材料科学研究总院 —— 无机非金属材料 R&D(水泥 / 混凝土 / 玻璃 / 陶瓷 / 耐火 / 新型建材)
最后更新:2026-07-07(ppt 验收改纯代码几何质检,撤除渲图 vision 验收环节)
Skill 总数:17

zcbot 的"skill"是一份可加载的工作流脚本(`skills/<name>/SKILL.md` + 配套 templates / scripts / Python helper),模型在识别用户意图后挂载对应 skill,按其内置的阶段化流程产出可交付物。本文档面向**使用方 / 协作方**,按"做什么、什么时候用、什么时候别用、典型产物"组织。

> **用户私有 skill**:除内置 skill 外,每个用户可在自己私有的 `.skills/` 下创建 / 改造 skill(只对自己生效,不影响他人)。用 `skill-creator` 引导即可——从零写或 fork 某个内置 skill 再改。用户 skill 与内置**同名则覆盖内置**(列表里标 `[你的·已覆盖内置]`),改名则并存。

---

## 速览

| 分类 | Skill | 一句话 |
|---|---|---|
| 科研写作 | [paper](#paper) | 写期刊投稿论文:中文核心 / 英文 SCI(原创 / 综述 / 快报,IMRaD + 引文三角核验) |
| 科研写作 | [proposal](#proposal) | 写本子 / 申报书 / 任务书(6 类基金) |
| 科研写作 | [standard](#standard) | 起草标准:国标 / 行标 / 团标(含 T/CSTM)+ 编制说明 |
| 科研写作 | [patent](#patent) | 写发明专利技术交底书(供代理师转写) |
| 科研写作 | [review](#review) | 审稿 / 润色 / 校对(中英文,长文档分段深审) |
| 演示出图 | [ppt](#ppt) | 生成可编辑 PowerPoint(SVG-first:逐页手写 SVG → 转原生 DrawingML;19 种视觉风格 + 模板库) |
| 演示出图 | [plot_pub](#plot_pub) | 出版级 matplotlib 学术图(中文 + viridis + 矢量 + 投稿级复合图设计纪律) |
| 文献检索 | [research](#research) | 查 paper_server(OpenAlex 元数据 + Sci-Hub 下载) |
| 文献检索 | [documents](#documents) | 查内部 7 学科材料知识库(100W+ 论文,跨语言检索;host-side tool 持 key) |
| 文献检索 | [brief](#brief) | 科研方向简报:三路检索(research + 内部库取文献 / web 取动向)→ 重要论文列表(带摘要概述)+ 内容总结,只描述不给建议 |
| 科研计算 | [pymatgen](#pymatgen) | 晶体结构 / XRD 模拟 / 相图 / Materials Project(host-side tool 持 key) |
| 科研计算 | [stats_ml](#stats_ml) | 配方-性能建模与机器学习(三库分工) |
| 内容生成 | [imagegen](#imagegen) | 豆包 Seedream 5.0 文生图 + 改图 i2i(¥0.22 / 张) |
| 内容生成 | [videogen](#videogen) | 豆包 Seedance 2.0 文生视频(¥1.86 起 / 段) |
| 通用 | [analyze](#analyze) | 科学问题拆解 / 引导(模糊命题 → 子问题 + 路线图) |
| 通用 | [coding](#coding) | 修代码 / 调试 / 重构 |
| 元能力 | [skill-creator](#skill-creator) | 引导用户创建 / 改造自己的私有 skill(从零写或 fork 内置) |

---

## 科研写作

### paper
**撰写学术期刊投稿论文(中文核心 / 英文 SCI)。**

把实验数据 / 前期报告整理成可投稿的论文 .docx。流程:**先定类型与语言 → 八条对齐 spec → 文献矩阵 → 先定图表 → 逐章一段一卡 → 引文三角核验 → 验收渲染 + 投稿件**,不一口气出全文,关键章(Intro/Methods/Results/Discussion)"一段一卡"。

**覆盖类型 × 语言**(子 md 分流,一篇只挂一套):
- 类型:原创研究(`original`,IMRaD)/ 综述(`review`,主题式)/ 快报(`letter`,凝练版)
- 语言:中文核心(GB/T 7714 + 中文硬规则)/ 英文 SCI(Elsevier/IEEE 数字制 + 英文硬规则)

**何时用**:写论文、投稿稿、manuscript、写 Introduction/Methods/Results/Discussion、写综述、把实验数据整理成可投稿论文。

**何时不用**:
- ⛔ 只改 / 润色已有稿 → 走 review
- ⛔ 写本子 / 申报书 → 走 proposal;写交底书 → patent;写标准 → standard
- ⛔ 只查文献 → research / documents;只出图 → plot_pub

**核心能力**:
- 三类论文 × 中英双语的 IMRaD / 主题式骨架 + 篇幅预算(`paper_types.md`)
- **引文三角核验**(`citation_verify.md`,移植 ARS 思路、后端换成自有 documents/research 库):存在性 → 三角印证 → 支撑度(抓原文比对 ≤25 词锚点,partial 就改论断迁就证据),编造引文零容忍
- "先定图表再写正文"纪律(接 plot_pub 出 figure)+ 文献矩阵立证据底座
- 写作顺序 Methods→Results→Intro→Discussion→Abstract→Title;关键章一段一卡 + 预告下一段
- `quality_check.py`:结构 / 占位符 / 过度宣称 + **引文交叉核对**(orphan / uncited / 编号连续);docx/pdf 调平台渲染层 `rendering/render.py --profile paper`(中英字体切换 + 图题自增);`word_count.py` 按类型 × 语言核篇幅
- 终审复用 review skill 的反谄媚审稿协议;可选出 cover letter / AI 声明 / CRediT

**典型产物**:`<topic>.docx`(投稿稿)+ sections/ 分章草稿 + `lit_matrix.md`(文献矩阵)+ `CITATIONS.md`(引文核验台账)。

---

### proposal
**撰写中国科研项目申报书 / 课题任务书。**

把课题信息整理成可提交的申报书 .docx。流程是**先定基金类型 → 八条对齐 spec → 逐章列要点 → 起草 → 渲染 docx**,不一口气出全文,每个关键章节"一段一卡"等用户确认。

**覆盖基金类型**:
- 国家重点研发计划(`key_rd`)
- 国家科技重大专项(`major_project`)
- 国自然面上 / 青年(`nsfc_general` / `nsfc_youth`)
- NSFC 联合基金(`nsfc_joint_fund`)
- 省 / 地方基金(`provincial`)
- 横向(`enterprise`)

**何时用**:写本子、立项依据、研究方案、技术路线、申报书、任务书、申请书。

**核心能力**:
- 6 类基金的章节骨架 + 字数预算 + 必填表格(`fund_types.md`)
- GB/T 7714 顺序编码制 + 文献真实性铁律(不允许编造引文)
- 评审雷区清单与"不可考核词"过滤(`review_redlines.md`)
- 间接费用台阶 + B1-B4 经费表自动生成
- mermaid 技术路线图自动渲染成 PNG 并按 caption 编号插图
- `quality_check.py` 校验:结构完整性 / 假大空 / 占位符 / 指南覆盖度 / 插图引用

**典型产物**:`<task>/<task>.docx`(带目录 + 自动图题 + 图表编号) + sections/ 分章草稿。

---

### standard
**起草中国标准文件(国标 / 行标 / 团标)及配套编制说明。**

把材料 / 方法 / 产品信息变成符合 **GB/T 1.1—2020《标准化工作导则》** 的标准草稿 .docx。流程:**先定层级与体裁 → 八条对齐 spec → 逐章起草 → 自检渲染**,不一口气出全文,核心技术章"一段一卡"。

**覆盖层级**(用户确认三类,不做地标):
- 国家标准(GB 强制 / GB·T 推荐)
- 行业标准(建材 **JC·T** 等)
- 团体标准(**T/**,重点对接 **CSTM → T/CSTM**,材料试验团标对口建材院检测方向,周期最短最易牵头)

**覆盖体裁**(已做骨架):试验方法标准(GB/T 20001.4)、产品标准;术语 / 规程按需补。

**何时用**:写标准、起草标准、编标准、做试验方法 / 产品标准、写标准草案 / 征求意见稿 / 送审稿 / 报批稿、写标准编制说明。

**何时不用**:
- ⛔ "按 XX 标准做检测 / 写报告" → 是执行标准,不是写标准
- ⛔ 写投标技术方案 → 不是标准;写申报书 → 走 proposal;写专利交底书 → 走 patent
- ⚠️ 用户说"标准"但其实指企业内部规程 / 作业指导书 → 先反问是否对外发布

**核心能力**:
- **GB/T 1.1 要素骨架**:封面 / 前言 / 引言 / 范围 / 规范性引用文件 / 术语 / 技术要素 / 附录 / 参考文献,标注必备 vs 可选、规范性 vs 资料性 + 封面前言固定套话
- **层级选型**:国标 GB·T / 行标 JC·T / 团标 T·CSTM 的编号规则、归口路径、立项程序(含 CSTM 体系与三维结构)+ 选型决策树
- **起草铁律**:能愿动词(应 / 不应 = 要求,宜 = 推荐,可 = 允许,能 = 能力)、不可考核词过滤、指标量化闭环(要求章 ↔ 试验方法章呼应)、术语一术一义、引用真实性
- **编制说明**(报批必交件):立项依据 / 国内外现状 / 主要技术指标确定依据 / 试验验证骨架
- 渲染复用 proposal 脚本(同一套 markdown + mermaid + 自动图表编号)

**典型产物**:`<标准名称>.docx`(标准正文草稿)+ `<标准名称>_编制说明.docx`;正式报批前灌官方 TCS / CSTM 模板做版式精修。

---

### patent
**撰写中国发明专利技术交底书(供专利代理师转写为正式申请文件)。**

把项目素材(方案 docx / 汇报 pptx / 论文 pdf / 代码)变成可交给代理师的技术交底书 .docx。流程:**摄取素材 → 挖专利点 → 现有技术检索 → 八条对齐 spec → 逐章起草 → 渲染**。

**何时用**:写交底书、挖专利点、做现有技术检索、把项目材料 / 代码 / 论文整理成可申报的发明专利材料。

**核心能力**:
- 专利点分类(方法 / 装置 / 系统 / 介质)+ 三性自检(新颖 / 创造 / 实用)
- 客体排除清单(纯商业方法 / 智力活动规则 / 数学算法本身 → 直接淘汰)
- 现有技术检索:web_search 搜中国专利文库 + Google Patents + documents 本地命中
- 七章交底书骨架(技术领域 / 背景 / 发明内容 / 实施例 / 有益效果 / 附图说明 / 摘要)
- 渲染脚本复用 proposal skill(同样的 markdown + mermaid 约定)
- 自查清单:参数 / 公式一致、逻辑闭环、脱敏边界、附图编号

**典型产物**:技术交底书 .docx(7 章,含创新点对照表 + 区别技术特征 + 附图)。

---

### review
**审稿 / 润色 / 校对中英文文本。**

面向中文、英文或中英混排文本。**保住作者意图与事实边界**,再提升结构、语义、连贯性和语言质量。不是只改错别字 —— 全局问题优先于局部润色。

**何时用**:
- 用户说"审稿" / "帮我看看" / "润色" / "校对"
- 给论文 / 申报书 / 报告 / 邮件 / PPT 文案 / 合同说明 / 宣传稿要求改进
- 要求指出问题、给修改意见、生成修改稿、做前后对照
- 关心读者理解、语气、说服力、专业性、一致性或投稿 / 评审风险

**何时不用**:
- 从零起草新文本 → 走对应写作 skill(proposal / patent)
- 事实核查 / 文献真伪 / 最新政策 → 先用 research / documents / web 核验
- 代码审查 → 走 coding

**审稿顺序**(先大后小,分层处理):
1. 任务与读者 → 2. 结构与主旨 → 3. 语义与事实边界 → 4. 逻辑与连贯 → 5. 表达与风格 → 6. 语言细节

**长文档处理**(≥5000 字 / 8 页 / ≥4 个一级章节):
- **阶段 1 骨架扫描**:通读全文,只出"章节目录 + 全局问题表 + 章节粗读印象 + 疑点章节",**不出修改稿**;等用户挑章节
- **阶段 2 分段深审**:用户指定章节后再出"问题表 + 修改稿",每轮 1-3 章

---

## 演示出图

### ppt
**生成可编辑 PowerPoint 演示文稿 (.pptx)。SVG-first 路线。**

把材料(汇报草稿 / 项目方案 / 调研报告)变成可演示、**可编辑**的 .pptx。流程:**素材摄取 → 八条对齐 + 逐页大纲(spec)→ [配图] → 逐页手写 SVG → SVG 质检 → 后处理 → 导出 PPTX**(质检是代码几何检测,越界/压字/错位全部机检;导出边界自动复跑同套硬错误,有 error 拒绝产出 pptx)。核心是 AI 把每页当**矢量设计稿手写成 SVG**(设计自由度=浏览器级),再由纯 Python 转换器逐元素译成**原生 DrawingML**(形状/文本/渐变都能在 PowerPoint 里选中改)——告别 python-pptx 固定版式件的单调与 AI 味。

**触发**:
- ✅ 用户明确点名 PPT / 幻灯片 / 演示文稿 / .pptx / slide / deck
- ⛔ 用户明确说"报告 / 文档 / 纪要"等纯文档产物 → 不走本 skill
- ⚠️ 用户说"汇报 / 方案 / 材料"等产物形态不明 → **先反问** PPT 还是 Word/Markdown,确认后再 load

**定向模型**:frontmatter 定向 `glm.pro52`(GLM-5.2)—— 对话中 load 本 skill 时自动切换到该模型(不限档位,不自动切回;后续消息沿用,可在顶栏下拉手动切走)。

**默认主题 —— 自由设计**(content-driven):按内容+受众+选定 visual_style 派生配色版式,spec 阶段给 ≥3 套候选挑;商务红/品牌色作为候选之一,用户点名或素材有 brand guideline 才锁定。

**八条对齐**(spec 阶段定稿,a–h):画布 / 页数 / 受众+核心信息+投递目的 / mode+visual_style / 配色 / 图标库 / 字体+字号 / 配图。确认后产出两份引擎契约:`design_spec.md`(人读叙事)+ `spec_lock.md`(机读执行锁,executor 每页重读、抗长 deck 漂移)。

**核心能力**:
- **SVG→原生 PPTX 转换器**:逐元素译 DrawingML(圆角矩形/渐变/阴影/箭头/裁切图都映射原生),非截图嵌图,完全可编辑;默认嵌演讲者备注 + Office 兼容兜底
- **19 种视觉风格 + 5 种叙事骨架**:editorial / swiss-minimal / glassmorphism / dark-tech / data-journalism… × pyramid / narrative / instructional / showcase / briefing —— 去 AI 味的关键
- **模板库**:layouts(版式)/ decks(整套:中汽研/招商银行/重庆大学等)/ brands(品牌)/ charts(71 个图表信息图)/ icons(5 套共 1.1w+ 图标,finalize 自动内嵌)
- **逐页节奏纪律**:论断式标题、page_rhythm(anchor/dense/breathing,breathing 页禁卡片墙)、内容→版式映射、图文版式 72 式
- **SVG 质检** `svg_quality_checker.py`:禁用特性 / viewBox / spec_lock 漂移 / 配色越界 / **几何检测**(文本·图标包围盒估算,拦大字压说明、图标压字、行溢出画布、文字骑卡片边缘)(error 必改,回写 SVG;**导出边界自动复跑同套硬错误,error 拒绝导出、无豁免参数**)
- **一键改稿** `update_spec.py`:改 `spec_lock.md` 的颜色/字体后传播到所有已生成 SVG
- AI 配图走 imagegen skill;markitdown 素材摄取

**典型产物**:`exports/<topic>_<ts>.pptx`(原生可编辑)+ `svg_output/*.svg`(逐页设计源,改稿对象)+ `design_spec.md`/`spec_lock.md`。

> 引擎/知识/模板移植自开源 **ppt-master**(github.com/hugohe3/ppt-master,MIT),适配 zcbot 的 task_dir / 聊天确认 / imagegen 工作流。

---

### plot_pub
**出版级 matplotlib 绘图(论文 / 报告 / 申报书用)。**

核心是 `apply_pub_style()` **一键设置 rcParams**(中文字体 + viridis 默认 + 字号 + dpi + 矢量优先),避免每次手动配十几行还忘装中文字体。

**何时用**:
- ✅ 写论文要投 *Cement and Concrete Research* / *J. Am. Ceram. Soc.* / *Construction and Building Materials* 等期刊
- ✅ 报告 / 申报书要中文标题 + 中文图例的高 dpi 图
- ✅ 多组样本数据对比(XRD 多谱叠图、强度发展曲线、温度场)
- ✅ 双 Y 轴(TG-DSC 是典型)
- ✅ 要 SVG / PDF 矢量图给论文

**何时不用**:
- ⛔ PPT 里要嵌图 → 走 `ppt` skill(那边已有配色 / 尺寸规范)
- ⛔ 交互式探查数据 → 用 plotly / 直接 jupyter
- ⛔ 只要看趋势不出版 → `df.plot()` 一行搞定

**典型场景**:XRD pattern(多相叠图 + 标峰)、TG-DSC 双 Y 轴、应力-应变曲线、SEM 标注、多 panel 学术图。

**默认配色**:viridis(jet 是现代审稿雷区)。

**投稿级复合图**:要投高影响期刊的 figure 1 时,内置一套设计纪律(移植自 nature-figure skill,MIT)—— 五点 figure contract(核心结论 / 证据链 / 图原型 / 后端 / 期刊契约)、语义配色(蓝=本方法 / 绿=提升 / 红=baseline / 灰=参照,消融用同色变 alpha)、spine 纪律(`clean_spines` 只留左+下)、可编辑 SVG(`svg.fonttype='none'`)。

---

## 文献检索

### research
**查 paper_server 文献库(基于 OpenAlex 元数据 + Sci-Hub 下载的内部部署)。**

paper_server 是内部 Django 文献库:元数据来自 OpenAlex,PDF / XML 由 Sci-Hub / OpenAlex 异步抓取。**库里主语料是英文**(OpenAlex 主索引英文文献),少量中文。

**何时用**:
- 查 / 找 / 看 / 推荐文献
- 要 DOI、要某篇 PDF、要 abstract
- 写申报书 / 研究方案 / 调研报告的"国内外现状"段需要真实文献支撑
- 配合 `proposal` skill 的「立项依据」起草

**何时不用**:
- 只问通识 → 直接答
- 已经给了具体文献清单 → 直接用,不要二次校验

**关键规则**:`keyword` 优先用英文(库里 95%+ 文献 title 是英文,中文 keyword 命中率很低)。中文术语先转专业英文术语再搜。

**四个 helper**:
- `search(keyword, year, year_gte, year_lte, doi, first_author, publication_name, has_pdf, is_oa, limit)` —— SearchFilter 匹配 title / first_author / first_author_institution
- `get_paper(id_or_doi)` —— 精准取一篇
- `fetch_pdf(id_or_doi)` —— 拉 PDF 文件
- `fetch_xml(id_or_doi)` —— 拉 OpenAlex 全文 XML

**典型产物**:候选文献清单(16 字段) → 选定文献的 abstract / PDF / 引用条目。

---

### documents
**查内部材料学科知识库(document_search API)。**

部署在 `https://ai.ctc-zc.com:8100/api`。后端按 `kb_name` 分库存 7 个材料学科,共 **100W+ 英文学术论文**(Elsevier 期刊为主,DOI 前缀文件名)。每个文档带 `md_content`(整篇 Markdown,LLM 友好)+ 可选原 PDF 下载。

**7 大学科库**(`classification_id` 1-7):
| 学科 | 内容 |
|---|---|
| 胶凝材料 | 水泥 / 混凝土 / 砂浆 |
| 陶瓷基材料 | 结构 / 功能 / 先进陶瓷 |
| 玻璃基材料 | 平板 / 光学 / 玻璃陶瓷 |
| 晶体材料 | 单晶 / 多晶 / 晶体生长 |
| 复合材料 | 纤维 / 颗粒 / 层状复合 |
| 耐火材料 | 耐火砖 / 不定形 / 高温防护 |
| 检验检测 | 表征方法 / 标准 / 仪器 |

**核心特色**:
- **跨语言语义检索** —— 中文 query 也能命中英文论文(API 后端处理)
- **已 Markdown 化** —— LLM 直接读,免 OCR / XML 解析

**何时用**:
- 查材料领域文献 / 特定材料性能 / 工艺数据
- 写申报书 "国内外现状" 段(本库 Markdown 比 research 拿到的裸 PDF/XML 更直接可用)

**关系**:与 research 互补 —— research 搜全网,documents 是本地预收的材料学科子集。**找材料类文献优先 documents,找其他学科或要 DOI 走 research,两者命中不重叠时可并用**。

**三个 host-side tool**:`document_list_kb` / `document_search` / `document_download`。只有宿主配置 `DOCUMENT_SEARCH_API_KEY` 时注册;key 不进入 sandbox。

---

### brief
**生成科研方向简报(重要文献速览)。**

给定一个研究方向 + 时间窗,从各大相关期刊(**Elsevier 数据库优先**)挑选近期**重要论文**,产出两段式简报:**先一份重要论文列表(每篇带标题/作者/期刊/年月/DOI + 一段简介或摘要概述),再对这批论文做内容总结**。三路取数:research(逐刊精确取最新 Elsevier 论文 + DOI)+ documents(内部材料库取全文)取文献,web search 取政策·标准·产业动向(单列)。**只描述不给建议**——呈现"发了什么、讲了什么",判断留给读者。简报 ≠ 综述论文,要**快、准、客观**,5–20 分钟掌握一个方向近期发了哪些重要论文。

**五阶段**:定题对齐 spec(方向+边界 / 时间窗 / 期刊范围 / 深度 / 数据源 / 语言 / 关注点)→ 三路取数(research+documents 取文献、web 取动向;中→英术语转译 + 跨源去重)→ 列清单(带摘要概述)+ 内容总结 → 引文核验 → 渲染验收。

**深度三档(按篇数)**:`flash` 10–20 篇 / `standard` 20–40 篇 / `deep` 40–80 篇。

**何时用**:
- ✅ 用户要"简报 / 方向简报 / 最新文献 / 重要论文列表 / 研究动态 / 某方向近期重要论文 / 跟踪某领域最新研究"
- ✅ 立项前想快速摸清一个方向近期发了哪些重要论文(产出可喂 proposal / analyze)

**何时不用**:
- ⛔ 只要文献清单 / DOI / PDF → research / documents
- ⛔ 要写可投稿的综述论文(几十页、定论)→ paper(review 类型)
- ⛔ 要把模糊科学问题拆成子问题 + 路线图 → analyze
- ⛔ 要"对本院的建议" / 写本子 → proposal

**核心能力**:
- **逐刊取重要论文**(`references/journals.md`):各建材子领域主流期刊清单(Elsevier 优先),精确 `publication_name` + `year_gte` 取最新,0 命中降级到 keyword 搜;按重要性(期刊层级 + 主题相关性 + 发现分量)筛、按 publication_date 留最新
- **三路分工 + 去重**:research+documents 取文献(同 DOI 一条、documents 全文优先)、web 单列产业政策动向不混论文总结;中文方向→英文术语转译(SCM/LC3 等缩写展开)
- **每篇带摘要概述**:列表不只标题,每篇 2–4 句讲研究对象/方法/主要发现,基于 abstract 或全文、不夸张不评判
- **引文核验**:存在性 / DOI 真伪(以库返回字段为准)/ 支撑度(摘要概述与原文一致,partial 改概述迁就证据),编造零容忍
- **平台渲染层 `rendering/render.py --profile brief`**(docx/pdf):商务红主题 + 论文列表 `[n]` 作锚点、正文 `[n]`/`[Wn]` 引文上标回链 + DOI/URL 可点击超链接(条目内 DOI 子串也链)+ 化学式下标(CO₂/C₃S...,白名单不误伤 LC3/Ca2+);pdf 走沙盒 chromium;做 deck 转 ppt

**典型产物**:`<方向>-简报.md`(默认,含 `01_papers` 重要论文列表 + `02_summary` 内容总结)+ `evidence.md`(证据表);可选转 docx / deck。

---

## 科研计算

### pymatgen
**无机材料计算(晶体结构 I/O、XRD 模拟、相图、对称性、Materials Project 查询)。**

底层用 pymatgen 官方 API。离线计算在 sandbox 里跑,本 skill 提供 `CEMENT_PHASES` 常量(中文相名 → 化学式映射);Materials Project 联网查询走 host-side tool,`MP_API_KEY` 不进入 sandbox。

**触发**:
- ✅ 水泥熟料相 / 玻璃陶瓷物相 / 耐火砖矿物相
- ✅ XRD 谱图反演与正向模拟
- ✅ 晶格参数 / 空间群 / 配位环境
- ✅ 相稳定性 / 相图
- ✅ 查 Materials Project 数据(MP_API_KEY)
- ✅ 写 VASP / Gaussian / Quantum ESPRESSO 输入文件

**不触发**:
- ⛔ 只问宏观性能(强度 / 导热)→ 走 `stats_ml`(回归建模)
- ⛔ 有机分子 / 药物(那是 RDKit 范畴,本仓库未集成)
- ⛔ 只要画图,没有晶体计算需求 → 走 `plot_pub`

**关键能力 —— 中文相名映射**:`CEMENT_PHASES` dict 收水泥 / 陶瓷 / 耐火 / 玻璃常见相中英文 ↔ 化学式(C3S→`Ca3SiO5`、钙矾石→`Ca6Al2(SO4)3(OH)12·26H2O`、莫来石→`Al6Si2O13`、方镁石→`MgO`...)。用户用中文报相名时先查表转化学式再喂 pymatgen。

**典型工作流**:
- 读 .cif / POSCAR / .xyz → `Structure.from_file`
- 正向算 XRD pattern → `XRDCalculator`,跟实测谱对比
- 物相对称性 → `SpacegroupAnalyzer`
- 凝胶 / 水化产物热力学稳定性 → `PhaseDiagram` + `PDEntry`
- 从 MP 拉已知结构 / 性质 → `mp_search_summary` / `mp_get_structure` / `mp_get_entries`

---

### stats_ml
**统计建模与机器学习(sklearn / statsmodels / PyMC 三库合一,场景导航选库)。**

服务建材院典型场景:**掺合料配比 → 性能(强度 / 流动度 / 凝结时间)** 的建模与推断。

**三库分工速查**:
| 你要做 | 用 | 一句话理由 |
|---|---|---|
| 要 p-value、置信区间、假设检验 | **statsmodels** | OLS / ANOVA 是 statsmodels 主场,sklearn 不给 p-value |
| 要预测精度高,可解释性次要 | **sklearn** | RandomForest / GBDT / XGBoost 是性能预测的现代基线 |
| 样本 < 30 且要不确定度估计 | **PyMC** | 贝叶斯给参数后验分布,小样本下比频率派的置信区间更稳 |
| DoE 响应面拟合 | statsmodels(二次回归 + ANOVA) | 系数显著性直接读 |
| 聚类找异常配方 | sklearn(KMeans / DBSCAN) | 标准工具 |
| 降维可视化(配方空间) | sklearn(PCA / t-SNE) | 标准工具 |

**触发**:
- ✅ 配方-性能建模 / DoE 响应面 / 强度预测
- ✅ 特征重要性 / 假设检验 / 置信区间
- ✅ 贝叶斯小样本估计
- ✅ 聚类异常实验检测

**不触发**:
- ⛔ 只问描述性统计(均值方差),pandas + matplotlib 一行搞定
- ⛔ 数据只有 3-5 个点 —— 任何 ML / 统计都不可靠,先补数据
- ⛔ 深度学习(CNN / Transformer)—— 不在本 skill 范围

**典型工作流**:
- 配方-性能回归(sklearn 上 Pipeline + 5-fold CV + 特征重要性)
- 统计推断(statsmodels OLS / ANOVA + p-value + 置信区间)
- DoE 响应面(二次回归 + 主效应 / 交互效应显著性)
- 小样本(PyMC 贝叶斯 + arviz 可视化)

---

## 内容生成

### imagegen
**用豆包 Seedream 5.0 生图 / 改图(`seedream` tool,文生图 + image-to-image)。**

把"我想要张图"变成一张能用的图,或在已有图上做像素级修改。流程:**诊断模糊度(六维)→ 给推断 + 待确认项 → 用户拍板 → 装配最终 prompt → 把 prompt 完整贴给用户确认 → 调 tool**。改图(i2i)额外传 `reference_images` 指向要改的那张图。

**成本**:每次 ¥0.22(`search=true` 加 ¥0.05),3-5 秒出图。

**⛔ 调 tool 前的强制门(铁律)**:
任何情况下,`seedream` tool call 发出去之前,**必须**先把最终装配好的 prompt(含 size / watermark / search 参数)用对话消息明文展示给用户,问"这样画?要改什么?"并 **BLOCKING 等明确确认**。

**触发词**:画 / 绘制 / 出图 / 来张 / 生成图 / 做张 + 图 / 图片 / 图像 / 配图 / 封面 / 概念图 / 效果图 / 示意图 / 场景图 / 海报 / 插画 / 插图 / 封皮 / 头图。

**何时用**:
- ✅ 用户明确说"画一张" / "出张图" / "来个封面"
- ✅ 拿到 mermaid 结构图后说"太干了想要有质感的版本"
- ✅ ppt / proposal 流程中要往 deck / docx 里塞概念图 / 引子图

**何时不走本 skill**:
- ⛔ 用户没主动要图 —— 别为"丰富回复"装饰性生图
- ✅ 用户给参考图 / 对刚生成的图说"按这个改 / 改成 X" —— 走**改图(i2i)**:`reference_images` 指那张图,**别重新文生图**(重画会丢原构图);v1 单图
- ⛔ 已有合适素材且不改 —— 直接 read / 引用,别重新生成

**关键岔路**:
- 节点-箭头-结构关系明确(技术路线 / 流程图)→ **走 mermaid**(矢量、零成本、可编辑)
- 视觉冲击 / 美感(汇报封面 / 营销 / 抽象意象)→ **走 seedream**

---

### videogen
**用豆包 Seedance 2.0 Fast 生视频(`seedance` tool)。**

把"我想要个视频"变成一段能用的视频。流程类似 imagegen 但**门更严**:**诊断模糊度(六维,含「运动」)→ 给推断 → 用户拍板 → 装配 prompt + 参数 → 完整贴给用户确认 → BLOCKING 等明确确认 → 调 tool**。

**成本**:
- 480p / 4s:¥1.86 起
- 720p / 5s:¥4.00 起
- 720p / 15s:¥12+
- 等待:Fast 30-90s / Pro 2-3min

**⛔ 比 imagegen 还严的强制门**:视频单价 ¥4 起,**比图贵 10 倍以上**;一次失败 ≈ 18 张错图;等待代价也高。**装配 prompt 不等于授权调用**。

**触发词**:视频 / 动画 / 动起来 / 做个 video / 做段视频 / 出段视频 / 生成视频 / mov / mp4 / 短片 / 镜头 / 运动镜头 / 演示视频 / 动效。

**何时用**:
- ✅ 用户明确说"做个视频" / "出段视频" / "动画" / "动起来" / "镜头扫过"
- ✅ 用户原本要 ppt,主动问能不能配段视频(介绍价格 + 时长引导决策)
- ✅ 拿到 seedream 静态图后说"想动起来"(注意:Phase 1 仅支持 t2v 文生视频,**不支持 i2v** 图生视频)

**何时不走本 skill**:
- ⛔ 用户没主动要视频
- ⛔ 流程 / 结构动效(节点-箭头逐次出现)→ 是 ppt 动画 / mermaid 的事
- ⛔ 要实拍素材 / 已有视频剪辑 → seedance 是 AI 生成,告诉用户走 unsplash / pexels
- ⛔ 用户有具体参考视频说"按这个改" → Phase 1 不支持 i2v / v2v

**关键岔路**:静态图够用就别上动态(seedream ¥0.22 vs seedance ¥4 起)。

---

## 通用 / 元能力

### analyze
**科学问题分析 / 拆解 / 引导。**

用户抛过来一个模糊的高层科研问题,本 skill 引导用户把它**翻译成可操作的子问题 + 实施路线图**,然后把每个子问题接力给合适的下游 skill(proposal / research / pymatgen / stats_ml ...)。

**本 skill 不直接产出最终交付物**(不查文献 / 不写本子 / 不跑模型),只产出 `analysis.md` —— 一个共识性的"问题理解 + 路线图"文件。

**何时用**:
- ✅ 用户说"我想搞清楚 / 想研究 / 不知道从哪入手 / 这个问题怎么拆 / 我们能做什么"
- ✅ 问题宽泛只到效应层("早强偏低"、"耐久性差"、"性能不稳定"),没到具体变量 / 指标 / 假设
- ✅ 用户在评估要不要立项,问"这个方向值不值得做"
- ✅ 用户想在不熟悉的领域结合本院能力做点事,要先理一下问题

**何时不用**:
- ⛔ 用户已经写明要做什么(配方对比 / 标准检测 / 文献综述 / 写本子)→ 直接走对应 skill
- ⛔ 用户问通识知识 / 名词定义 → 直接答
- ⛔ 用户要审稿 / 改文 → 走 review
- ⛔ 用户做异常排查但已经定位到具体环节 → 走 research

**四段工作流**:
1. **PICO 化**(BLOCKING)—— P 对象 / I 干预 / C 对照 / O 输出(必须量化:指标 + 单位 + 期望值),跑 FINER 自检
2. **Issue Tree 拆解**(BLOCKING)—— 选拆分维度(机理-现象-工艺 / 输入-过程-输出 / 材料-工艺-装备-检测),拆 2-3 层,每个叶子标"类型(根因/创新/优化) / 优先级 / 能力描述"
3. **分支深化** —— 根因型走 5Whys + Fishbone;创新型走 First-principles + TRIZ 矛盾矩阵;优化型走 DoE
4. **路线图汇总** —— 优先级排序 + 推荐下游 skill + 风险与依赖

---

### coding
**修代码 / 调试 / 实现。**

通用工具足够,没有专属 scripts 或 templates —— 代码任务的多样性来自代码本身。

**核心原则**:
- **先看后改** —— grep / glob 定位 → read 上下文 → edit。盲改会出错。
- **改动最小** —— 只动必要行,不顺手重构、不改无关空白
- **edit 唯一匹配** —— old_str 必须在文件里出现且仅出现一次,不够唯一就多带上下文
- **验证优先** —— 项目有测试就 `pytest` / `npm test`;没有就写最小复现脚本
- **不臆造 API** —— 没用过的库先 read 它的源码或文档,不要凭直觉拼方法名

**反模式**(明确禁止):
- 一次性 write 整个大文件(改 3 行就别 write 200 行)
- 没读过文件直接 edit(大概率 old_str 匹配不上)
- 跑测试失败就立刻改测试(先看是测试错还是代码错)

**输出**:改完后一两句话说清「改了什么、为什么、怎么验证」,**不复述 diff** —— 用户会自己看。

---

### skill-creator
**引导用户创建 / 改造自己的私有 skill。**

把"每次都要重复交代的一套做法"沉淀成用户私有 skill,存在自己的 `.skills/` 下,只对自己生效。两种来源:**从零写**(`save_skill` 写一份 SKILL.md)或 **fork 内置再改**(`fork_skill` 整目录拷过来、连脚本一起带,再编辑)。

**何时用**:
- ✅ 用户说"我想要个自己的 skill / 自定义 skill / 把这套流程固定下来"
- ✅ 用户说"zcbot 的 X skill 挺好但我想改成 Y"(→ fork 再改)
- ✅ 用户每次任务都重复交代同一套约束(术语表 / 模板 / 禁忌),值得固化

**何时不用**:
- ⛔ 用户只是要完成一个具体任务 → 走对应内置 skill,别绕到造 skill
- ⛔ 要改的是所有任务都该遵守的全局行为 → 那是偏好 / system prompt,不是 skill
- ⛔ 一次性的事 → 直接做

**关键机制**:
- 用户 skill 存私有 `.skills/<name>/`(文件面板隐藏),用 `save_skill` / `fork_skill` 落盘(**不走 fs/shell**——沙箱 fs 根够不到那里)
- 造好 / 改好后**下一条消息**才生效(registry 每轮重建)
- 同名内置 → 覆盖(user wins,列表显式标注);改名 → 并存
- `save_skill` 写时校验 frontmatter(缺 description / YAML 坏直接拒),挡住"加载失败"黑洞

**典型产物**:`.skills/<name>/SKILL.md`(+ fork 带来的 scripts / references / templates)。

---

## 跨 skill 协作

实际任务往往跨多个 skill,典型组合:

- **写论文全流程**:analyze(拆问题) → stats_ml / pymatgen(算数据出结果) → research / documents(建文献矩阵) → plot_pub(先定图表) → paper(逐章起草 + 引文三角核验) → review(投稿前反谄媚终审)
- **写本子全流程**:analyze(拆问题) → research / documents(查文献) → stats_ml(算配方-性能模型出预实验数据) → plot_pub(出图) → proposal(写本子) → review(审稿)
- **写专利全流程**:patent(挖点 + 检索 + 起草) → research(查现有技术) → plot_pub(出附图) → review(终审)
- **写标准全流程**:analyze(定标准化对象) → stats_ml(配方-性能 / 精密度试验数据定指标) → research / documents(查国内外现有标准与现状) → standard(起草标准 + 编制说明) → plot_pub(出图) → review(送审前终审)
- **方向简报 → 立项**:brief(三路取数,出重要论文列表 + 内容总结,只描述) → analyze(把方向拆成子问题 + 路线图) → proposal(写本子、给建议) / paper(写综述);简报要做成汇报 → ppt
- **PPT 汇报**:analyze(提炼论点) → research / documents(找数据 + 引文) → plot_pub(出图) → ppt(组装 deck) → imagegen(可选,做封面 / 引子页)
- **晶体计算**:pymatgen(算 XRD / 相图) → plot_pub(出图) → proposal / patent(写到本子 / 交底书里)
- **定制能力**:skill-creator(fork 某内置 skill,如 ppt / proposal) → 改造成本组 / 本人专属版本(术语 / 模板 / 默认值),之后日常任务直接用改造版

---

## 更新方式

- 新增 / 修改 / 删除 skill 后,告诉 Claude Code 更新本文件
- 每个 skill 源在 `skills/<name>/SKILL.md`,frontmatter 里有 `description` 字段
- 发给他人时:可直接发 .md(GitHub / VSCode / Typora 都能渲染),或用 pandoc / VSCode "Markdown PDF" 插件导出 PDF
