zcbot/SKILL_LIST.md

543 lines
33 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# zcbot Skill 清单
服务对象:中国建筑材料科学研究总院 —— 无机非金属材料 R&D(水泥 / 混凝土 / 玻璃 / 陶瓷 / 耐火 / 新型建材)
最后更新:2026-06-18
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 演示稿(商务红主题,大纲对齐后一脚本整建) |
| 演示出图 | [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 / 编号连续);`render_docx.py` 中英字体切换 + 图题自增;`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)。**
把材料(汇报草稿 / 项目方案 / 调研报告)变成可演示的 .pptx。流程:**先定调(8 项 + 逐页大纲)→ 一个脚本建整 deck → quality_check 验收**。方向在大纲阶段对齐,执行阶段一把出稿(不逐页来回)。视觉走**卡片式系统**(圆角卡片 + 柔和投影 + 渐变 + 从主色派生的明暗色阶),原生可编辑,告别扁平办公模板观感。
**触发**:
- ✅ 用户明确点名 PPT / 幻灯片 / 演示文稿 / .pptx / slide / deck
- ⛔ 用户明确说"报告 / 文档 / 纪要"等纯文档产物 → 不走本 skill
- ⚠️ 用户说"汇报 / 方案 / 材料"等产物形态不明 → **先反问** PPT 还是 Word/Markdown,确认后再 load
**默认主题 —— 商务红**(硬约束):
- 主色 `#C00000` / 辅色 `#E15554` / 强调色 `#FFC107`
- ⛔ 不允许擅自换色,除非用户明确点其它配色或提供 brand guideline
**八条对齐**(spec 阶段定稿):
| # | 项 | 默认值 |
|---|---|---|
| 1 | 画布 | 16:9 (13.33×7.5 in) |
| 2 | 页数 | 封面 + 5-8 页正文 + 尾页(Q&A) = 7-10 页 |
| 3 | 受众 | 看材料推断:领导汇报 / 同行评审 / 客户 pitch |
| 4 | 风格 | 现代简约(白底 + 细线 + 留白) |
| 5 | 配色 | 商务红 |
| 6 | 字体 | 微软雅黑 + Arial |
| 7 | 图标 | Iconify `tabler` 集(主色染色,本地缓存;概念页配图标底块) |
| 8 | 图表 / 配图 | 数据图 matplotlib / 少量数字上 KPI 卡;真实配图 opt-in 走 imagegen(每张 ¥0.22) |
**核心能力**:
- **信息设计纪律(咨询级的真功)**:论断式标题(写结论不写主题)、Takeaway 结论框、数据语境化(数字带对比基准+趋势)、page_rhythm 节奏(anchor/dense/breathing,breathing 页强制打破卡片网格)
- **组合版式件**(一函数一整块):`add_card_grid`(均衡网格)/ `add_timeline`(时间轴)/ `add_cycle`(闭环)/ `add_toc`(目录)/ `add_kpi`(数字卡带对比+升降)/ `add_takeaway` / `add_source`
- **质感工具箱**:`add_card`(圆角卡,投影克制——平铺卡默认平)/ `add_gradient_rect` / `add_icon_tile` / `add_pill` / 派生明暗色阶 + 语义色 `GOOD/BAD`
- **混合背景** `render_bg.py`:无头 Chrome 渲杂志级背景图 + 其上原生可编辑文字(封面/章节)
- **观感验收** `pptx_preview.py`:把 .pptx 渲成 PNG 肉眼验版面(quality_check 查结构,预览查好看)
- 演讲者备注 `add_notes` + 业务图标双层兜底(Iconify → 本地缓存 → unicode)
- `quality_check.py` 结构验收(越界 / 溢出 / 按列 bullet / 按色系三色制 / 重叠)+ markitdown 素材摄取
**典型产物**:`<task>.pptx` + `build_deck.py`(整 deck 构建脚本,改稿/修验收项都改它重跑)。
---
### 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 取政策·标准·产业动向(单列)。**只描述不给建议**——呈现"发了什么、讲了什么",判断留给读者。简报 ≠ 综述论文,要**快、准、客观**,520 分钟掌握一个方向近期发了哪些重要论文。
**五阶段**:定题对齐 spec(方向+边界 / 时间窗 / 期刊范围 / 深度 / 数据源 / 语言 / 关注点)→ 三路取数(research+documents 取文献、web 取动向;中→英术语转译 + 跨源去重)→ 列清单(带摘要概述)+ 内容总结 → 引文核验 → 渲染验收。
**深度三档(按篇数)**:`flash` 1020 篇 / `standard` 2040 篇 / `deep` 4080 篇。
**何时用**:
- ✅ 用户要"简报 / 方向简报 / 最新文献 / 重要论文列表 / 研究动态 / 某方向近期重要论文 / 跟踪某领域最新研究"
- ✅ 立项前想快速摸清一个方向近期发了哪些重要论文(产出可喂 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 等缩写展开)
- **每篇带摘要概述**:列表不只标题,每篇 24 句讲研究对象/方法/主要发现,基于 abstract 或全文、不夸张不评判
- **引文核验**:存在性 / DOI 真伪(以库返回字段为准)/ 支撑度(摘要概述与原文一致,partial 改概述迁就证据),编造零容忍
- **自带 `render_docx.py`**:商务红主题 + 论文列表 `[n]` 作锚点、正文 `[n]`/`[Wn]` 引文上标回链 + DOI/URL 可点击超链接(条目内 DOI 子串也链)+ 化学式下标(CO₂/C₃S...,白名单不误伤 LC3/Ca2+);做 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