[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-minimax-provenance-record":3,"mdc-f33kah-key":34,"related-org-minimax-provenance-record":1672,"related-repo-minimax-provenance-record":1875},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"provenance-record","record research provenance and run logs","当任何 skill 或用户操作产生了工作区文件（报告、数据、图、脚本、下载的文献），需要登记\"这是什么、谁产生的、在什么环境下产生的\"时使用；所有关键步骤结束后都应调用本技能。同义触发场景：记录运行、登记产物、provenance、来源追溯、运行日志、record_run、实验记录、登记一下这次计算、这个文件哪来的。也用于回答溯源类问题：这个结果是哪次运行产生的、当时用的什么环境。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"minimax","MiniMax","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fminimax.jpg","MiniMax-AI",[13,17,20],{"name":14,"slug":15,"type":16},"Research","research","tag",{"name":18,"slug":19,"type":16},"Documentation","documentation",{"name":21,"slug":22,"type":16},"Audit","audit",5,"https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002FMiniMax-Code-Plugins","2026-08-21T03:59:31.011882",null,2,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Community registry and contribution toolkit for MiniMax Code plugins.","https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002FMiniMax-Code-Plugins\u002Ftree\u002FHEAD\u002Fplugins\u002FHylouis233\u002Fopenscience\u002Fskills\u002Fprovenance-record","---\nname: provenance-record\ndescription: >-\n  当任何 skill 或用户操作产生了工作区文件（报告、数据、图、脚本、下载的文献），需要登记\"这是什么、谁产生的、在什么环境下产生的\"时使用；所有关键步骤结束后都应调用本技能。同义触发场景：记录运行、登记产物、provenance、来源追溯、运行日志、record_run、实验记录、登记一下这次计算、这个文件哪来的。也用于回答溯源类问题：这个结果是哪次运行产生的、当时用的什么环境。\nargument-hint: '[产物路径，可多个]'\nmetadata:\n  domains: [provenance, reproducibility, data-management]\n  last_reviewed: '2026-08-18'\n---\n\n# provenance-record：运行记录与来源追溯\n\n## 目的\n\n科研工作台的第一原则：**记录才算存在**。一个产物如果说不清是哪次运行、哪个工具、什么环境产生的，它在审稿人眼里就不存在——无法复核的证据不是证据。本技能通过 `.openscience\u002Fprovenance.jsonl` 流水账，让工作区里的每个关键文件都能回答四个问题：\n\n1. 什么时候产生的（ts）；\n2. 谁产生的（tool \u002F session \u002F model）；\n3. 在什么环境下产生的（env_hash → env\u002F\u003Chash>.txt）；\n4. 还有哪些同批产物（paths）。\n\n本技能自带纯标准库脚本 `scripts\u002Frecord_run.py`，任何能跑 Python 3 的环境都能用，包括远程集群。\n\n## 前置检查\n\n1. 确认当前目录是工作区根目录（含或即将含 `.openscience\u002F`）。脚本会自动创建 `.openscience\u002F`，但写错位置等于没记——先确认 cwd。\n2. 确认要登记的产物文件**已经落盘**：先写文件，后登记。登记不存在的路径等于伪造记录。\n3. 批量产物（如一次运行输出 20 个文件）登记共同的上级目录即可，不必逐文件登记；关键产物（报告正文、最终图）建议单独登记一条并写 note。\n\n## 何时必须登记\n\n以下时机**必须**调用 record_run.py，不允许跳过：\n\n1. 任何 skill 的运行产物写入 `output\u002F` 之后；\n2. 原始数据进入 `data\u002F` 之后（note 写明来源：仪器导出\u002F数据库下载\u002F他人提供）；\n3. 远程或长任务完成之后（见\"远程与长任务\"一节）；\n4. 对 CLAUDE.md 画像、stage.yaml 等元数据的修改之后；\n5. 证据胶囊（evidence-capsule）的每次冻结与更新。\n\n反过来，纯探索性的临时文件（马上要删的草稿图）可以不登记，但一旦它被引用进任何产物，就必须补登记。\n\n## 1 · 本地运行登记\n\n在工作区根目录运行：\n\n```bash\npython \u003C插件路径>\u002Fskills\u002Fprovenance-record\u002Fscripts\u002Frecord_run.py \\\n  --path output\u002Fliterature-search\u002F3f9a1c7e\u002Flatest\u002Fresults.json \\\n  --tool literature-search \\\n  --session \u003C会话标识> \\\n  --model \u003C当前模型名> \\\n  --note \"钠电正极关键词初检，OpenAlex 命中 213 条\"\n```\n\n参数说明：\n\n- `--path`：产物路径，可重复多次；路径不存在时脚本照样登记（它不做存在性校验），所以调用方必须先确认落盘；\n- `--tool`：产生产物的工具或 skill 名，保持全工作区用词一致（用 skill 目录名，不要一会写简称一会写全称）；\n- `--session` \u002F `--model`：当前会话标识与模型名；不知道就留空，**不要编造**；\n- `--note`：一句话说清这次运行干了什么、关键参数是什么；远程作业号、随机种子、数据版本号这类信息写在 note 里；\n- `--format json`：机器可读输出，供其他工具解析。\n\n## 2 · 远程与长任务\n\n远程\u002F长任务的核心要求：**环境信息必须抓回来**，否则记录只剩半条命。\n\n1. 任务提交前：在 note 里记录调度系统作业号（如 Slurm 的 `sbatch` 返回）、队列、申请资源；\n2. 任务完成后：把结果文件 rsync\u002Fscp 回工作区 `output\u002F` 或 `data\u002F`，然后登记；note 中写明：作业号、实际运行节点、软件版本（`module list` 或 `--version` 输出）、退出状态；\n3. 远程环境的 env_hash 与本地不同是正常的——这正是 env_hash 的意义：如果条件允许，在远程也跑一次脚本（只登记远程侧中间产物），或把远程的 `python --version`、`lmod list` 输出贴进 note；\n4. 跨机器同步的产物以**回到工作区的那一份**为登记对象，远程路径写入 note；\n5. 任务失败也要登记：paths 指向日志文件，note 写失败原因——失败的运行同样是研究历史的一部分。\n\n## 3 · 登记后的文件结构\n\n```text\n.openscience\u002F\n├── provenance.jsonl      # 每行一条 JSON 记录，只追加不修改\n└── env\u002F\n    ├── 02008886520f.txt  # 某环境的 python\u002Fplatform 详情\n    └── a41f9c03d77e.txt  # 另一环境（如远程节点）\n```\n\n- `provenance.jsonl` 是**只追加**日志：写错的记录不删不改，追加一条新记录在 note 中说明\"更正上一条\"。\n- `env\u002F\u003Chash>.txt` 按 hash 去重：同一环境只存一份详情，记录里只带 12 位 hash。\n- 该目录纳入 evidence-capsule 时整体复制，不要截取片段。\n\n## 4 · 溯源查询\n\n回答\"这个文件哪来的\"类问题：\n\n1. 按路径在 provenance.jsonl 中倒查（最后一条匹配记录为准）；\n2. 展示该条记录全部字段，并用 `env\u002F\u003Cenv_hash>.txt` 展开环境详情；\n3. 查不到时如实回答\"该文件没有登记记录\"，并按 guardrail 第 6 条建议补登记——不要根据文件内容推测来源然后当成事实陈述；\n4. 需要审计某次运行的全部产物时，按相同 ts 与 tool 聚合查询。\n\n## 记录字段规范\n\nprovenance.jsonl 每行一条 JSON，字段固定：\n\n| 字段 | 类型 | 含义 | 缺失时的处理 |\n| --- | --- | --- | --- |\n| ts | string | 记录时间，ISO 8601 带时区 | 脚本自动生成，不缺 |\n| paths | array | 本次登记的产物路径列表 | 至少一个，脚本强制 |\n| tool | string | 产生产物的工具\u002Fskill 名 | 留空串，不编造 |\n| session | string | 会话标识 | 留空串 |\n| model | string | 模型名与版本 | 留空串 |\n| env_hash | string | 环境指纹，sha256 前 12 位 | 脚本自动生成 |\n| note | string | 自由备注：作业号、参数、关键上下文 | 留空串 |\n\n读取方（evidence-capsule、溯源查询）按这个 schema 解析；新增字段应向后兼容（只加不改）。\n\n## 5 · 完整示例\n\n一次 analysis 阶段的登记序列（虚构示例）：\n\n```bash\n# 分析脚本跑完，产出图与统计表\npython scripts\u002Frecord_run.py \\\n  --path output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fcycle-life.png \\\n  --path output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fstats.csv \\\n  --tool \"python scripts\u002Fanalyze_cycle.py\" \\\n  --session cli-2026-08-19-01 \\\n  --model \"minimax-m2\" \\\n  --note \"循环寿命拟合，剔除 3 个离群样品，seed=42\"\n\n# 同日远程 DFT 任务抓回结果后\npython scripts\u002Frecord_run.py \\\n  --path data\u002F2026-08-vasp-dos\u002F \\\n  --tool \"vasp 6.4.2 (Slurm job 88213471)\" \\\n  --note \"DOS 计算完成，64 核 5.2 小时，节点 c12n04，已 rsync 回本地\"\n```\n\n对应的 jsonl（节选，实际为一行一条）：\n\n```json\n{\"ts\": \"2026-08-19T15:31:02+08:00\", \"paths\": [\"output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fcycle-life.png\", \"output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fstats.csv\"], \"tool\": \"python scripts\u002Fanalyze_cycle.py\", \"session\": \"cli-2026-08-19-01\", \"model\": \"minimax-m2\", \"env_hash\": \"02008886520f\", \"note\": \"循环寿命拟合，剔除 3 个离群样品，seed=42\"}\n```\n\n## 输出模板\n\n登记完成后的确认输出：\n\n```markdown\n已登记 N 个产物 → .openscience\u002Fprovenance.jsonl\n- tool: \u003Ctool>  env_hash: \u003Chash>（新环境 \u002F 已有环境）\n- note: \u003Cnote>\n```\n\n溯源查询输出：\n\n```markdown\n## 来源追溯：\u003Cpath>\n\n- 产生时间：…（ts）\n- 产生工具：…（tool \u002F session \u002F model）\n- 运行环境：…（env_hash + 详情摘要）\n- 备注：…（note）\n- 同批产物：…（同条记录的其他 paths）\n```\n\n## 本技能不做什么\n\n- 不验证产物内容的正确性：记录\"它存在、它这样来\"，不背书\"它是对的\"——正确性靠 reviewer 与各核验 skill。\n- 不替用户回忆：登记时信息不全（如忘了 session）就留空，宁可缺字段也不补编造值（guardrail 第 2、3 条）。\n- 不管理文件本身：不移动、不复制、不清理产物，只写日志。\n- 不做版本控制：provenance 回答\"怎么来的\"，不回答\"改了哪些\"——后者是 Git 的职责。\n- 不自动批量补登记历史文件：历史文件需要补录时走 evidence-capsule 的 `historical_content_unverified` 流程，逐批与用户确认。\n\n## 收尾与下一步\n\n- 登记完成后提醒调用方：产物路径契约（research-workspace）要求同步刷新 `latest\u002F`。\n- 阶段收尾时检查：本阶段产物是否全部有登记记录？缺登记的当场补登，再进入 stage-gate。\n- 定期（如 evidence-capsule 冻结前）建议用户浏览一遍 provenance.jsonl，确认流水账与记忆中的研究过程一致。\n",{"data":35,"body":43},{"name":4,"description":6,"argument-hint":36,"metadata":37},"[产物路径，可多个]",{"domains":38,"last_reviewed":42},[39,40,41],"provenance","reproducibility","data-management","2026-08-18",{"type":44,"children":45},"root",[46,55,61,84,115,128,133,173,178,190,234,239,245,250,426,431,505,511,523,611,617,627,664,670,675,706,711,716,908,913,919,924,1173,1178,1450,1455,1460,1502,1507,1594,1599,1635,1640,1666],{"type":47,"tag":48,"props":49,"children":51},"element","h1",{"id":50},"provenance-record运行记录与来源追溯",[52],{"type":53,"value":54},"text","provenance-record：运行记录与来源追溯",{"type":47,"tag":56,"props":57,"children":59},"h2",{"id":58},"目的",[60],{"type":53,"value":58},{"type":47,"tag":62,"props":63,"children":64},"p",{},[65,67,73,75,82],{"type":53,"value":66},"科研工作台的第一原则：",{"type":47,"tag":68,"props":69,"children":70},"strong",{},[71],{"type":53,"value":72},"记录才算存在",{"type":53,"value":74},"。一个产物如果说不清是哪次运行、哪个工具、什么环境产生的，它在审稿人眼里就不存在——无法复核的证据不是证据。本技能通过 ",{"type":47,"tag":76,"props":77,"children":79},"code",{"className":78},[],[80],{"type":53,"value":81},".openscience\u002Fprovenance.jsonl",{"type":53,"value":83}," 流水账，让工作区里的每个关键文件都能回答四个问题：",{"type":47,"tag":85,"props":86,"children":87},"ol",{},[88,94,99,110],{"type":47,"tag":89,"props":90,"children":91},"li",{},[92],{"type":53,"value":93},"什么时候产生的（ts）；",{"type":47,"tag":89,"props":95,"children":96},{},[97],{"type":53,"value":98},"谁产生的（tool \u002F session \u002F model）；",{"type":47,"tag":89,"props":100,"children":101},{},[102,104],{"type":53,"value":103},"在什么环境下产生的（env_hash → env\u002F",{"type":47,"tag":105,"props":106,"children":107},"hash",{},[108],{"type":53,"value":109},".txt）；",{"type":47,"tag":89,"props":111,"children":112},{},[113],{"type":53,"value":114},"还有哪些同批产物（paths）。",{"type":47,"tag":62,"props":116,"children":117},{},[118,120,126],{"type":53,"value":119},"本技能自带纯标准库脚本 ",{"type":47,"tag":76,"props":121,"children":123},{"className":122},[],[124],{"type":53,"value":125},"scripts\u002Frecord_run.py",{"type":53,"value":127},"，任何能跑 Python 3 的环境都能用，包括远程集群。",{"type":47,"tag":56,"props":129,"children":131},{"id":130},"前置检查",[132],{"type":53,"value":130},{"type":47,"tag":85,"props":134,"children":135},{},[136,156,168],{"type":47,"tag":89,"props":137,"children":138},{},[139,141,147,149,154],{"type":53,"value":140},"确认当前目录是工作区根目录（含或即将含 ",{"type":47,"tag":76,"props":142,"children":144},{"className":143},[],[145],{"type":53,"value":146},".openscience\u002F",{"type":53,"value":148},"）。脚本会自动创建 ",{"type":47,"tag":76,"props":150,"children":152},{"className":151},[],[153],{"type":53,"value":146},{"type":53,"value":155},"，但写错位置等于没记——先确认 cwd。",{"type":47,"tag":89,"props":157,"children":158},{},[159,161,166],{"type":53,"value":160},"确认要登记的产物文件",{"type":47,"tag":68,"props":162,"children":163},{},[164],{"type":53,"value":165},"已经落盘",{"type":53,"value":167},"：先写文件，后登记。登记不存在的路径等于伪造记录。",{"type":47,"tag":89,"props":169,"children":170},{},[171],{"type":53,"value":172},"批量产物（如一次运行输出 20 个文件）登记共同的上级目录即可，不必逐文件登记；关键产物（报告正文、最终图）建议单独登记一条并写 note。",{"type":47,"tag":56,"props":174,"children":176},{"id":175},"何时必须登记",[177],{"type":53,"value":175},{"type":47,"tag":62,"props":179,"children":180},{},[181,183,188],{"type":53,"value":182},"以下时机",{"type":47,"tag":68,"props":184,"children":185},{},[186],{"type":53,"value":187},"必须",{"type":53,"value":189},"调用 record_run.py，不允许跳过：",{"type":47,"tag":85,"props":191,"children":192},{},[193,206,219,224,229],{"type":47,"tag":89,"props":194,"children":195},{},[196,198,204],{"type":53,"value":197},"任何 skill 的运行产物写入 ",{"type":47,"tag":76,"props":199,"children":201},{"className":200},[],[202],{"type":53,"value":203},"output\u002F",{"type":53,"value":205}," 之后；",{"type":47,"tag":89,"props":207,"children":208},{},[209,211,217],{"type":53,"value":210},"原始数据进入 ",{"type":47,"tag":76,"props":212,"children":214},{"className":213},[],[215],{"type":53,"value":216},"data\u002F",{"type":53,"value":218}," 之后（note 写明来源：仪器导出\u002F数据库下载\u002F他人提供）；",{"type":47,"tag":89,"props":220,"children":221},{},[222],{"type":53,"value":223},"远程或长任务完成之后（见\"远程与长任务\"一节）；",{"type":47,"tag":89,"props":225,"children":226},{},[227],{"type":53,"value":228},"对 CLAUDE.md 画像、stage.yaml 等元数据的修改之后；",{"type":47,"tag":89,"props":230,"children":231},{},[232],{"type":53,"value":233},"证据胶囊（evidence-capsule）的每次冻结与更新。",{"type":47,"tag":62,"props":235,"children":236},{},[237],{"type":53,"value":238},"反过来，纯探索性的临时文件（马上要删的草稿图）可以不登记，但一旦它被引用进任何产物，就必须补登记。",{"type":47,"tag":56,"props":240,"children":242},{"id":241},"_1-本地运行登记",[243],{"type":53,"value":244},"1 · 本地运行登记",{"type":47,"tag":62,"props":246,"children":247},{},[248],{"type":53,"value":249},"在工作区根目录运行：",{"type":47,"tag":251,"props":252,"children":257},"pre",{"className":253,"code":254,"language":255,"meta":256,"style":256},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","python \u003C插件路径>\u002Fskills\u002Fprovenance-record\u002Fscripts\u002Frecord_run.py \\\n  --path output\u002Fliterature-search\u002F3f9a1c7e\u002Flatest\u002Fresults.json \\\n  --tool literature-search \\\n  --session \u003C会话标识> \\\n  --model \u003C当前模型名> \\\n  --note \"钠电正极关键词初检，OpenAlex 命中 213 条\"\n","bash","",[258],{"type":47,"tag":76,"props":259,"children":260},{"__ignoreMap":256},[261,306,323,341,372,402],{"type":47,"tag":262,"props":263,"children":266},"span",{"class":264,"line":265},"line",1,[267,273,279,285,291,296,301],{"type":47,"tag":262,"props":268,"children":270},{"style":269},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[271],{"type":53,"value":272},"python",{"type":47,"tag":262,"props":274,"children":276},{"style":275},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[277],{"type":53,"value":278}," \u003C",{"type":47,"tag":262,"props":280,"children":282},{"style":281},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[283],{"type":53,"value":284},"插件路",{"type":47,"tag":262,"props":286,"children":288},{"style":287},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[289],{"type":53,"value":290},"径",{"type":47,"tag":262,"props":292,"children":293},{"style":275},[294],{"type":53,"value":295},">",{"type":47,"tag":262,"props":297,"children":298},{"style":281},[299],{"type":53,"value":300},"\u002Fskills\u002Fprovenance-record\u002Fscripts\u002Frecord_run.py",{"type":47,"tag":262,"props":302,"children":303},{"style":287},[304],{"type":53,"value":305}," \\\n",{"type":47,"tag":262,"props":307,"children":308},{"class":264,"line":27},[309,314,319],{"type":47,"tag":262,"props":310,"children":311},{"style":281},[312],{"type":53,"value":313},"  --path",{"type":47,"tag":262,"props":315,"children":316},{"style":281},[317],{"type":53,"value":318}," output\u002Fliterature-search\u002F3f9a1c7e\u002Flatest\u002Fresults.json",{"type":47,"tag":262,"props":320,"children":321},{"style":287},[322],{"type":53,"value":305},{"type":47,"tag":262,"props":324,"children":326},{"class":264,"line":325},3,[327,332,337],{"type":47,"tag":262,"props":328,"children":329},{"style":281},[330],{"type":53,"value":331},"  --tool",{"type":47,"tag":262,"props":333,"children":334},{"style":281},[335],{"type":53,"value":336}," literature-search",{"type":47,"tag":262,"props":338,"children":339},{"style":287},[340],{"type":53,"value":305},{"type":47,"tag":262,"props":342,"children":344},{"class":264,"line":343},4,[345,350,354,359,364,368],{"type":47,"tag":262,"props":346,"children":347},{"style":281},[348],{"type":53,"value":349},"  --session",{"type":47,"tag":262,"props":351,"children":352},{"style":275},[353],{"type":53,"value":278},{"type":47,"tag":262,"props":355,"children":356},{"style":281},[357],{"type":53,"value":358},"会话标",{"type":47,"tag":262,"props":360,"children":361},{"style":287},[362],{"type":53,"value":363},"识",{"type":47,"tag":262,"props":365,"children":366},{"style":275},[367],{"type":53,"value":295},{"type":47,"tag":262,"props":369,"children":370},{"style":287},[371],{"type":53,"value":305},{"type":47,"tag":262,"props":373,"children":374},{"class":264,"line":23},[375,380,384,389,394,398],{"type":47,"tag":262,"props":376,"children":377},{"style":281},[378],{"type":53,"value":379},"  --model",{"type":47,"tag":262,"props":381,"children":382},{"style":275},[383],{"type":53,"value":278},{"type":47,"tag":262,"props":385,"children":386},{"style":281},[387],{"type":53,"value":388},"当前模型",{"type":47,"tag":262,"props":390,"children":391},{"style":287},[392],{"type":53,"value":393},"名",{"type":47,"tag":262,"props":395,"children":396},{"style":275},[397],{"type":53,"value":295},{"type":47,"tag":262,"props":399,"children":400},{"style":287},[401],{"type":53,"value":305},{"type":47,"tag":262,"props":403,"children":405},{"class":264,"line":404},6,[406,411,416,421],{"type":47,"tag":262,"props":407,"children":408},{"style":281},[409],{"type":53,"value":410},"  --note",{"type":47,"tag":262,"props":412,"children":413},{"style":275},[414],{"type":53,"value":415}," \"",{"type":47,"tag":262,"props":417,"children":418},{"style":281},[419],{"type":53,"value":420},"钠电正极关键词初检，OpenAlex 命中 213 条",{"type":47,"tag":262,"props":422,"children":423},{"style":275},[424],{"type":53,"value":425},"\"\n",{"type":47,"tag":62,"props":427,"children":428},{},[429],{"type":53,"value":430},"参数说明：",{"type":47,"tag":432,"props":433,"children":434},"ul",{},[435,446,457,483,494],{"type":47,"tag":89,"props":436,"children":437},{},[438,444],{"type":47,"tag":76,"props":439,"children":441},{"className":440},[],[442],{"type":53,"value":443},"--path",{"type":53,"value":445},"：产物路径，可重复多次；路径不存在时脚本照样登记（它不做存在性校验），所以调用方必须先确认落盘；",{"type":47,"tag":89,"props":447,"children":448},{},[449,455],{"type":47,"tag":76,"props":450,"children":452},{"className":451},[],[453],{"type":53,"value":454},"--tool",{"type":53,"value":456},"：产生产物的工具或 skill 名，保持全工作区用词一致（用 skill 目录名，不要一会写简称一会写全称）；",{"type":47,"tag":89,"props":458,"children":459},{},[460,466,468,474,476,481],{"type":47,"tag":76,"props":461,"children":463},{"className":462},[],[464],{"type":53,"value":465},"--session",{"type":53,"value":467}," \u002F ",{"type":47,"tag":76,"props":469,"children":471},{"className":470},[],[472],{"type":53,"value":473},"--model",{"type":53,"value":475},"：当前会话标识与模型名；不知道就留空，",{"type":47,"tag":68,"props":477,"children":478},{},[479],{"type":53,"value":480},"不要编造",{"type":53,"value":482},"；",{"type":47,"tag":89,"props":484,"children":485},{},[486,492],{"type":47,"tag":76,"props":487,"children":489},{"className":488},[],[490],{"type":53,"value":491},"--note",{"type":53,"value":493},"：一句话说清这次运行干了什么、关键参数是什么；远程作业号、随机种子、数据版本号这类信息写在 note 里；",{"type":47,"tag":89,"props":495,"children":496},{},[497,503],{"type":47,"tag":76,"props":498,"children":500},{"className":499},[],[501],{"type":53,"value":502},"--format json",{"type":53,"value":504},"：机器可读输出，供其他工具解析。",{"type":47,"tag":56,"props":506,"children":508},{"id":507},"_2-远程与长任务",[509],{"type":53,"value":510},"2 · 远程与长任务",{"type":47,"tag":62,"props":512,"children":513},{},[514,516,521],{"type":53,"value":515},"远程\u002F长任务的核心要求：",{"type":47,"tag":68,"props":517,"children":518},{},[519],{"type":53,"value":520},"环境信息必须抓回来",{"type":53,"value":522},"，否则记录只剩半条命。",{"type":47,"tag":85,"props":524,"children":525},{},[526,539,573,594,606],{"type":47,"tag":89,"props":527,"children":528},{},[529,531,537],{"type":53,"value":530},"任务提交前：在 note 里记录调度系统作业号（如 Slurm 的 ",{"type":47,"tag":76,"props":532,"children":534},{"className":533},[],[535],{"type":53,"value":536},"sbatch",{"type":53,"value":538}," 返回）、队列、申请资源；",{"type":47,"tag":89,"props":540,"children":541},{},[542,544,549,551,556,558,564,565,571],{"type":53,"value":543},"任务完成后：把结果文件 rsync\u002Fscp 回工作区 ",{"type":47,"tag":76,"props":545,"children":547},{"className":546},[],[548],{"type":53,"value":203},{"type":53,"value":550}," 或 ",{"type":47,"tag":76,"props":552,"children":554},{"className":553},[],[555],{"type":53,"value":216},{"type":53,"value":557},"，然后登记；note 中写明：作业号、实际运行节点、软件版本（",{"type":47,"tag":76,"props":559,"children":561},{"className":560},[],[562],{"type":53,"value":563},"module list",{"type":53,"value":550},{"type":47,"tag":76,"props":566,"children":568},{"className":567},[],[569],{"type":53,"value":570},"--version",{"type":53,"value":572}," 输出）、退出状态；",{"type":47,"tag":89,"props":574,"children":575},{},[576,578,584,586,592],{"type":53,"value":577},"远程环境的 env_hash 与本地不同是正常的——这正是 env_hash 的意义：如果条件允许，在远程也跑一次脚本（只登记远程侧中间产物），或把远程的 ",{"type":47,"tag":76,"props":579,"children":581},{"className":580},[],[582],{"type":53,"value":583},"python --version",{"type":53,"value":585},"、",{"type":47,"tag":76,"props":587,"children":589},{"className":588},[],[590],{"type":53,"value":591},"lmod list",{"type":53,"value":593}," 输出贴进 note；",{"type":47,"tag":89,"props":595,"children":596},{},[597,599,604],{"type":53,"value":598},"跨机器同步的产物以",{"type":47,"tag":68,"props":600,"children":601},{},[602],{"type":53,"value":603},"回到工作区的那一份",{"type":53,"value":605},"为登记对象，远程路径写入 note；",{"type":47,"tag":89,"props":607,"children":608},{},[609],{"type":53,"value":610},"任务失败也要登记：paths 指向日志文件，note 写失败原因——失败的运行同样是研究历史的一部分。",{"type":47,"tag":56,"props":612,"children":614},{"id":613},"_3-登记后的文件结构",[615],{"type":53,"value":616},"3 · 登记后的文件结构",{"type":47,"tag":251,"props":618,"children":622},{"className":619,"code":621,"language":53,"meta":256},[620],"language-text",".openscience\u002F\n├── provenance.jsonl      # 每行一条 JSON 记录，只追加不修改\n└── env\u002F\n    ├── 02008886520f.txt  # 某环境的 python\u002Fplatform 详情\n    └── a41f9c03d77e.txt  # 另一环境（如远程节点）\n",[623],{"type":47,"tag":76,"props":624,"children":625},{"__ignoreMap":256},[626],{"type":53,"value":621},{"type":47,"tag":432,"props":628,"children":629},{},[630,648,659],{"type":47,"tag":89,"props":631,"children":632},{},[633,639,641,646],{"type":47,"tag":76,"props":634,"children":636},{"className":635},[],[637],{"type":53,"value":638},"provenance.jsonl",{"type":53,"value":640}," 是",{"type":47,"tag":68,"props":642,"children":643},{},[644],{"type":53,"value":645},"只追加",{"type":53,"value":647},"日志：写错的记录不删不改，追加一条新记录在 note 中说明\"更正上一条\"。",{"type":47,"tag":89,"props":649,"children":650},{},[651,657],{"type":47,"tag":76,"props":652,"children":654},{"className":653},[],[655],{"type":53,"value":656},"env\u002F\u003Chash>.txt",{"type":53,"value":658}," 按 hash 去重：同一环境只存一份详情，记录里只带 12 位 hash。",{"type":47,"tag":89,"props":660,"children":661},{},[662],{"type":53,"value":663},"该目录纳入 evidence-capsule 时整体复制，不要截取片段。",{"type":47,"tag":56,"props":665,"children":667},{"id":666},"_4-溯源查询",[668],{"type":53,"value":669},"4 · 溯源查询",{"type":47,"tag":62,"props":671,"children":672},{},[673],{"type":53,"value":674},"回答\"这个文件哪来的\"类问题：",{"type":47,"tag":85,"props":676,"children":677},{},[678,683,696,701],{"type":47,"tag":89,"props":679,"children":680},{},[681],{"type":53,"value":682},"按路径在 provenance.jsonl 中倒查（最后一条匹配记录为准）；",{"type":47,"tag":89,"props":684,"children":685},{},[686,688,694],{"type":53,"value":687},"展示该条记录全部字段，并用 ",{"type":47,"tag":76,"props":689,"children":691},{"className":690},[],[692],{"type":53,"value":693},"env\u002F\u003Cenv_hash>.txt",{"type":53,"value":695}," 展开环境详情；",{"type":47,"tag":89,"props":697,"children":698},{},[699],{"type":53,"value":700},"查不到时如实回答\"该文件没有登记记录\"，并按 guardrail 第 6 条建议补登记——不要根据文件内容推测来源然后当成事实陈述；",{"type":47,"tag":89,"props":702,"children":703},{},[704],{"type":53,"value":705},"需要审计某次运行的全部产物时，按相同 ts 与 tool 聚合查询。",{"type":47,"tag":56,"props":707,"children":709},{"id":708},"记录字段规范",[710],{"type":53,"value":708},{"type":47,"tag":62,"props":712,"children":713},{},[714],{"type":53,"value":715},"provenance.jsonl 每行一条 JSON，字段固定：",{"type":47,"tag":717,"props":718,"children":719},"table",{},[720,749],{"type":47,"tag":721,"props":722,"children":723},"thead",{},[724],{"type":47,"tag":725,"props":726,"children":727},"tr",{},[728,734,739,744],{"type":47,"tag":729,"props":730,"children":731},"th",{},[732],{"type":53,"value":733},"字段",{"type":47,"tag":729,"props":735,"children":736},{},[737],{"type":53,"value":738},"类型",{"type":47,"tag":729,"props":740,"children":741},{},[742],{"type":53,"value":743},"含义",{"type":47,"tag":729,"props":745,"children":746},{},[747],{"type":53,"value":748},"缺失时的处理",{"type":47,"tag":750,"props":751,"children":752},"tbody",{},[753,777,800,822,844,865,887],{"type":47,"tag":725,"props":754,"children":755},{},[756,762,767,772],{"type":47,"tag":757,"props":758,"children":759},"td",{},[760],{"type":53,"value":761},"ts",{"type":47,"tag":757,"props":763,"children":764},{},[765],{"type":53,"value":766},"string",{"type":47,"tag":757,"props":768,"children":769},{},[770],{"type":53,"value":771},"记录时间，ISO 8601 带时区",{"type":47,"tag":757,"props":773,"children":774},{},[775],{"type":53,"value":776},"脚本自动生成，不缺",{"type":47,"tag":725,"props":778,"children":779},{},[780,785,790,795],{"type":47,"tag":757,"props":781,"children":782},{},[783],{"type":53,"value":784},"paths",{"type":47,"tag":757,"props":786,"children":787},{},[788],{"type":53,"value":789},"array",{"type":47,"tag":757,"props":791,"children":792},{},[793],{"type":53,"value":794},"本次登记的产物路径列表",{"type":47,"tag":757,"props":796,"children":797},{},[798],{"type":53,"value":799},"至少一个，脚本强制",{"type":47,"tag":725,"props":801,"children":802},{},[803,808,812,817],{"type":47,"tag":757,"props":804,"children":805},{},[806],{"type":53,"value":807},"tool",{"type":47,"tag":757,"props":809,"children":810},{},[811],{"type":53,"value":766},{"type":47,"tag":757,"props":813,"children":814},{},[815],{"type":53,"value":816},"产生产物的工具\u002Fskill 名",{"type":47,"tag":757,"props":818,"children":819},{},[820],{"type":53,"value":821},"留空串，不编造",{"type":47,"tag":725,"props":823,"children":824},{},[825,830,834,839],{"type":47,"tag":757,"props":826,"children":827},{},[828],{"type":53,"value":829},"session",{"type":47,"tag":757,"props":831,"children":832},{},[833],{"type":53,"value":766},{"type":47,"tag":757,"props":835,"children":836},{},[837],{"type":53,"value":838},"会话标识",{"type":47,"tag":757,"props":840,"children":841},{},[842],{"type":53,"value":843},"留空串",{"type":47,"tag":725,"props":845,"children":846},{},[847,852,856,861],{"type":47,"tag":757,"props":848,"children":849},{},[850],{"type":53,"value":851},"model",{"type":47,"tag":757,"props":853,"children":854},{},[855],{"type":53,"value":766},{"type":47,"tag":757,"props":857,"children":858},{},[859],{"type":53,"value":860},"模型名与版本",{"type":47,"tag":757,"props":862,"children":863},{},[864],{"type":53,"value":843},{"type":47,"tag":725,"props":866,"children":867},{},[868,873,877,882],{"type":47,"tag":757,"props":869,"children":870},{},[871],{"type":53,"value":872},"env_hash",{"type":47,"tag":757,"props":874,"children":875},{},[876],{"type":53,"value":766},{"type":47,"tag":757,"props":878,"children":879},{},[880],{"type":53,"value":881},"环境指纹，sha256 前 12 位",{"type":47,"tag":757,"props":883,"children":884},{},[885],{"type":53,"value":886},"脚本自动生成",{"type":47,"tag":725,"props":888,"children":889},{},[890,895,899,904],{"type":47,"tag":757,"props":891,"children":892},{},[893],{"type":53,"value":894},"note",{"type":47,"tag":757,"props":896,"children":897},{},[898],{"type":53,"value":766},{"type":47,"tag":757,"props":900,"children":901},{},[902],{"type":53,"value":903},"自由备注：作业号、参数、关键上下文",{"type":47,"tag":757,"props":905,"children":906},{},[907],{"type":53,"value":843},{"type":47,"tag":62,"props":909,"children":910},{},[911],{"type":53,"value":912},"读取方（evidence-capsule、溯源查询）按这个 schema 解析；新增字段应向后兼容（只加不改）。",{"type":47,"tag":56,"props":914,"children":916},{"id":915},"_5-完整示例",[917],{"type":53,"value":918},"5 · 完整示例",{"type":47,"tag":62,"props":920,"children":921},{},[922],{"type":53,"value":923},"一次 analysis 阶段的登记序列（虚构示例）：",{"type":47,"tag":251,"props":925,"children":927},{"className":253,"code":926,"language":255,"meta":256,"style":256},"# 分析脚本跑完，产出图与统计表\npython scripts\u002Frecord_run.py \\\n  --path output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fcycle-life.png \\\n  --path output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fstats.csv \\\n  --tool \"python scripts\u002Fanalyze_cycle.py\" \\\n  --session cli-2026-08-19-01 \\\n  --model \"minimax-m2\" \\\n  --note \"循环寿命拟合，剔除 3 个离群样品，seed=42\"\n\n# 同日远程 DFT 任务抓回结果后\npython scripts\u002Frecord_run.py \\\n  --path data\u002F2026-08-vasp-dos\u002F \\\n  --tool \"vasp 6.4.2 (Slurm job 88213471)\" \\\n  --note \"DOS 计算完成，64 核 5.2 小时，节点 c12n04，已 rsync 回本地\"\n",[928],{"type":47,"tag":76,"props":929,"children":930},{"__ignoreMap":256},[931,940,956,972,988,1013,1029,1054,1075,1085,1094,1110,1127,1152],{"type":47,"tag":262,"props":932,"children":933},{"class":264,"line":265},[934],{"type":47,"tag":262,"props":935,"children":937},{"style":936},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[938],{"type":53,"value":939},"# 分析脚本跑完，产出图与统计表\n",{"type":47,"tag":262,"props":941,"children":942},{"class":264,"line":27},[943,947,952],{"type":47,"tag":262,"props":944,"children":945},{"style":269},[946],{"type":53,"value":272},{"type":47,"tag":262,"props":948,"children":949},{"style":281},[950],{"type":53,"value":951}," scripts\u002Frecord_run.py",{"type":47,"tag":262,"props":953,"children":954},{"style":287},[955],{"type":53,"value":305},{"type":47,"tag":262,"props":957,"children":958},{"class":264,"line":325},[959,963,968],{"type":47,"tag":262,"props":960,"children":961},{"style":281},[962],{"type":53,"value":313},{"type":47,"tag":262,"props":964,"children":965},{"style":281},[966],{"type":53,"value":967}," output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fcycle-life.png",{"type":47,"tag":262,"props":969,"children":970},{"style":287},[971],{"type":53,"value":305},{"type":47,"tag":262,"props":973,"children":974},{"class":264,"line":343},[975,979,984],{"type":47,"tag":262,"props":976,"children":977},{"style":281},[978],{"type":53,"value":313},{"type":47,"tag":262,"props":980,"children":981},{"style":281},[982],{"type":53,"value":983}," output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fstats.csv",{"type":47,"tag":262,"props":985,"children":986},{"style":287},[987],{"type":53,"value":305},{"type":47,"tag":262,"props":989,"children":990},{"class":264,"line":23},[991,995,999,1004,1009],{"type":47,"tag":262,"props":992,"children":993},{"style":281},[994],{"type":53,"value":331},{"type":47,"tag":262,"props":996,"children":997},{"style":275},[998],{"type":53,"value":415},{"type":47,"tag":262,"props":1000,"children":1001},{"style":281},[1002],{"type":53,"value":1003},"python scripts\u002Fanalyze_cycle.py",{"type":47,"tag":262,"props":1005,"children":1006},{"style":275},[1007],{"type":53,"value":1008},"\"",{"type":47,"tag":262,"props":1010,"children":1011},{"style":287},[1012],{"type":53,"value":305},{"type":47,"tag":262,"props":1014,"children":1015},{"class":264,"line":404},[1016,1020,1025],{"type":47,"tag":262,"props":1017,"children":1018},{"style":281},[1019],{"type":53,"value":349},{"type":47,"tag":262,"props":1021,"children":1022},{"style":281},[1023],{"type":53,"value":1024}," cli-2026-08-19-01",{"type":47,"tag":262,"props":1026,"children":1027},{"style":287},[1028],{"type":53,"value":305},{"type":47,"tag":262,"props":1030,"children":1032},{"class":264,"line":1031},7,[1033,1037,1041,1046,1050],{"type":47,"tag":262,"props":1034,"children":1035},{"style":281},[1036],{"type":53,"value":379},{"type":47,"tag":262,"props":1038,"children":1039},{"style":275},[1040],{"type":53,"value":415},{"type":47,"tag":262,"props":1042,"children":1043},{"style":281},[1044],{"type":53,"value":1045},"minimax-m2",{"type":47,"tag":262,"props":1047,"children":1048},{"style":275},[1049],{"type":53,"value":1008},{"type":47,"tag":262,"props":1051,"children":1052},{"style":287},[1053],{"type":53,"value":305},{"type":47,"tag":262,"props":1055,"children":1057},{"class":264,"line":1056},8,[1058,1062,1066,1071],{"type":47,"tag":262,"props":1059,"children":1060},{"style":281},[1061],{"type":53,"value":410},{"type":47,"tag":262,"props":1063,"children":1064},{"style":275},[1065],{"type":53,"value":415},{"type":47,"tag":262,"props":1067,"children":1068},{"style":281},[1069],{"type":53,"value":1070},"循环寿命拟合，剔除 3 个离群样品，seed=42",{"type":47,"tag":262,"props":1072,"children":1073},{"style":275},[1074],{"type":53,"value":425},{"type":47,"tag":262,"props":1076,"children":1078},{"class":264,"line":1077},9,[1079],{"type":47,"tag":262,"props":1080,"children":1082},{"emptyLinePlaceholder":1081},true,[1083],{"type":53,"value":1084},"\n",{"type":47,"tag":262,"props":1086,"children":1088},{"class":264,"line":1087},10,[1089],{"type":47,"tag":262,"props":1090,"children":1091},{"style":936},[1092],{"type":53,"value":1093},"# 同日远程 DFT 任务抓回结果后\n",{"type":47,"tag":262,"props":1095,"children":1097},{"class":264,"line":1096},11,[1098,1102,1106],{"type":47,"tag":262,"props":1099,"children":1100},{"style":269},[1101],{"type":53,"value":272},{"type":47,"tag":262,"props":1103,"children":1104},{"style":281},[1105],{"type":53,"value":951},{"type":47,"tag":262,"props":1107,"children":1108},{"style":287},[1109],{"type":53,"value":305},{"type":47,"tag":262,"props":1111,"children":1113},{"class":264,"line":1112},12,[1114,1118,1123],{"type":47,"tag":262,"props":1115,"children":1116},{"style":281},[1117],{"type":53,"value":313},{"type":47,"tag":262,"props":1119,"children":1120},{"style":281},[1121],{"type":53,"value":1122}," data\u002F2026-08-vasp-dos\u002F",{"type":47,"tag":262,"props":1124,"children":1125},{"style":287},[1126],{"type":53,"value":305},{"type":47,"tag":262,"props":1128,"children":1130},{"class":264,"line":1129},13,[1131,1135,1139,1144,1148],{"type":47,"tag":262,"props":1132,"children":1133},{"style":281},[1134],{"type":53,"value":331},{"type":47,"tag":262,"props":1136,"children":1137},{"style":275},[1138],{"type":53,"value":415},{"type":47,"tag":262,"props":1140,"children":1141},{"style":281},[1142],{"type":53,"value":1143},"vasp 6.4.2 (Slurm job 88213471)",{"type":47,"tag":262,"props":1145,"children":1146},{"style":275},[1147],{"type":53,"value":1008},{"type":47,"tag":262,"props":1149,"children":1150},{"style":287},[1151],{"type":53,"value":305},{"type":47,"tag":262,"props":1153,"children":1155},{"class":264,"line":1154},14,[1156,1160,1164,1169],{"type":47,"tag":262,"props":1157,"children":1158},{"style":281},[1159],{"type":53,"value":410},{"type":47,"tag":262,"props":1161,"children":1162},{"style":275},[1163],{"type":53,"value":415},{"type":47,"tag":262,"props":1165,"children":1166},{"style":281},[1167],{"type":53,"value":1168},"DOS 计算完成，64 核 5.2 小时，节点 c12n04，已 rsync 回本地",{"type":47,"tag":262,"props":1170,"children":1171},{"style":275},[1172],{"type":53,"value":425},{"type":47,"tag":62,"props":1174,"children":1175},{},[1176],{"type":53,"value":1177},"对应的 jsonl（节选，实际为一行一条）：",{"type":47,"tag":251,"props":1179,"children":1183},{"className":1180,"code":1181,"language":1182,"meta":256,"style":256},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\"ts\": \"2026-08-19T15:31:02+08:00\", \"paths\": [\"output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fcycle-life.png\", \"output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fstats.csv\"], \"tool\": \"python scripts\u002Fanalyze_cycle.py\", \"session\": \"cli-2026-08-19-01\", \"model\": \"minimax-m2\", \"env_hash\": \"02008886520f\", \"note\": \"循环寿命拟合，剔除 3 个离群样品，seed=42\"}\n","json",[1184],{"type":47,"tag":76,"props":1185,"children":1186},{"__ignoreMap":256},[1187],{"type":47,"tag":262,"props":1188,"children":1189},{"class":264,"line":265},[1190,1195,1199,1204,1208,1213,1217,1222,1226,1231,1235,1239,1243,1247,1252,1256,1261,1265,1269,1273,1278,1282,1287,1291,1295,1299,1303,1307,1311,1315,1319,1323,1327,1331,1335,1339,1344,1348,1352,1356,1360,1364,1368,1372,1376,1380,1384,1388,1392,1396,1400,1404,1409,1413,1417,1421,1425,1429,1433,1437,1441,1445],{"type":47,"tag":262,"props":1191,"children":1192},{"style":275},[1193],{"type":53,"value":1194},"{",{"type":47,"tag":262,"props":1196,"children":1197},{"style":275},[1198],{"type":53,"value":1008},{"type":47,"tag":262,"props":1200,"children":1202},{"style":1201},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1203],{"type":53,"value":761},{"type":47,"tag":262,"props":1205,"children":1206},{"style":275},[1207],{"type":53,"value":1008},{"type":47,"tag":262,"props":1209,"children":1210},{"style":275},[1211],{"type":53,"value":1212},":",{"type":47,"tag":262,"props":1214,"children":1215},{"style":275},[1216],{"type":53,"value":415},{"type":47,"tag":262,"props":1218,"children":1219},{"style":281},[1220],{"type":53,"value":1221},"2026-08-19T15:31:02+08:00",{"type":47,"tag":262,"props":1223,"children":1224},{"style":275},[1225],{"type":53,"value":1008},{"type":47,"tag":262,"props":1227,"children":1228},{"style":275},[1229],{"type":53,"value":1230},",",{"type":47,"tag":262,"props":1232,"children":1233},{"style":275},[1234],{"type":53,"value":415},{"type":47,"tag":262,"props":1236,"children":1237},{"style":1201},[1238],{"type":53,"value":784},{"type":47,"tag":262,"props":1240,"children":1241},{"style":275},[1242],{"type":53,"value":1008},{"type":47,"tag":262,"props":1244,"children":1245},{"style":275},[1246],{"type":53,"value":1212},{"type":47,"tag":262,"props":1248,"children":1249},{"style":275},[1250],{"type":53,"value":1251}," [",{"type":47,"tag":262,"props":1253,"children":1254},{"style":275},[1255],{"type":53,"value":1008},{"type":47,"tag":262,"props":1257,"children":1258},{"style":281},[1259],{"type":53,"value":1260},"output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fcycle-life.png",{"type":47,"tag":262,"props":1262,"children":1263},{"style":275},[1264],{"type":53,"value":1008},{"type":47,"tag":262,"props":1266,"children":1267},{"style":275},[1268],{"type":53,"value":1230},{"type":47,"tag":262,"props":1270,"children":1271},{"style":275},[1272],{"type":53,"value":415},{"type":47,"tag":262,"props":1274,"children":1275},{"style":281},[1276],{"type":53,"value":1277},"output\u002Fanalysis\u002F3f9a1c7e\u002F20260819-153000\u002Fstats.csv",{"type":47,"tag":262,"props":1279,"children":1280},{"style":275},[1281],{"type":53,"value":1008},{"type":47,"tag":262,"props":1283,"children":1284},{"style":275},[1285],{"type":53,"value":1286},"],",{"type":47,"tag":262,"props":1288,"children":1289},{"style":275},[1290],{"type":53,"value":415},{"type":47,"tag":262,"props":1292,"children":1293},{"style":1201},[1294],{"type":53,"value":807},{"type":47,"tag":262,"props":1296,"children":1297},{"style":275},[1298],{"type":53,"value":1008},{"type":47,"tag":262,"props":1300,"children":1301},{"style":275},[1302],{"type":53,"value":1212},{"type":47,"tag":262,"props":1304,"children":1305},{"style":275},[1306],{"type":53,"value":415},{"type":47,"tag":262,"props":1308,"children":1309},{"style":281},[1310],{"type":53,"value":1003},{"type":47,"tag":262,"props":1312,"children":1313},{"style":275},[1314],{"type":53,"value":1008},{"type":47,"tag":262,"props":1316,"children":1317},{"style":275},[1318],{"type":53,"value":1230},{"type":47,"tag":262,"props":1320,"children":1321},{"style":275},[1322],{"type":53,"value":415},{"type":47,"tag":262,"props":1324,"children":1325},{"style":1201},[1326],{"type":53,"value":829},{"type":47,"tag":262,"props":1328,"children":1329},{"style":275},[1330],{"type":53,"value":1008},{"type":47,"tag":262,"props":1332,"children":1333},{"style":275},[1334],{"type":53,"value":1212},{"type":47,"tag":262,"props":1336,"children":1337},{"style":275},[1338],{"type":53,"value":415},{"type":47,"tag":262,"props":1340,"children":1341},{"style":281},[1342],{"type":53,"value":1343},"cli-2026-08-19-01",{"type":47,"tag":262,"props":1345,"children":1346},{"style":275},[1347],{"type":53,"value":1008},{"type":47,"tag":262,"props":1349,"children":1350},{"style":275},[1351],{"type":53,"value":1230},{"type":47,"tag":262,"props":1353,"children":1354},{"style":275},[1355],{"type":53,"value":415},{"type":47,"tag":262,"props":1357,"children":1358},{"style":1201},[1359],{"type":53,"value":851},{"type":47,"tag":262,"props":1361,"children":1362},{"style":275},[1363],{"type":53,"value":1008},{"type":47,"tag":262,"props":1365,"children":1366},{"style":275},[1367],{"type":53,"value":1212},{"type":47,"tag":262,"props":1369,"children":1370},{"style":275},[1371],{"type":53,"value":415},{"type":47,"tag":262,"props":1373,"children":1374},{"style":281},[1375],{"type":53,"value":1045},{"type":47,"tag":262,"props":1377,"children":1378},{"style":275},[1379],{"type":53,"value":1008},{"type":47,"tag":262,"props":1381,"children":1382},{"style":275},[1383],{"type":53,"value":1230},{"type":47,"tag":262,"props":1385,"children":1386},{"style":275},[1387],{"type":53,"value":415},{"type":47,"tag":262,"props":1389,"children":1390},{"style":1201},[1391],{"type":53,"value":872},{"type":47,"tag":262,"props":1393,"children":1394},{"style":275},[1395],{"type":53,"value":1008},{"type":47,"tag":262,"props":1397,"children":1398},{"style":275},[1399],{"type":53,"value":1212},{"type":47,"tag":262,"props":1401,"children":1402},{"style":275},[1403],{"type":53,"value":415},{"type":47,"tag":262,"props":1405,"children":1406},{"style":281},[1407],{"type":53,"value":1408},"02008886520f",{"type":47,"tag":262,"props":1410,"children":1411},{"style":275},[1412],{"type":53,"value":1008},{"type":47,"tag":262,"props":1414,"children":1415},{"style":275},[1416],{"type":53,"value":1230},{"type":47,"tag":262,"props":1418,"children":1419},{"style":275},[1420],{"type":53,"value":415},{"type":47,"tag":262,"props":1422,"children":1423},{"style":1201},[1424],{"type":53,"value":894},{"type":47,"tag":262,"props":1426,"children":1427},{"style":275},[1428],{"type":53,"value":1008},{"type":47,"tag":262,"props":1430,"children":1431},{"style":275},[1432],{"type":53,"value":1212},{"type":47,"tag":262,"props":1434,"children":1435},{"style":275},[1436],{"type":53,"value":415},{"type":47,"tag":262,"props":1438,"children":1439},{"style":281},[1440],{"type":53,"value":1070},{"type":47,"tag":262,"props":1442,"children":1443},{"style":275},[1444],{"type":53,"value":1008},{"type":47,"tag":262,"props":1446,"children":1447},{"style":275},[1448],{"type":53,"value":1449},"}\n",{"type":47,"tag":56,"props":1451,"children":1453},{"id":1452},"输出模板",[1454],{"type":53,"value":1452},{"type":47,"tag":62,"props":1456,"children":1457},{},[1458],{"type":53,"value":1459},"登记完成后的确认输出：",{"type":47,"tag":251,"props":1461,"children":1465},{"className":1462,"code":1463,"language":1464,"meta":256,"style":256},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","已登记 N 个产物 → .openscience\u002Fprovenance.jsonl\n- tool: \u003Ctool>  env_hash: \u003Chash>（新环境 \u002F 已有环境）\n- note: \u003Cnote>\n","markdown",[1466],{"type":47,"tag":76,"props":1467,"children":1468},{"__ignoreMap":256},[1469,1477,1490],{"type":47,"tag":262,"props":1470,"children":1471},{"class":264,"line":265},[1472],{"type":47,"tag":262,"props":1473,"children":1474},{"style":287},[1475],{"type":53,"value":1476},"已登记 N 个产物 → .openscience\u002Fprovenance.jsonl\n",{"type":47,"tag":262,"props":1478,"children":1479},{"class":264,"line":27},[1480,1485],{"type":47,"tag":262,"props":1481,"children":1482},{"style":275},[1483],{"type":53,"value":1484},"-",{"type":47,"tag":262,"props":1486,"children":1487},{"style":287},[1488],{"type":53,"value":1489}," tool: \u003Ctool>  env_hash: \u003Chash>（新环境 \u002F 已有环境）\n",{"type":47,"tag":262,"props":1491,"children":1492},{"class":264,"line":325},[1493,1497],{"type":47,"tag":262,"props":1494,"children":1495},{"style":275},[1496],{"type":53,"value":1484},{"type":47,"tag":262,"props":1498,"children":1499},{"style":287},[1500],{"type":53,"value":1501}," note: \u003Cnote>\n",{"type":47,"tag":62,"props":1503,"children":1504},{},[1505],{"type":53,"value":1506},"溯源查询输出：",{"type":47,"tag":251,"props":1508,"children":1510},{"className":1462,"code":1509,"language":1464,"meta":256,"style":256},"## 来源追溯：\u003Cpath>\n\n- 产生时间：…（ts）\n- 产生工具：…（tool \u002F session \u002F model）\n- 运行环境：…（env_hash + 详情摘要）\n- 备注：…（note）\n- 同批产物：…（同条记录的其他 paths）\n",[1511],{"type":47,"tag":76,"props":1512,"children":1513},{"__ignoreMap":256},[1514,1527,1534,1546,1558,1570,1582],{"type":47,"tag":262,"props":1515,"children":1516},{"class":264,"line":265},[1517,1522],{"type":47,"tag":262,"props":1518,"children":1519},{"style":275},[1520],{"type":53,"value":1521},"## ",{"type":47,"tag":262,"props":1523,"children":1524},{"style":269},[1525],{"type":53,"value":1526},"来源追溯：\u003Cpath>\n",{"type":47,"tag":262,"props":1528,"children":1529},{"class":264,"line":27},[1530],{"type":47,"tag":262,"props":1531,"children":1532},{"emptyLinePlaceholder":1081},[1533],{"type":53,"value":1084},{"type":47,"tag":262,"props":1535,"children":1536},{"class":264,"line":325},[1537,1541],{"type":47,"tag":262,"props":1538,"children":1539},{"style":275},[1540],{"type":53,"value":1484},{"type":47,"tag":262,"props":1542,"children":1543},{"style":287},[1544],{"type":53,"value":1545}," 产生时间：…（ts）\n",{"type":47,"tag":262,"props":1547,"children":1548},{"class":264,"line":343},[1549,1553],{"type":47,"tag":262,"props":1550,"children":1551},{"style":275},[1552],{"type":53,"value":1484},{"type":47,"tag":262,"props":1554,"children":1555},{"style":287},[1556],{"type":53,"value":1557}," 产生工具：…（tool \u002F session \u002F model）\n",{"type":47,"tag":262,"props":1559,"children":1560},{"class":264,"line":23},[1561,1565],{"type":47,"tag":262,"props":1562,"children":1563},{"style":275},[1564],{"type":53,"value":1484},{"type":47,"tag":262,"props":1566,"children":1567},{"style":287},[1568],{"type":53,"value":1569}," 运行环境：…（env_hash + 详情摘要）\n",{"type":47,"tag":262,"props":1571,"children":1572},{"class":264,"line":404},[1573,1577],{"type":47,"tag":262,"props":1574,"children":1575},{"style":275},[1576],{"type":53,"value":1484},{"type":47,"tag":262,"props":1578,"children":1579},{"style":287},[1580],{"type":53,"value":1581}," 备注：…（note）\n",{"type":47,"tag":262,"props":1583,"children":1584},{"class":264,"line":1031},[1585,1589],{"type":47,"tag":262,"props":1586,"children":1587},{"style":275},[1588],{"type":53,"value":1484},{"type":47,"tag":262,"props":1590,"children":1591},{"style":287},[1592],{"type":53,"value":1593}," 同批产物：…（同条记录的其他 paths）\n",{"type":47,"tag":56,"props":1595,"children":1597},{"id":1596},"本技能不做什么",[1598],{"type":53,"value":1596},{"type":47,"tag":432,"props":1600,"children":1601},{},[1602,1607,1612,1617,1622],{"type":47,"tag":89,"props":1603,"children":1604},{},[1605],{"type":53,"value":1606},"不验证产物内容的正确性：记录\"它存在、它这样来\"，不背书\"它是对的\"——正确性靠 reviewer 与各核验 skill。",{"type":47,"tag":89,"props":1608,"children":1609},{},[1610],{"type":53,"value":1611},"不替用户回忆：登记时信息不全（如忘了 session）就留空，宁可缺字段也不补编造值（guardrail 第 2、3 条）。",{"type":47,"tag":89,"props":1613,"children":1614},{},[1615],{"type":53,"value":1616},"不管理文件本身：不移动、不复制、不清理产物，只写日志。",{"type":47,"tag":89,"props":1618,"children":1619},{},[1620],{"type":53,"value":1621},"不做版本控制：provenance 回答\"怎么来的\"，不回答\"改了哪些\"——后者是 Git 的职责。",{"type":47,"tag":89,"props":1623,"children":1624},{},[1625,1627,1633],{"type":53,"value":1626},"不自动批量补登记历史文件：历史文件需要补录时走 evidence-capsule 的 ",{"type":47,"tag":76,"props":1628,"children":1630},{"className":1629},[],[1631],{"type":53,"value":1632},"historical_content_unverified",{"type":53,"value":1634}," 流程，逐批与用户确认。",{"type":47,"tag":56,"props":1636,"children":1638},{"id":1637},"收尾与下一步",[1639],{"type":53,"value":1637},{"type":47,"tag":432,"props":1641,"children":1642},{},[1643,1656,1661],{"type":47,"tag":89,"props":1644,"children":1645},{},[1646,1648,1654],{"type":53,"value":1647},"登记完成后提醒调用方：产物路径契约（research-workspace）要求同步刷新 ",{"type":47,"tag":76,"props":1649,"children":1651},{"className":1650},[],[1652],{"type":53,"value":1653},"latest\u002F",{"type":53,"value":1655},"。",{"type":47,"tag":89,"props":1657,"children":1658},{},[1659],{"type":53,"value":1660},"阶段收尾时检查：本阶段产物是否全部有登记记录？缺登记的当场补登，再进入 stage-gate。",{"type":47,"tag":89,"props":1662,"children":1663},{},[1664],{"type":53,"value":1665},"定期（如 evidence-capsule 冻结前）建议用户浏览一遍 provenance.jsonl，确认流水账与记忆中的研究过程一致。",{"type":47,"tag":1667,"props":1668,"children":1669},"style",{},[1670],{"type":53,"value":1671},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1673,"total":1874},[1674,1698,1714,1733,1748,1768,1786,1804,1819,1835,1854,1864],{"slug":1675,"name":1675,"fn":1676,"description":1677,"org":1678,"tags":1679,"stars":1695,"repoUrl":1696,"updatedAt":1697},"android-native-dev","develop Android native applications","Android native application development and UI design guide. Covers Material Design 3, Kotlin\u002FCompose development, project configuration, accessibility, and build troubleshooting. Read this before Android native application development.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1680,1683,1686,1689,1692],{"name":1681,"slug":1682,"type":16},"Accessibility","accessibility",{"name":1684,"slug":1685,"type":16},"Android","android",{"name":1687,"slug":1688,"type":16},"Kotlin","kotlin",{"name":1690,"slug":1691,"type":16},"Mobile","mobile",{"name":1693,"slug":1694,"type":16},"UI Components","ui-components",13030,"https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002Fskills","2026-07-13T06:16:54.247834",{"slug":1699,"name":1699,"fn":1700,"description":1701,"org":1702,"tags":1703,"stars":1695,"repoUrl":1696,"updatedAt":1713},"buddy-sings","generate singing performances for AI companions","Use when user wants their Claude Code pet (\u002Fbuddy) to sing a song. Triggers on any request that combines the concept of their Claude Code buddy, pet, or companion with singing or music. Supports multilingual triggers — match equivalent phrases in any language.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1704,1707,1710],{"name":1705,"slug":1706,"type":16},"Agents","agents",{"name":1708,"slug":1709,"type":16},"Audio","audio",{"name":1711,"slug":1712,"type":16},"Creative","creative","2026-07-13T06:16:35.130644",{"slug":1715,"name":1715,"fn":1716,"description":1717,"org":1718,"tags":1719,"stars":1695,"repoUrl":1696,"updatedAt":1732},"color-font-skill","select color palettes and font pairings","Choose presentation-ready color palettes and font pairings for PPT\u002Fdesign tasks. Use when users ask for visual theme choices, brand-safe palettes, or font recommendations. Triggers include: 配色, 色板, 字体, color palette, font, PPT配色, 字体搭配.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1720,1723,1726,1729],{"name":1721,"slug":1722,"type":16},"Design","design",{"name":1724,"slug":1725,"type":16},"Presentations","presentations",{"name":1727,"slug":1728,"type":16},"Themes","themes",{"name":1730,"slug":1731,"type":16},"Typography","typography","2026-07-13T06:17:02.785587",{"slug":1734,"name":1734,"fn":1735,"description":1736,"org":1737,"tags":1738,"stars":1695,"repoUrl":1696,"updatedAt":1747},"design-style-skill","select visual design systems for presentations","Select a consistent visual design system for PPT slides using radius\u002Fspacing style recipes. Use when users ask for overall style direction or component styling consistency. Includes Sharp\u002FSoft\u002FRounded\u002FPill recipes, component mappings, typography\u002Fspacing rules, and mixing guidance. Triggers: 风格, style, radius, spacing, 圆角, 间距, PPT风格, 视觉风格, design style, component style.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1739,1740,1743,1746],{"name":1721,"slug":1722,"type":16},{"name":1741,"slug":1742,"type":16},"Design System","design-system",{"name":1744,"slug":1745,"type":16},"PowerPoint","powerpoint",{"name":1724,"slug":1725,"type":16},"2026-07-13T06:17:10.398389",{"slug":1749,"name":1749,"fn":1750,"description":1751,"org":1752,"tags":1753,"stars":1695,"repoUrl":1696,"updatedAt":1767},"flutter-dev","build cross-platform apps with Flutter","Flutter cross-platform development guide covering widget patterns, Riverpod\u002FBloc state management, GoRouter navigation, performance optimization, and platform-specific implementations. Includes const optimization, responsive layouts, testing strategies, and DevTools profiling.\nUse when: building Flutter apps, implementing state management (Riverpod\u002FBloc), setting up GoRouter navigation, creating custom widgets, optimizing performance, writing widget tests, cross-platform development.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1754,1757,1760,1761,1764],{"name":1755,"slug":1756,"type":16},"Dart","dart",{"name":1758,"slug":1759,"type":16},"Flutter","flutter",{"name":1690,"slug":1691,"type":16},{"name":1762,"slug":1763,"type":16},"Performance","performance",{"name":1765,"slug":1766,"type":16},"State Management","state-management","2026-07-13T06:16:36.626679",{"slug":1769,"name":1769,"fn":1770,"description":1771,"org":1772,"tags":1773,"stars":1695,"repoUrl":1696,"updatedAt":1785},"frontend-dev","build visually striking frontend web pages","Full-stack frontend development combining premium UI design, cinematic animations,\nAI-generated media assets, persuasive copywriting, and visual art. Builds complete,\nvisually striking web pages with real media, advanced motion, and compelling copy.\nUse when: building landing pages, marketing sites, product pages, dashboards,\ngenerating media assets (image\u002Fvideo\u002Faudio\u002Fmusic), writing conversion copy,\ncreating generative art, or implementing cinematic scroll animations.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1774,1777,1778,1779,1782],{"name":1775,"slug":1776,"type":16},"Animation","animation",{"name":1711,"slug":1712,"type":16},{"name":1721,"slug":1722,"type":16},{"name":1780,"slug":1781,"type":16},"Frontend","frontend",{"name":1783,"slug":1784,"type":16},"Web Development","web-development","2026-07-13T06:16:39.108827",{"slug":1787,"name":1787,"fn":1788,"description":1789,"org":1790,"tags":1791,"stars":1695,"repoUrl":1696,"updatedAt":1803},"fullstack-dev","build full-stack web applications","Full-stack backend architecture and frontend-backend integration guide.\nTRIGGER when: building a full-stack app, creating REST API with frontend, scaffolding backend service,\nbuilding todo app, building CRUD app, building real-time app, building chat app,\nExpress + React, Next.js API, Node.js backend, Python backend, Go backend,\ndesigning service layers, implementing error handling, managing config\u002Fauth,\nsetting up API clients, implementing auth flows, handling file uploads,\nadding real-time features (SSE\u002FWebSocket), hardening for production.\nDO NOT TRIGGER when: pure frontend UI work, pure CSS\u002Fstyling, database schema only.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1792,1795,1796,1799,1802],{"name":1793,"slug":1794,"type":16},"Backend","backend",{"name":1780,"slug":1781,"type":16},{"name":1797,"slug":1798,"type":16},"Full-stack","full-stack",{"name":1800,"slug":1801,"type":16},"REST API","rest-api",{"name":1783,"slug":1784,"type":16},"2026-07-13T06:16:43.219005",{"slug":1805,"name":1805,"fn":1806,"description":1807,"org":1808,"tags":1809,"stars":1695,"repoUrl":1696,"updatedAt":1818},"gif-sticker-maker","create animated GIF stickers from photos","Convert photos (people, pets, objects, logos) into 4 animated GIF stickers with captions.\nUse when: user wants to create cartoon stickers, GIF expressions, emoji packs, animated avatars,\nor convert photos to Funko Pop \u002F Pop Mart blind box style animations.\nTriggers: sticker, GIF, cartoon, emoji, expression pack, avatar animation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1810,1811,1812,1815],{"name":1775,"slug":1776,"type":16},{"name":1711,"slug":1712,"type":16},{"name":1813,"slug":1814,"type":16},"Images","images",{"name":1816,"slug":1817,"type":16},"Media","media","2026-07-13T06:16:51.74461",{"slug":1820,"name":1820,"fn":1821,"description":1822,"org":1823,"tags":1824,"stars":1695,"repoUrl":1696,"updatedAt":1834},"ios-application-dev","develop iOS applications with SwiftUI and UIKit","iOS application development guide covering UIKit, SnapKit, and SwiftUI. Includes touch targets, safe areas, navigation patterns, Dynamic Type, Dark Mode, accessibility, collection views, common UI components, and SwiftUI design guidelines. For detailed references on specific topics, see the reference files.\nUse when: developing iOS apps, implementing UI, reviewing iOS code, working with UIKit\u002FSnapKit\u002FSwiftUI layouts, building iPhone interfaces, Swift mobile development, Apple HIG compliance, iOS accessibility implementation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1825,1826,1829,1830,1833],{"name":1681,"slug":1682,"type":16},{"name":1827,"slug":1828,"type":16},"iOS","ios",{"name":1690,"slug":1691,"type":16},{"name":1831,"slug":1832,"type":16},"SwiftUI","swiftui",{"name":1693,"slug":1694,"type":16},"2026-07-13T06:16:55.686092",{"slug":1836,"name":1836,"fn":1837,"description":1838,"org":1839,"tags":1840,"stars":1695,"repoUrl":1696,"updatedAt":1853},"minimax-docx","create and edit DOCX documents","Professional DOCX document creation, editing, and formatting using OpenXML SDK (.NET). Three pipelines: (A) create new documents from scratch, (B) fill\u002Fedit content in existing documents, (C) apply template formatting with XSD validation gate-check. MUST use this skill whenever the user wants to produce, modify, or format a Word document — including when they say \"write a report\", \"draft a proposal\", \"make a contract\", \"fill in this form\", \"reformat to match this template\", or any task whose final output is a .docx file. Even if the user doesn't mention \"docx\" explicitly, if the task implies a printable\u002Fformal document, use this skill.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1841,1844,1847,1850],{"name":1842,"slug":1843,"type":16},"Documents","documents",{"name":1845,"slug":1846,"type":16},"DOCX","docx",{"name":1848,"slug":1849,"type":16},"Office","office",{"name":1851,"slug":1852,"type":16},"Templates","templates","2026-07-13T06:16:40.461868",{"slug":1855,"name":1855,"fn":1856,"description":1857,"org":1858,"tags":1859,"stars":1695,"repoUrl":1696,"updatedAt":1863},"minimax-music-gen","generate music and audio tracks","Use when user wants to generate music, songs, or audio tracks. Triggers on any request involving music creation, song writing, lyrics generation, audio production, or covers. Also triggers when user provides lyrics and wants them turned into a song, or describes a mood\u002Fscene and wants background music. Supports multilingual triggers — match equivalent phrases in any language. Do NOT use for music playback of existing files, music theory questions, or music recommendation without generation.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1860,1861,1862],{"name":1708,"slug":1709,"type":16},{"name":1711,"slug":1712,"type":16},{"name":1816,"slug":1817,"type":16},"2026-07-13T06:16:50.381758",{"slug":1865,"name":1865,"fn":1866,"description":1867,"org":1868,"tags":1869,"stars":1695,"repoUrl":1696,"updatedAt":1873},"minimax-music-playlist","generate personalized music playlists","Generate personalized music playlists by analyzing the user's music taste and generation feedback history. Triggers on any request involving playlist generation, music taste profiling, or personalized music recommendations. Supports multilingual triggers — match equivalent phrases in any language.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1870,1871,1872],{"name":1708,"slug":1709,"type":16},{"name":1711,"slug":1712,"type":16},{"name":1816,"slug":1817,"type":16},"2026-07-13T06:16:57.002997",84,{"items":1876,"total":1971},[1877,1893,1908,1918,1930,1945,1959],{"slug":1878,"name":1878,"fn":1879,"description":1880,"org":1881,"tags":1882,"stars":23,"repoUrl":24,"updatedAt":1892},"article2tasks","convert articles into Dida365 tasks","将技术周报（批量）或单篇文章整理为滴答清单待办事项，自动分类到已有清单并打标签，全程通过 MCP 写入，跨平台无需任何本地脚本。当用户提供周报内容、文章链接，或提及「周报」「文章汇总」「添加到滴答」时，使用此技能。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1883,1886,1889],{"name":1884,"slug":1885,"type":16},"Content Creation","content-creation",{"name":1887,"slug":1888,"type":16},"MCP","mcp",{"name":1890,"slug":1891,"type":16},"Task Management","task-management","2026-08-18T03:49:38.751656",{"slug":1894,"name":1894,"fn":1895,"description":1896,"org":1897,"tags":1898,"stars":23,"repoUrl":24,"updatedAt":1907},"citation-verify","verify academic citation accuracy","当用户需要核验参考文献真实性、检查 BibTeX 条目是否有误、审查论文引用是否可靠、 排查 bibliography 中的错误条目、验证 DOI 与题录是否对得上、发现参考文献张冠李戴、 做投稿前引用体检或审稿引用抽查时使用。同义场景：参考文献核验、引用核查、 文献真伪鉴别、bib 文件检查、参考文献纠错、引用元数据比对、 \"帮我看看这些参考文献有没有问题\"\"这个 DOI 对得上吗\"\"有没有编造的引用\"。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1899,1902,1903,1906],{"name":1900,"slug":1901,"type":16},"Code Analysis","code-analysis",{"name":18,"slug":19,"type":16},{"name":1904,"slug":1905,"type":16},"QA","qa",{"name":14,"slug":15,"type":16},"2026-08-21T03:59:17.615117",{"slug":1909,"name":1909,"fn":1910,"description":1911,"org":1912,"tags":1913,"stars":23,"repoUrl":24,"updatedAt":1917},"claim-check","verify research claims against evidence","当需要检查论文草稿中的事实性论断是否有证据支撑、做引用-论断对齐审计、 找出没有出处的陈述、核对文内引用是否真能支撑所在句子时加载使用； 通常由 evidence-loop 或审稿类流程调用，不直接面向用户。同义场景： 论断支撑检查、claim 支撑审计、无支撑断言排查、证据覆盖检查、 引用与论断对齐、\"这段话有没有文献撑\"\"哪些说法没有引用\"。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1914,1915,1916],{"name":21,"slug":22,"type":16},{"name":1900,"slug":1901,"type":16},{"name":14,"slug":15,"type":16},"2026-08-21T03:59:02.154691",{"slug":1919,"name":1919,"fn":1920,"description":1921,"org":1922,"tags":1923,"stars":23,"repoUrl":24,"updatedAt":1929},"cn-literature","search and organize Chinese academic literature","当用户需要检索或整理中文文献（CNKI 知网、万方、维普、超星）、把中文数据库 导出的题录文件解析成统一 PaperDocument、或把中文文献与英文检索结果合并去重 时使用。同义场景：中文文献检索、知网导出题录解析、万方检索、Refworks\u002FEndNote 格式转换、\"帮我把这份 CNKI 导出的 txt 整理成文献表\"\"中文核心期刊上关于 X 有哪些研究\"。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1924,1927,1928],{"name":1925,"slug":1926,"type":16},"Data Cleaning","data-cleaning",{"name":1842,"slug":1843,"type":16},{"name":14,"slug":15,"type":16},"2026-08-21T03:59:12.24404",{"slug":1931,"name":1931,"fn":1932,"description":1933,"org":1934,"tags":1935,"stars":23,"repoUrl":24,"updatedAt":1944},"cold-start-interview","initialize research profiles via interviews","当用户首次使用科研工作台、研究画像仍为空白，或用户主动说\"先做个访谈\"\"重新设置我的研究信息\"\"初始化画像\"\"cold start\"\"重新 interview\"时使用。本技能通过结构化访谈收集用户的研究领域、常用数据源、算力环境、写作语言与目标期刊、引用格式、团队协作规范、伦理合规要求，并把回答以散文形式写回插件根目录 CLAUDE.md 的研究画像部分。支持 quick（2 分钟 5 问）、full（完整 15 问）、--redo（推翻重谈）、--check（只检查画像完整度不提问）四种模式，支持中断后续谈。同义触发场景：新用户引导、首次配置、研究背景调查、填研究档案、更新个人研究信息、check 画像。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1936,1937,1940,1943],{"name":18,"slug":19,"type":16},{"name":1938,"slug":1939,"type":16},"Onboarding","onboarding",{"name":1941,"slug":1942,"type":16},"Productivity","productivity",{"name":14,"slug":15,"type":16},"2026-08-21T03:59:58.579998",{"slug":1946,"name":1946,"fn":1947,"description":1948,"org":1949,"tags":1950,"stars":23,"repoUrl":24,"updatedAt":1958},"customize","customize research guardrails and settings","当用户想修改研究画像或共享守则（guardrails）时使用：换了研究领域、换了目标期刊、换了引用格式、换了算力环境、合规要求变化、想调整某条 guardrail 的严格程度。同义触发场景：改一下画像、更新我的研究信息、修改 CLAUDE.md、调整设置、换引用格式、customize、个性化配置、改规则、重新配置工作台。本技能是画像与守则的唯一维护入口：读取 CLAUDE.md、与用户逐项确认修改点、写回文件、并明确告知哪些 skill 的行为会因此变化。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1951,1954,1957],{"name":1952,"slug":1953,"type":16},"Best Practices","best-practices",{"name":1955,"slug":1956,"type":16},"Configuration","configuration",{"name":14,"slug":15,"type":16},"2026-08-21T03:59:35.867596",{"slug":1960,"name":1960,"fn":1961,"description":1962,"org":1963,"tags":1964,"stars":23,"repoUrl":24,"updatedAt":1970},"dida365","manage Dida365 tasks and habits","Manage 滴答清单 (Dida365 China) tasks, lists, habits, focus records and countdowns through the official Dida365 MCP server at mcp.dida365.com. Use when the user asks to check, plan, create, update, complete or review tasks and habits on dida365.com, or asks about focus history and countdowns.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1965,1966,1969],{"name":1887,"slug":1888,"type":16},{"name":1967,"slug":1968,"type":16},"Scheduling","scheduling",{"name":1890,"slug":1891,"type":16},"2026-08-18T03:49:37.126385",36]