[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-minimax-research-workspace":3,"mdc-fzt7t3-key":34,"related-org-minimax-research-workspace":1082,"related-repo-minimax-research-workspace":1285},{"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},"research-workspace","initialize and maintain research workspaces","当用户开始新研究项目、说\"初始化工作区\"\"建一下项目目录\"\"检查目录结构\"\"workspace\"\"整理一下我的研究文件夹\"，或任何 skill 发现当前目录不符合工作区约定时使用。本技能定义并维护科研工作区的标准目录结构（data\u002Ffigures\u002Fnotebooks\u002Fpapers\u002Freports\u002Freviews\u002Fscripts\u002Foutput\u002F.openscience）、产物路径契约（output\u002F\u003Cskill>\u002F\u003Cslug>\u002Flatest\u002F 指向最近运行，历史运行按时间戳归档）与原始数据只读原则，并提供项目初始化与结构体检两套清单。同义触发场景：新建课题目录、项目结构检查、目录规范、产物放哪里、原始数据能不能改。",{"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},"Operations","operations",{"name":21,"slug":22,"type":16},"Documentation","documentation",5,"https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002FMiniMax-Code-Plugins","2026-08-21T03:59:31.369037",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\u002Fresearch-workspace","---\nname: research-workspace\ndescription: >-\n  当用户开始新研究项目、说\"初始化工作区\"\"建一下项目目录\"\"检查目录结构\"\"workspace\"\"整理一下我的研究文件夹\"，或任何 skill 发现当前目录不符合工作区约定时使用。本技能定义并维护科研工作区的标准目录结构（data\u002Ffigures\u002Fnotebooks\u002Fpapers\u002Freports\u002Freviews\u002Fscripts\u002Foutput\u002F.openscience）、产物路径契约（output\u002F\u003Cskill>\u002F\u003Cslug>\u002Flatest\u002F 指向最近运行，历史运行按时间戳归档）与原始数据只读原则，并提供项目初始化与结构体检两套清单。同义触发场景：新建课题目录、项目结构检查、目录规范、产物放哪里、原始数据能不能改。\nargument-hint: '[init|check]'\nmetadata:\n  domains: [workspace, project-structure, data-management]\n  last_reviewed: '2026-08-18'\n---\n\n# research-workspace：科研工作区约定\n\n## 目的\n\n研究产物散落于桌面和下载文件夹，是科研工作流最常见的崩坏起点。本技能规定一套统一的目录结构与路径契约，使得：\n\n1. 任何 skill 都知道\"产物该写到哪里\"\"该去哪里读原始数据\"；\n2. 同一 skill 的多次运行互不覆盖，历史可追溯；\n3. 新会话能通过目录结构 itself 恢复大部分上下文；\n4. 原始数据永远保持到手时的样子，为证据胶囊（evidence-capsule）提供冻结基础。\n\n## 前置检查\n\n1. 确认当前工作目录是用户认定的项目根目录。拿不准时问用户：\"把 \u003C当前路径> 当作本项目的工作区根目录，对吗？\"\n2. `init` 前检查目录是否已有内容：非空目录不报错，但初始化时只补缺、不改动已有文件（见\"初始化清单\"）。\n3. `check` 模式只读不写，任何\"顺手修复\"都必须先向用户报告再执行。\n\n## 标准目录结构\n\n工作区根目录下的标准布局：\n\n```text\n\u003Cproject-root>\u002F\n├── data\u002F            # 原始数据，只读。到手后不再修改\n├── figures\u002F         # 论文\u002F报告用图的最终版本（由 output 中的产物精选而来）\n├── notebooks\u002F       # Jupyter \u002F Quarto 等交互式笔记本\n├── papers\u002F          # 论文与报告文稿（草稿与版本）\n├── reports\u002F         # 阶段性报告、组会材料、stage-report 的精选副本\n├── reviews\u002F         # 收到的审稿意见、发布前审查的记录\n├── scripts\u002F         # 可重复执行的脚本（分析、作图、数据处理）\n├── output\u002F          # 各 skill 的运行产物（结构见\"产物路径契约\"）\n└── .openscience\u002F    # 工作台元数据：provenance.jsonl、env\u002F 等\n```\n\n各目录的职责边界：\n\n- **data\u002F**：只进不出的原始数据。包括实验导出文件、下载的数据集、问卷原始答卷。子目录建议按来源或日期组织（如 `data\u002F2026-08-xrd\u002F`），但插件不强制。\n- **figures\u002F 与 papers\u002F**：放\"准备给人看\"的版本。过程稿在 output\u002F 里，只有被用户选中后才复制到这里。\n- **output\u002F**：机器产物的家。用户一般不需要手动整理这里——结构由契约保证。\n- **.openscience\u002F**：隐藏目录，记录工作台的运行状态。用户不需要直接编辑，但可以随时查看。`provenance-record` 写这里。\n\n## 产物路径契约\n\n所有 skill 的运行产物统一遵守：\n\n```text\noutput\u002F\u003Cskill 名>\u002F\u003Cslug>\u002F\u003Ctimestamp>\u002F    # 每次运行的完整产物\noutput\u002F\u003Cskill 名>\u002F\u003Cslug>\u002Flatest\u002F         # 最近一次运行的副本（或指针）\n```\n\n规则：\n\n1. **每次运行一个时间戳目录**：`\u003Ctimestamp>` 格式为 `YYYYMMDD-HHMMSS`（本地时间）。一次运行产生的所有文件都放进同一个时间戳目录，不允许跨目录散落。\n2. **latest 是副本不是链接**：运行结束时，把本次时间戳目录的内容完整复制到 `latest\u002F`（先清空再放）。选副本而非符号链接，是因为 Windows 与部分远程文件系统对符号链接支持不一致；副本的代价是磁盘占用翻倍，产物通常很小，可以接受。\n3. **读产物一律从 latest 读**：下游 skill 需要上游产物时，只引用 `output\u002F\u003Cskill>\u002F\u003Cslug>\u002Flatest\u002F...` 路径，保证\"用到的永远是最新批准的版本\"。需要引用历史版本时写明完整时间戳路径。\n4. **历史目录不删不改**：时间戳目录一旦写完就冻结。清理磁盘是用户的决定，skill 不得自动删除历史运行（guardrail 第 8 条）。\n5. **slug 来源**：研究项目产物用 research-lifecycle 的 slug；与具体项目无关的产物（如画像修改记录）使用固定 slug `workspace`。\n6. **已登记的例外**：evidence-loop 使用轮次目录 `output\u002Fevidence-loop\u002F\u003Cslug>\u002F\u003Cround>\u002F`，是本契约的显式例外，替代 `latest\u002F`（见该 skill 的产物结构说明）。\n\n示例：\n\n```text\noutput\u002F\n├── literature-search\u002F\n│   └── 3f9a1c7e\u002F\n│       ├── 20260818-101500\u002F\n│       │   ├── results-openalex.json\n│       │   └── results-cnki.json\n│       ├── 20260819-090000\u002F\n│       │   └── results-openalex.json\n│       └── latest\u002F            # 与 20260819-090000\u002F 内容相同\n└── research-lifecycle\u002F\n    └── 3f9a1c7e\u002F\n        └── latest\u002F\n            ├── research-question.md\n            └── hypothesis.md\n```\n\n## 原始数据只读原则\n\n1. 文件进入 `data\u002F` 即冻结：不改名、不编辑、不删除、不覆盖。\n2. 一切清洗、转换、筛选都生成**新文件**：中间产物放 `output\u002F\u003Cskill>\u002F\u003Cslug>\u002F`，清洗后需要复用的数据集放 `data\u002F` 以外（建议 `output\u002F` 或项目自建的 `derived\u002F`）。\n3. 数据纠错走\"增补\"而非\"修改\"：发现原始数据有误时，新存一份修正版并附说明文件（`README-correction.md` 写明哪份文件哪里错了），原文件保留。\n4. 任何 skill 检测到自己在写 `data\u002F` 下已存在的文件，必须停止并报告——这几乎一定是路径错误。\n5. 大文件例外：原始数据体积巨大时（如测序原始数据），允许只存校验和与获取方式说明，但说明文件本身仍按只读原则管理。\n\n## 1 · init：项目初始化清单\n\n按顺序执行，每步完成后向用户报告：\n\n1. 创建九个标准目录（已存在则跳过，不报错）。\n2. 在 `.openscience\u002F` 下初始化空文件：`provenance.jsonl`（不存在则创建空文件）；`env\u002F` 子目录。\n3. 生成工作区说明文件 `WORKSPACE.md`（根目录），内容：标准目录速查、产物路径契约、原始数据只读原则、本工作区初始化日期。已存在 WORKSPACE.md 时跳过不覆盖。\n4. 检查 CLAUDE.md 画像状态：有 `[填空]` 时提醒用户先完成 `cold-start-interview`。\n5. 如果用户提供了研究主题，顺手计算 slug 并创建 `output\u002Fresearch-lifecycle\u002F\u003Cslug>\u002F` 目录骨架，提示可以直接进入 research-lifecycle。\n6. 用 provenance-record 登记本次初始化（paths 为创建的目录清单，note 为 \"workspace init\"）。\n\n初始化是幂等的：重复运行 `init` 不产生任何破坏，只补齐缺失部分。\n\n## 2 · check：结构体检清单\n\n只读检查，输出体检报告：\n\n1. 九个标准目录哪些缺失、哪些非空；\n2. `output\u002F` 下所有 `\u003Cskill>\u002F\u003Cslug>\u002F` 组合，各自的运行次数与 latest 是否同步（latest 内容与最新时间戳目录是否一致）；\n3. `data\u002F` 的健康度：是否有文件在过去 7 天内被修改（违反只读原则的信号，用文件 mtime 判断）；\n4. `.openscience\u002Fprovenance.jsonl` 是否存在、最后一条记录的时间；\n5. 发现的问题按\"建议修复 \u002F 需要用户决定\"分类列出，不自动动手。\n\n## 3 · 多项目共存\n\n一个工作区可以同时进行多个研究项目（多个 slug）。规则：\n\n1. 每个项目的产物严格隔离在各自的 `\u003Cslug>\u002F` 目录下，互不引用对方的时间戳目录；\n2. `stage.yaml` 每个项目一份，放在 `output\u002F\u003Cslug>\u002Fstage.yaml`（见 stage-gate），因此恢复进度时以项目为单位；\n3. `data\u002F` 是项目间共享的：同一批原始数据可以服务多个研究问题，子目录按来源组织即可，不必按项目复制；\n4. `.openscience\u002Fprovenance.jsonl` 是全局唯一一份，各项目的记录通过 paths 中的 slug 路径区分。\n\n## 输出模板\n\n`init` 完成后：\n\n```markdown\n## 工作区初始化完成\n\n- 根目录：\u003Cpath>\n- 新建目录：…（列出，已存在的标 [已存在]）\n- 元数据：.openscience\u002Fprovenance.jsonl 已就绪\n- 画像状态：完整 \u002F 有 N 节 [填空]（建议先运行 cold-start-interview）\n\n下一步：对 research-lifecycle 说出你的研究主题，或先运行 cold-start-interview。\n```\n\n`check` 完成后：\n\n```markdown\n## 工作区体检报告（\u003Cdate>）\n\n- 目录结构：9\u002F9 就绪（缺失：…）\n- 产物目录：N 个项目，M 次运行；latest 同步正常 \u002F 异常（列出）\n- 原始数据：只读原则正常 \u002F 发现 N 个近期修改的文件（列出，[待复核]）\n- provenance：最后记录 \u003C时间>\n- 建议：…\n```\n\n## 本技能不做什么\n\n- 不整理 `output\u002F` 以外的用户文件：桌面、下载文件夹里的历史文件是否迁入工作区由用户决定，本技能最多给出迁移建议清单。\n- 不自动删除任何文件：包括\"明显过期\"的时间戳目录和\"明显冗余\"的副本（guardrail 第 8 条）。\n- 不强制子目录结构：`data\u002F` 内部怎么组织是用户自由，本技能只管根目录九件套。\n- 不做备份：工作区约定降低混乱风险，但不替代备份策略；提醒用户重要工作区应有独立备份（本技能不实现）。\n- 不管理 Git：工作区是否纳入版本控制、哪些目录进 .gitignore（通常 data\u002F 与 output\u002F 的历史目录不进）由用户决定，本技能被问到时可以给建议但不代执行。\n\n## 收尾与下一步\n\n- `init` 后：引导用户运行 `cold-start-interview`（画像未完成时）或直接进入 `research-lifecycle`。\n- `check` 发现问题时：逐项给出修复建议并等待用户选择；修复动作（建目录、同步 latest）经用户同意后执行，删除类动作一律只建议不执行。\n- 向用户说明契约的日常收益：\"以后任何 skill 的产物都去 `output\u002F\u003Cskill>\u002F\u003Cslug>\u002Flatest\u002F` 找，历史版本在同名时间戳目录里，永远不用担心被覆盖。\"\n",{"data":35,"body":43},{"name":4,"description":6,"argument-hint":36,"metadata":37},"[init|check]",{"domains":38,"last_reviewed":42},[39,40,41],"workspace","project-structure","data-management","2026-08-18",{"type":44,"children":45},"root",[46,55,61,67,92,97,128,133,138,150,155,216,221,226,235,240,357,362,371,376,463,469,474,561,573,579,584,636,642,647,702,707,717,862,871,974,979,1021,1026,1076],{"type":47,"tag":48,"props":49,"children":51},"element","h1",{"id":50},"research-workspace科研工作区约定",[52],{"type":53,"value":54},"text","research-workspace：科研工作区约定",{"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],{"type":53,"value":66},"研究产物散落于桌面和下载文件夹，是科研工作流最常见的崩坏起点。本技能规定一套统一的目录结构与路径契约，使得：",{"type":47,"tag":68,"props":69,"children":70},"ol",{},[71,77,82,87],{"type":47,"tag":72,"props":73,"children":74},"li",{},[75],{"type":53,"value":76},"任何 skill 都知道\"产物该写到哪里\"\"该去哪里读原始数据\"；",{"type":47,"tag":72,"props":78,"children":79},{},[80],{"type":53,"value":81},"同一 skill 的多次运行互不覆盖，历史可追溯；",{"type":47,"tag":72,"props":83,"children":84},{},[85],{"type":53,"value":86},"新会话能通过目录结构 itself 恢复大部分上下文；",{"type":47,"tag":72,"props":88,"children":89},{},[90],{"type":53,"value":91},"原始数据永远保持到手时的样子，为证据胶囊（evidence-capsule）提供冻结基础。",{"type":47,"tag":56,"props":93,"children":95},{"id":94},"前置检查",[96],{"type":53,"value":94},{"type":47,"tag":68,"props":98,"children":99},{},[100,105,117],{"type":47,"tag":72,"props":101,"children":102},{},[103],{"type":53,"value":104},"确认当前工作目录是用户认定的项目根目录。拿不准时问用户：\"把 \u003C当前路径> 当作本项目的工作区根目录，对吗？\"",{"type":47,"tag":72,"props":106,"children":107},{},[108,115],{"type":47,"tag":109,"props":110,"children":112},"code",{"className":111},[],[113],{"type":53,"value":114},"init",{"type":53,"value":116}," 前检查目录是否已有内容：非空目录不报错，但初始化时只补缺、不改动已有文件（见\"初始化清单\"）。",{"type":47,"tag":72,"props":118,"children":119},{},[120,126],{"type":47,"tag":109,"props":121,"children":123},{"className":122},[],[124],{"type":53,"value":125},"check",{"type":53,"value":127}," 模式只读不写，任何\"顺手修复\"都必须先向用户报告再执行。",{"type":47,"tag":56,"props":129,"children":131},{"id":130},"标准目录结构",[132],{"type":53,"value":130},{"type":47,"tag":62,"props":134,"children":135},{},[136],{"type":53,"value":137},"工作区根目录下的标准布局：",{"type":47,"tag":139,"props":140,"children":145},"pre",{"className":141,"code":143,"language":53,"meta":144},[142],"language-text","\u003Cproject-root>\u002F\n├── data\u002F            # 原始数据，只读。到手后不再修改\n├── figures\u002F         # 论文\u002F报告用图的最终版本（由 output 中的产物精选而来）\n├── notebooks\u002F       # Jupyter \u002F Quarto 等交互式笔记本\n├── papers\u002F          # 论文与报告文稿（草稿与版本）\n├── reports\u002F         # 阶段性报告、组会材料、stage-report 的精选副本\n├── reviews\u002F         # 收到的审稿意见、发布前审查的记录\n├── scripts\u002F         # 可重复执行的脚本（分析、作图、数据处理）\n├── output\u002F          # 各 skill 的运行产物（结构见\"产物路径契约\"）\n└── .openscience\u002F    # 工作台元数据：provenance.jsonl、env\u002F 等\n","",[146],{"type":47,"tag":109,"props":147,"children":148},{"__ignoreMap":144},[149],{"type":53,"value":143},{"type":47,"tag":62,"props":151,"children":152},{},[153],{"type":53,"value":154},"各目录的职责边界：",{"type":47,"tag":156,"props":157,"children":158},"ul",{},[159,178,188,198],{"type":47,"tag":72,"props":160,"children":161},{},[162,168,170,176],{"type":47,"tag":163,"props":164,"children":165},"strong",{},[166],{"type":53,"value":167},"data\u002F",{"type":53,"value":169},"：只进不出的原始数据。包括实验导出文件、下载的数据集、问卷原始答卷。子目录建议按来源或日期组织（如 ",{"type":47,"tag":109,"props":171,"children":173},{"className":172},[],[174],{"type":53,"value":175},"data\u002F2026-08-xrd\u002F",{"type":53,"value":177},"），但插件不强制。",{"type":47,"tag":72,"props":179,"children":180},{},[181,186],{"type":47,"tag":163,"props":182,"children":183},{},[184],{"type":53,"value":185},"figures\u002F 与 papers\u002F",{"type":53,"value":187},"：放\"准备给人看\"的版本。过程稿在 output\u002F 里，只有被用户选中后才复制到这里。",{"type":47,"tag":72,"props":189,"children":190},{},[191,196],{"type":47,"tag":163,"props":192,"children":193},{},[194],{"type":53,"value":195},"output\u002F",{"type":53,"value":197},"：机器产物的家。用户一般不需要手动整理这里——结构由契约保证。",{"type":47,"tag":72,"props":199,"children":200},{},[201,206,208,214],{"type":47,"tag":163,"props":202,"children":203},{},[204],{"type":53,"value":205},".openscience\u002F",{"type":53,"value":207},"：隐藏目录，记录工作台的运行状态。用户不需要直接编辑，但可以随时查看。",{"type":47,"tag":109,"props":209,"children":211},{"className":210},[],[212],{"type":53,"value":213},"provenance-record",{"type":53,"value":215}," 写这里。",{"type":47,"tag":56,"props":217,"children":219},{"id":218},"产物路径契约",[220],{"type":53,"value":218},{"type":47,"tag":62,"props":222,"children":223},{},[224],{"type":53,"value":225},"所有 skill 的运行产物统一遵守：",{"type":47,"tag":139,"props":227,"children":230},{"className":228,"code":229,"language":53,"meta":144},[142],"output\u002F\u003Cskill 名>\u002F\u003Cslug>\u002F\u003Ctimestamp>\u002F    # 每次运行的完整产物\noutput\u002F\u003Cskill 名>\u002F\u003Cslug>\u002Flatest\u002F         # 最近一次运行的副本（或指针）\n",[231],{"type":47,"tag":109,"props":232,"children":233},{"__ignoreMap":144},[234],{"type":53,"value":229},{"type":47,"tag":62,"props":236,"children":237},{},[238],{"type":53,"value":239},"规则：",{"type":47,"tag":68,"props":241,"children":242},{},[243,269,287,305,315,332],{"type":47,"tag":72,"props":244,"children":245},{},[246,251,253,259,261,267],{"type":47,"tag":163,"props":247,"children":248},{},[249],{"type":53,"value":250},"每次运行一个时间戳目录",{"type":53,"value":252},"：",{"type":47,"tag":109,"props":254,"children":256},{"className":255},[],[257],{"type":53,"value":258},"\u003Ctimestamp>",{"type":53,"value":260}," 格式为 ",{"type":47,"tag":109,"props":262,"children":264},{"className":263},[],[265],{"type":53,"value":266},"YYYYMMDD-HHMMSS",{"type":53,"value":268},"（本地时间）。一次运行产生的所有文件都放进同一个时间戳目录，不允许跨目录散落。",{"type":47,"tag":72,"props":270,"children":271},{},[272,277,279,285],{"type":47,"tag":163,"props":273,"children":274},{},[275],{"type":53,"value":276},"latest 是副本不是链接",{"type":53,"value":278},"：运行结束时，把本次时间戳目录的内容完整复制到 ",{"type":47,"tag":109,"props":280,"children":282},{"className":281},[],[283],{"type":53,"value":284},"latest\u002F",{"type":53,"value":286},"（先清空再放）。选副本而非符号链接，是因为 Windows 与部分远程文件系统对符号链接支持不一致；副本的代价是磁盘占用翻倍，产物通常很小，可以接受。",{"type":47,"tag":72,"props":288,"children":289},{},[290,295,297,303],{"type":47,"tag":163,"props":291,"children":292},{},[293],{"type":53,"value":294},"读产物一律从 latest 读",{"type":53,"value":296},"：下游 skill 需要上游产物时，只引用 ",{"type":47,"tag":109,"props":298,"children":300},{"className":299},[],[301],{"type":53,"value":302},"output\u002F\u003Cskill>\u002F\u003Cslug>\u002Flatest\u002F...",{"type":53,"value":304}," 路径，保证\"用到的永远是最新批准的版本\"。需要引用历史版本时写明完整时间戳路径。",{"type":47,"tag":72,"props":306,"children":307},{},[308,313],{"type":47,"tag":163,"props":309,"children":310},{},[311],{"type":53,"value":312},"历史目录不删不改",{"type":53,"value":314},"：时间戳目录一旦写完就冻结。清理磁盘是用户的决定，skill 不得自动删除历史运行（guardrail 第 8 条）。",{"type":47,"tag":72,"props":316,"children":317},{},[318,323,325,330],{"type":47,"tag":163,"props":319,"children":320},{},[321],{"type":53,"value":322},"slug 来源",{"type":53,"value":324},"：研究项目产物用 research-lifecycle 的 slug；与具体项目无关的产物（如画像修改记录）使用固定 slug ",{"type":47,"tag":109,"props":326,"children":328},{"className":327},[],[329],{"type":53,"value":39},{"type":53,"value":331},"。",{"type":47,"tag":72,"props":333,"children":334},{},[335,340,342,348,350,355],{"type":47,"tag":163,"props":336,"children":337},{},[338],{"type":53,"value":339},"已登记的例外",{"type":53,"value":341},"：evidence-loop 使用轮次目录 ",{"type":47,"tag":109,"props":343,"children":345},{"className":344},[],[346],{"type":53,"value":347},"output\u002Fevidence-loop\u002F\u003Cslug>\u002F\u003Cround>\u002F",{"type":53,"value":349},"，是本契约的显式例外，替代 ",{"type":47,"tag":109,"props":351,"children":353},{"className":352},[],[354],{"type":53,"value":284},{"type":53,"value":356},"（见该 skill 的产物结构说明）。",{"type":47,"tag":62,"props":358,"children":359},{},[360],{"type":53,"value":361},"示例：",{"type":47,"tag":139,"props":363,"children":366},{"className":364,"code":365,"language":53,"meta":144},[142],"output\u002F\n├── literature-search\u002F\n│   └── 3f9a1c7e\u002F\n│       ├── 20260818-101500\u002F\n│       │   ├── results-openalex.json\n│       │   └── results-cnki.json\n│       ├── 20260819-090000\u002F\n│       │   └── results-openalex.json\n│       └── latest\u002F            # 与 20260819-090000\u002F 内容相同\n└── research-lifecycle\u002F\n    └── 3f9a1c7e\u002F\n        └── latest\u002F\n            ├── research-question.md\n            └── hypothesis.md\n",[367],{"type":47,"tag":109,"props":368,"children":369},{"__ignoreMap":144},[370],{"type":53,"value":365},{"type":47,"tag":56,"props":372,"children":374},{"id":373},"原始数据只读原则",[375],{"type":53,"value":373},{"type":47,"tag":68,"props":377,"children":378},{},[379,391,433,446,458],{"type":47,"tag":72,"props":380,"children":381},{},[382,384,389],{"type":53,"value":383},"文件进入 ",{"type":47,"tag":109,"props":385,"children":387},{"className":386},[],[388],{"type":53,"value":167},{"type":53,"value":390}," 即冻结：不改名、不编辑、不删除、不覆盖。",{"type":47,"tag":72,"props":392,"children":393},{},[394,396,401,403,409,411,416,418,423,425,431],{"type":53,"value":395},"一切清洗、转换、筛选都生成",{"type":47,"tag":163,"props":397,"children":398},{},[399],{"type":53,"value":400},"新文件",{"type":53,"value":402},"：中间产物放 ",{"type":47,"tag":109,"props":404,"children":406},{"className":405},[],[407],{"type":53,"value":408},"output\u002F\u003Cskill>\u002F\u003Cslug>\u002F",{"type":53,"value":410},"，清洗后需要复用的数据集放 ",{"type":47,"tag":109,"props":412,"children":414},{"className":413},[],[415],{"type":53,"value":167},{"type":53,"value":417}," 以外（建议 ",{"type":47,"tag":109,"props":419,"children":421},{"className":420},[],[422],{"type":53,"value":195},{"type":53,"value":424}," 或项目自建的 ",{"type":47,"tag":109,"props":426,"children":428},{"className":427},[],[429],{"type":53,"value":430},"derived\u002F",{"type":53,"value":432},"）。",{"type":47,"tag":72,"props":434,"children":435},{},[436,438,444],{"type":53,"value":437},"数据纠错走\"增补\"而非\"修改\"：发现原始数据有误时，新存一份修正版并附说明文件（",{"type":47,"tag":109,"props":439,"children":441},{"className":440},[],[442],{"type":53,"value":443},"README-correction.md",{"type":53,"value":445}," 写明哪份文件哪里错了），原文件保留。",{"type":47,"tag":72,"props":447,"children":448},{},[449,451,456],{"type":53,"value":450},"任何 skill 检测到自己在写 ",{"type":47,"tag":109,"props":452,"children":454},{"className":453},[],[455],{"type":53,"value":167},{"type":53,"value":457}," 下已存在的文件，必须停止并报告——这几乎一定是路径错误。",{"type":47,"tag":72,"props":459,"children":460},{},[461],{"type":53,"value":462},"大文件例外：原始数据体积巨大时（如测序原始数据），允许只存校验和与获取方式说明，但说明文件本身仍按只读原则管理。",{"type":47,"tag":56,"props":464,"children":466},{"id":465},"_1-init项目初始化清单",[467],{"type":53,"value":468},"1 · init：项目初始化清单",{"type":47,"tag":62,"props":470,"children":471},{},[472],{"type":53,"value":473},"按顺序执行，每步完成后向用户报告：",{"type":47,"tag":68,"props":475,"children":476},{},[477,482,510,523,543,556],{"type":47,"tag":72,"props":478,"children":479},{},[480],{"type":53,"value":481},"创建九个标准目录（已存在则跳过，不报错）。",{"type":47,"tag":72,"props":483,"children":484},{},[485,487,492,494,500,502,508],{"type":53,"value":486},"在 ",{"type":47,"tag":109,"props":488,"children":490},{"className":489},[],[491],{"type":53,"value":205},{"type":53,"value":493}," 下初始化空文件：",{"type":47,"tag":109,"props":495,"children":497},{"className":496},[],[498],{"type":53,"value":499},"provenance.jsonl",{"type":53,"value":501},"（不存在则创建空文件）；",{"type":47,"tag":109,"props":503,"children":505},{"className":504},[],[506],{"type":53,"value":507},"env\u002F",{"type":53,"value":509}," 子目录。",{"type":47,"tag":72,"props":511,"children":512},{},[513,515,521],{"type":53,"value":514},"生成工作区说明文件 ",{"type":47,"tag":109,"props":516,"children":518},{"className":517},[],[519],{"type":53,"value":520},"WORKSPACE.md",{"type":53,"value":522},"（根目录），内容：标准目录速查、产物路径契约、原始数据只读原则、本工作区初始化日期。已存在 WORKSPACE.md 时跳过不覆盖。",{"type":47,"tag":72,"props":524,"children":525},{},[526,528,534,536,542],{"type":53,"value":527},"检查 CLAUDE.md 画像状态：有 ",{"type":47,"tag":109,"props":529,"children":531},{"className":530},[],[532],{"type":53,"value":533},"[填空]",{"type":53,"value":535}," 时提醒用户先完成 ",{"type":47,"tag":109,"props":537,"children":539},{"className":538},[],[540],{"type":53,"value":541},"cold-start-interview",{"type":53,"value":331},{"type":47,"tag":72,"props":544,"children":545},{},[546,548,554],{"type":53,"value":547},"如果用户提供了研究主题，顺手计算 slug 并创建 ",{"type":47,"tag":109,"props":549,"children":551},{"className":550},[],[552],{"type":53,"value":553},"output\u002Fresearch-lifecycle\u002F\u003Cslug>\u002F",{"type":53,"value":555}," 目录骨架，提示可以直接进入 research-lifecycle。",{"type":47,"tag":72,"props":557,"children":558},{},[559],{"type":53,"value":560},"用 provenance-record 登记本次初始化（paths 为创建的目录清单，note 为 \"workspace init\"）。",{"type":47,"tag":62,"props":562,"children":563},{},[564,566,571],{"type":53,"value":565},"初始化是幂等的：重复运行 ",{"type":47,"tag":109,"props":567,"children":569},{"className":568},[],[570],{"type":53,"value":114},{"type":53,"value":572}," 不产生任何破坏，只补齐缺失部分。",{"type":47,"tag":56,"props":574,"children":576},{"id":575},"_2-check结构体检清单",[577],{"type":53,"value":578},"2 · check：结构体检清单",{"type":47,"tag":62,"props":580,"children":581},{},[582],{"type":53,"value":583},"只读检查，输出体检报告：",{"type":47,"tag":68,"props":585,"children":586},{},[587,592,610,620,631],{"type":47,"tag":72,"props":588,"children":589},{},[590],{"type":53,"value":591},"九个标准目录哪些缺失、哪些非空；",{"type":47,"tag":72,"props":593,"children":594},{},[595,600,602,608],{"type":47,"tag":109,"props":596,"children":598},{"className":597},[],[599],{"type":53,"value":195},{"type":53,"value":601}," 下所有 ",{"type":47,"tag":109,"props":603,"children":605},{"className":604},[],[606],{"type":53,"value":607},"\u003Cskill>\u002F\u003Cslug>\u002F",{"type":53,"value":609}," 组合，各自的运行次数与 latest 是否同步（latest 内容与最新时间戳目录是否一致）；",{"type":47,"tag":72,"props":611,"children":612},{},[613,618],{"type":47,"tag":109,"props":614,"children":616},{"className":615},[],[617],{"type":53,"value":167},{"type":53,"value":619}," 的健康度：是否有文件在过去 7 天内被修改（违反只读原则的信号，用文件 mtime 判断）；",{"type":47,"tag":72,"props":621,"children":622},{},[623,629],{"type":47,"tag":109,"props":624,"children":626},{"className":625},[],[627],{"type":53,"value":628},".openscience\u002Fprovenance.jsonl",{"type":53,"value":630}," 是否存在、最后一条记录的时间；",{"type":47,"tag":72,"props":632,"children":633},{},[634],{"type":53,"value":635},"发现的问题按\"建议修复 \u002F 需要用户决定\"分类列出，不自动动手。",{"type":47,"tag":56,"props":637,"children":639},{"id":638},"_3-多项目共存",[640],{"type":53,"value":641},"3 · 多项目共存",{"type":47,"tag":62,"props":643,"children":644},{},[645],{"type":53,"value":646},"一个工作区可以同时进行多个研究项目（多个 slug）。规则：",{"type":47,"tag":68,"props":648,"children":649},{},[650,663,682,692],{"type":47,"tag":72,"props":651,"children":652},{},[653,655,661],{"type":53,"value":654},"每个项目的产物严格隔离在各自的 ",{"type":47,"tag":109,"props":656,"children":658},{"className":657},[],[659],{"type":53,"value":660},"\u003Cslug>\u002F",{"type":53,"value":662}," 目录下，互不引用对方的时间戳目录；",{"type":47,"tag":72,"props":664,"children":665},{},[666,672,674,680],{"type":47,"tag":109,"props":667,"children":669},{"className":668},[],[670],{"type":53,"value":671},"stage.yaml",{"type":53,"value":673}," 每个项目一份，放在 ",{"type":47,"tag":109,"props":675,"children":677},{"className":676},[],[678],{"type":53,"value":679},"output\u002F\u003Cslug>\u002Fstage.yaml",{"type":53,"value":681},"（见 stage-gate），因此恢复进度时以项目为单位；",{"type":47,"tag":72,"props":683,"children":684},{},[685,690],{"type":47,"tag":109,"props":686,"children":688},{"className":687},[],[689],{"type":53,"value":167},{"type":53,"value":691}," 是项目间共享的：同一批原始数据可以服务多个研究问题，子目录按来源组织即可，不必按项目复制；",{"type":47,"tag":72,"props":693,"children":694},{},[695,700],{"type":47,"tag":109,"props":696,"children":698},{"className":697},[],[699],{"type":53,"value":628},{"type":53,"value":701}," 是全局唯一一份，各项目的记录通过 paths 中的 slug 路径区分。",{"type":47,"tag":56,"props":703,"children":705},{"id":704},"输出模板",[706],{"type":53,"value":704},{"type":47,"tag":62,"props":708,"children":709},{},[710,715],{"type":47,"tag":109,"props":711,"children":713},{"className":712},[],[714],{"type":53,"value":114},{"type":53,"value":716}," 完成后：",{"type":47,"tag":139,"props":718,"children":722},{"className":719,"code":720,"language":721,"meta":144,"style":144},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","## 工作区初始化完成\n\n- 根目录：\u003Cpath>\n- 新建目录：…（列出，已存在的标 [已存在]）\n- 元数据：.openscience\u002Fprovenance.jsonl 已就绪\n- 画像状态：完整 \u002F 有 N 节 [填空]（建议先运行 cold-start-interview）\n\n下一步：对 research-lifecycle 说出你的研究主题，或先运行 cold-start-interview。\n","markdown",[723],{"type":47,"tag":109,"props":724,"children":725},{"__ignoreMap":144},[726,744,753,768,802,814,845,853],{"type":47,"tag":727,"props":728,"children":731},"span",{"class":729,"line":730},"line",1,[732,738],{"type":47,"tag":727,"props":733,"children":735},{"style":734},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[736],{"type":53,"value":737},"## ",{"type":47,"tag":727,"props":739,"children":741},{"style":740},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[742],{"type":53,"value":743},"工作区初始化完成\n",{"type":47,"tag":727,"props":745,"children":746},{"class":729,"line":27},[747],{"type":47,"tag":727,"props":748,"children":750},{"emptyLinePlaceholder":749},true,[751],{"type":53,"value":752},"\n",{"type":47,"tag":727,"props":754,"children":756},{"class":729,"line":755},3,[757,762],{"type":47,"tag":727,"props":758,"children":759},{"style":734},[760],{"type":53,"value":761},"-",{"type":47,"tag":727,"props":763,"children":765},{"style":764},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[766],{"type":53,"value":767}," 根目录：\u003Cpath>\n",{"type":47,"tag":727,"props":769,"children":771},{"class":729,"line":770},4,[772,776,781,786,792,797],{"type":47,"tag":727,"props":773,"children":774},{"style":734},[775],{"type":53,"value":761},{"type":47,"tag":727,"props":777,"children":778},{"style":764},[779],{"type":53,"value":780}," 新建目录：…（列出，已存在的标 ",{"type":47,"tag":727,"props":782,"children":783},{"style":734},[784],{"type":53,"value":785},"[",{"type":47,"tag":727,"props":787,"children":789},{"style":788},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[790],{"type":53,"value":791},"已存在",{"type":47,"tag":727,"props":793,"children":794},{"style":734},[795],{"type":53,"value":796},"]",{"type":47,"tag":727,"props":798,"children":799},{"style":764},[800],{"type":53,"value":801},"）\n",{"type":47,"tag":727,"props":803,"children":804},{"class":729,"line":23},[805,809],{"type":47,"tag":727,"props":806,"children":807},{"style":734},[808],{"type":53,"value":761},{"type":47,"tag":727,"props":810,"children":811},{"style":764},[812],{"type":53,"value":813}," 元数据：.openscience\u002Fprovenance.jsonl 已就绪\n",{"type":47,"tag":727,"props":815,"children":817},{"class":729,"line":816},6,[818,822,827,831,836,840],{"type":47,"tag":727,"props":819,"children":820},{"style":734},[821],{"type":53,"value":761},{"type":47,"tag":727,"props":823,"children":824},{"style":764},[825],{"type":53,"value":826}," 画像状态：完整 \u002F 有 N 节 ",{"type":47,"tag":727,"props":828,"children":829},{"style":734},[830],{"type":53,"value":785},{"type":47,"tag":727,"props":832,"children":833},{"style":788},[834],{"type":53,"value":835},"填空",{"type":47,"tag":727,"props":837,"children":838},{"style":734},[839],{"type":53,"value":796},{"type":47,"tag":727,"props":841,"children":842},{"style":764},[843],{"type":53,"value":844},"（建议先运行 cold-start-interview）\n",{"type":47,"tag":727,"props":846,"children":848},{"class":729,"line":847},7,[849],{"type":47,"tag":727,"props":850,"children":851},{"emptyLinePlaceholder":749},[852],{"type":53,"value":752},{"type":47,"tag":727,"props":854,"children":856},{"class":729,"line":855},8,[857],{"type":47,"tag":727,"props":858,"children":859},{"style":764},[860],{"type":53,"value":861},"下一步：对 research-lifecycle 说出你的研究主题，或先运行 cold-start-interview。\n",{"type":47,"tag":62,"props":863,"children":864},{},[865,870],{"type":47,"tag":109,"props":866,"children":868},{"className":867},[],[869],{"type":53,"value":125},{"type":53,"value":716},{"type":47,"tag":139,"props":872,"children":874},{"className":719,"code":873,"language":721,"meta":144,"style":144},"## 工作区体检报告（\u003Cdate>）\n\n- 目录结构：9\u002F9 就绪（缺失：…）\n- 产物目录：N 个项目，M 次运行；latest 同步正常 \u002F 异常（列出）\n- 原始数据：只读原则正常 \u002F 发现 N 个近期修改的文件（列出，[待复核]）\n- provenance：最后记录 \u003C时间>\n- 建议：…\n",[875],{"type":47,"tag":109,"props":876,"children":877},{"__ignoreMap":144},[878,890,897,909,921,950,962],{"type":47,"tag":727,"props":879,"children":880},{"class":729,"line":730},[881,885],{"type":47,"tag":727,"props":882,"children":883},{"style":734},[884],{"type":53,"value":737},{"type":47,"tag":727,"props":886,"children":887},{"style":740},[888],{"type":53,"value":889},"工作区体检报告（\u003Cdate>）\n",{"type":47,"tag":727,"props":891,"children":892},{"class":729,"line":27},[893],{"type":47,"tag":727,"props":894,"children":895},{"emptyLinePlaceholder":749},[896],{"type":53,"value":752},{"type":47,"tag":727,"props":898,"children":899},{"class":729,"line":755},[900,904],{"type":47,"tag":727,"props":901,"children":902},{"style":734},[903],{"type":53,"value":761},{"type":47,"tag":727,"props":905,"children":906},{"style":764},[907],{"type":53,"value":908}," 目录结构：9\u002F9 就绪（缺失：…）\n",{"type":47,"tag":727,"props":910,"children":911},{"class":729,"line":770},[912,916],{"type":47,"tag":727,"props":913,"children":914},{"style":734},[915],{"type":53,"value":761},{"type":47,"tag":727,"props":917,"children":918},{"style":764},[919],{"type":53,"value":920}," 产物目录：N 个项目，M 次运行；latest 同步正常 \u002F 异常（列出）\n",{"type":47,"tag":727,"props":922,"children":923},{"class":729,"line":23},[924,928,933,937,942,946],{"type":47,"tag":727,"props":925,"children":926},{"style":734},[927],{"type":53,"value":761},{"type":47,"tag":727,"props":929,"children":930},{"style":764},[931],{"type":53,"value":932}," 原始数据：只读原则正常 \u002F 发现 N 个近期修改的文件（列出，",{"type":47,"tag":727,"props":934,"children":935},{"style":734},[936],{"type":53,"value":785},{"type":47,"tag":727,"props":938,"children":939},{"style":788},[940],{"type":53,"value":941},"待复核",{"type":47,"tag":727,"props":943,"children":944},{"style":734},[945],{"type":53,"value":796},{"type":47,"tag":727,"props":947,"children":948},{"style":764},[949],{"type":53,"value":801},{"type":47,"tag":727,"props":951,"children":952},{"class":729,"line":816},[953,957],{"type":47,"tag":727,"props":954,"children":955},{"style":734},[956],{"type":53,"value":761},{"type":47,"tag":727,"props":958,"children":959},{"style":764},[960],{"type":53,"value":961}," provenance：最后记录 \u003C时间>\n",{"type":47,"tag":727,"props":963,"children":964},{"class":729,"line":847},[965,969],{"type":47,"tag":727,"props":966,"children":967},{"style":734},[968],{"type":53,"value":761},{"type":47,"tag":727,"props":970,"children":971},{"style":764},[972],{"type":53,"value":973}," 建议：…\n",{"type":47,"tag":56,"props":975,"children":977},{"id":976},"本技能不做什么",[978],{"type":53,"value":976},{"type":47,"tag":156,"props":980,"children":981},{},[982,994,999,1011,1016],{"type":47,"tag":72,"props":983,"children":984},{},[985,987,992],{"type":53,"value":986},"不整理 ",{"type":47,"tag":109,"props":988,"children":990},{"className":989},[],[991],{"type":53,"value":195},{"type":53,"value":993}," 以外的用户文件：桌面、下载文件夹里的历史文件是否迁入工作区由用户决定，本技能最多给出迁移建议清单。",{"type":47,"tag":72,"props":995,"children":996},{},[997],{"type":53,"value":998},"不自动删除任何文件：包括\"明显过期\"的时间戳目录和\"明显冗余\"的副本（guardrail 第 8 条）。",{"type":47,"tag":72,"props":1000,"children":1001},{},[1002,1004,1009],{"type":53,"value":1003},"不强制子目录结构：",{"type":47,"tag":109,"props":1005,"children":1007},{"className":1006},[],[1008],{"type":53,"value":167},{"type":53,"value":1010}," 内部怎么组织是用户自由，本技能只管根目录九件套。",{"type":47,"tag":72,"props":1012,"children":1013},{},[1014],{"type":53,"value":1015},"不做备份：工作区约定降低混乱风险，但不替代备份策略；提醒用户重要工作区应有独立备份（本技能不实现）。",{"type":47,"tag":72,"props":1017,"children":1018},{},[1019],{"type":53,"value":1020},"不管理 Git：工作区是否纳入版本控制、哪些目录进 .gitignore（通常 data\u002F 与 output\u002F 的历史目录不进）由用户决定，本技能被问到时可以给建议但不代执行。",{"type":47,"tag":56,"props":1022,"children":1024},{"id":1023},"收尾与下一步",[1025],{"type":53,"value":1023},{"type":47,"tag":156,"props":1027,"children":1028},{},[1029,1053,1063],{"type":47,"tag":72,"props":1030,"children":1031},{},[1032,1037,1039,1044,1046,1052],{"type":47,"tag":109,"props":1033,"children":1035},{"className":1034},[],[1036],{"type":53,"value":114},{"type":53,"value":1038}," 后：引导用户运行 ",{"type":47,"tag":109,"props":1040,"children":1042},{"className":1041},[],[1043],{"type":53,"value":541},{"type":53,"value":1045},"（画像未完成时）或直接进入 ",{"type":47,"tag":109,"props":1047,"children":1049},{"className":1048},[],[1050],{"type":53,"value":1051},"research-lifecycle",{"type":53,"value":331},{"type":47,"tag":72,"props":1054,"children":1055},{},[1056,1061],{"type":47,"tag":109,"props":1057,"children":1059},{"className":1058},[],[1060],{"type":53,"value":125},{"type":53,"value":1062}," 发现问题时：逐项给出修复建议并等待用户选择；修复动作（建目录、同步 latest）经用户同意后执行，删除类动作一律只建议不执行。",{"type":47,"tag":72,"props":1064,"children":1065},{},[1066,1068,1074],{"type":53,"value":1067},"向用户说明契约的日常收益：\"以后任何 skill 的产物都去 ",{"type":47,"tag":109,"props":1069,"children":1071},{"className":1070},[],[1072],{"type":53,"value":1073},"output\u002F\u003Cskill>\u002F\u003Cslug>\u002Flatest\u002F",{"type":53,"value":1075}," 找，历史版本在同名时间戳目录里，永远不用担心被覆盖。\"",{"type":47,"tag":1077,"props":1078,"children":1079},"style",{},[1080],{"type":53,"value":1081},"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":1083,"total":1284},[1084,1108,1124,1143,1158,1178,1196,1214,1229,1245,1264,1274],{"slug":1085,"name":1085,"fn":1086,"description":1087,"org":1088,"tags":1089,"stars":1105,"repoUrl":1106,"updatedAt":1107},"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},[1090,1093,1096,1099,1102],{"name":1091,"slug":1092,"type":16},"Accessibility","accessibility",{"name":1094,"slug":1095,"type":16},"Android","android",{"name":1097,"slug":1098,"type":16},"Kotlin","kotlin",{"name":1100,"slug":1101,"type":16},"Mobile","mobile",{"name":1103,"slug":1104,"type":16},"UI Components","ui-components",13030,"https:\u002F\u002Fgithub.com\u002FMiniMax-AI\u002Fskills","2026-07-13T06:16:54.247834",{"slug":1109,"name":1109,"fn":1110,"description":1111,"org":1112,"tags":1113,"stars":1105,"repoUrl":1106,"updatedAt":1123},"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},[1114,1117,1120],{"name":1115,"slug":1116,"type":16},"Agents","agents",{"name":1118,"slug":1119,"type":16},"Audio","audio",{"name":1121,"slug":1122,"type":16},"Creative","creative","2026-07-13T06:16:35.130644",{"slug":1125,"name":1125,"fn":1126,"description":1127,"org":1128,"tags":1129,"stars":1105,"repoUrl":1106,"updatedAt":1142},"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},[1130,1133,1136,1139],{"name":1131,"slug":1132,"type":16},"Design","design",{"name":1134,"slug":1135,"type":16},"Presentations","presentations",{"name":1137,"slug":1138,"type":16},"Themes","themes",{"name":1140,"slug":1141,"type":16},"Typography","typography","2026-07-13T06:17:02.785587",{"slug":1144,"name":1144,"fn":1145,"description":1146,"org":1147,"tags":1148,"stars":1105,"repoUrl":1106,"updatedAt":1157},"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},[1149,1150,1153,1156],{"name":1131,"slug":1132,"type":16},{"name":1151,"slug":1152,"type":16},"Design System","design-system",{"name":1154,"slug":1155,"type":16},"PowerPoint","powerpoint",{"name":1134,"slug":1135,"type":16},"2026-07-13T06:17:10.398389",{"slug":1159,"name":1159,"fn":1160,"description":1161,"org":1162,"tags":1163,"stars":1105,"repoUrl":1106,"updatedAt":1177},"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},[1164,1167,1170,1171,1174],{"name":1165,"slug":1166,"type":16},"Dart","dart",{"name":1168,"slug":1169,"type":16},"Flutter","flutter",{"name":1100,"slug":1101,"type":16},{"name":1172,"slug":1173,"type":16},"Performance","performance",{"name":1175,"slug":1176,"type":16},"State Management","state-management","2026-07-13T06:16:36.626679",{"slug":1179,"name":1179,"fn":1180,"description":1181,"org":1182,"tags":1183,"stars":1105,"repoUrl":1106,"updatedAt":1195},"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},[1184,1187,1188,1189,1192],{"name":1185,"slug":1186,"type":16},"Animation","animation",{"name":1121,"slug":1122,"type":16},{"name":1131,"slug":1132,"type":16},{"name":1190,"slug":1191,"type":16},"Frontend","frontend",{"name":1193,"slug":1194,"type":16},"Web Development","web-development","2026-07-13T06:16:39.108827",{"slug":1197,"name":1197,"fn":1198,"description":1199,"org":1200,"tags":1201,"stars":1105,"repoUrl":1106,"updatedAt":1213},"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},[1202,1205,1206,1209,1212],{"name":1203,"slug":1204,"type":16},"Backend","backend",{"name":1190,"slug":1191,"type":16},{"name":1207,"slug":1208,"type":16},"Full-stack","full-stack",{"name":1210,"slug":1211,"type":16},"REST API","rest-api",{"name":1193,"slug":1194,"type":16},"2026-07-13T06:16:43.219005",{"slug":1215,"name":1215,"fn":1216,"description":1217,"org":1218,"tags":1219,"stars":1105,"repoUrl":1106,"updatedAt":1228},"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},[1220,1221,1222,1225],{"name":1185,"slug":1186,"type":16},{"name":1121,"slug":1122,"type":16},{"name":1223,"slug":1224,"type":16},"Images","images",{"name":1226,"slug":1227,"type":16},"Media","media","2026-07-13T06:16:51.74461",{"slug":1230,"name":1230,"fn":1231,"description":1232,"org":1233,"tags":1234,"stars":1105,"repoUrl":1106,"updatedAt":1244},"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},[1235,1236,1239,1240,1243],{"name":1091,"slug":1092,"type":16},{"name":1237,"slug":1238,"type":16},"iOS","ios",{"name":1100,"slug":1101,"type":16},{"name":1241,"slug":1242,"type":16},"SwiftUI","swiftui",{"name":1103,"slug":1104,"type":16},"2026-07-13T06:16:55.686092",{"slug":1246,"name":1246,"fn":1247,"description":1248,"org":1249,"tags":1250,"stars":1105,"repoUrl":1106,"updatedAt":1263},"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},[1251,1254,1257,1260],{"name":1252,"slug":1253,"type":16},"Documents","documents",{"name":1255,"slug":1256,"type":16},"DOCX","docx",{"name":1258,"slug":1259,"type":16},"Office","office",{"name":1261,"slug":1262,"type":16},"Templates","templates","2026-07-13T06:16:40.461868",{"slug":1265,"name":1265,"fn":1266,"description":1267,"org":1268,"tags":1269,"stars":1105,"repoUrl":1106,"updatedAt":1273},"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},[1270,1271,1272],{"name":1118,"slug":1119,"type":16},{"name":1121,"slug":1122,"type":16},{"name":1226,"slug":1227,"type":16},"2026-07-13T06:16:50.381758",{"slug":1275,"name":1275,"fn":1276,"description":1277,"org":1278,"tags":1279,"stars":1105,"repoUrl":1106,"updatedAt":1283},"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},[1280,1281,1282],{"name":1118,"slug":1119,"type":16},{"name":1121,"slug":1122,"type":16},{"name":1226,"slug":1227,"type":16},"2026-07-13T06:16:57.002997",84,{"items":1286,"total":1382},[1287,1303,1318,1330,1342,1356,1370],{"slug":1288,"name":1288,"fn":1289,"description":1290,"org":1291,"tags":1292,"stars":23,"repoUrl":24,"updatedAt":1302},"article2tasks","convert articles into Dida365 tasks","将技术周报（批量）或单篇文章整理为滴答清单待办事项，自动分类到已有清单并打标签，全程通过 MCP 写入，跨平台无需任何本地脚本。当用户提供周报内容、文章链接，或提及「周报」「文章汇总」「添加到滴答」时，使用此技能。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1293,1296,1299],{"name":1294,"slug":1295,"type":16},"Content Creation","content-creation",{"name":1297,"slug":1298,"type":16},"MCP","mcp",{"name":1300,"slug":1301,"type":16},"Task Management","task-management","2026-08-18T03:49:38.751656",{"slug":1304,"name":1304,"fn":1305,"description":1306,"org":1307,"tags":1308,"stars":23,"repoUrl":24,"updatedAt":1317},"citation-verify","verify academic citation accuracy","当用户需要核验参考文献真实性、检查 BibTeX 条目是否有误、审查论文引用是否可靠、 排查 bibliography 中的错误条目、验证 DOI 与题录是否对得上、发现参考文献张冠李戴、 做投稿前引用体检或审稿引用抽查时使用。同义场景：参考文献核验、引用核查、 文献真伪鉴别、bib 文件检查、参考文献纠错、引用元数据比对、 \"帮我看看这些参考文献有没有问题\"\"这个 DOI 对得上吗\"\"有没有编造的引用\"。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1309,1312,1313,1316],{"name":1310,"slug":1311,"type":16},"Code Analysis","code-analysis",{"name":21,"slug":22,"type":16},{"name":1314,"slug":1315,"type":16},"QA","qa",{"name":14,"slug":15,"type":16},"2026-08-21T03:59:17.615117",{"slug":1319,"name":1319,"fn":1320,"description":1321,"org":1322,"tags":1323,"stars":23,"repoUrl":24,"updatedAt":1329},"claim-check","verify research claims against evidence","当需要检查论文草稿中的事实性论断是否有证据支撑、做引用-论断对齐审计、 找出没有出处的陈述、核对文内引用是否真能支撑所在句子时加载使用； 通常由 evidence-loop 或审稿类流程调用，不直接面向用户。同义场景： 论断支撑检查、claim 支撑审计、无支撑断言排查、证据覆盖检查、 引用与论断对齐、\"这段话有没有文献撑\"\"哪些说法没有引用\"。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1324,1327,1328],{"name":1325,"slug":1326,"type":16},"Audit","audit",{"name":1310,"slug":1311,"type":16},{"name":14,"slug":15,"type":16},"2026-08-21T03:59:02.154691",{"slug":1331,"name":1331,"fn":1332,"description":1333,"org":1334,"tags":1335,"stars":23,"repoUrl":24,"updatedAt":1341},"cn-literature","search and organize Chinese academic literature","当用户需要检索或整理中文文献（CNKI 知网、万方、维普、超星）、把中文数据库 导出的题录文件解析成统一 PaperDocument、或把中文文献与英文检索结果合并去重 时使用。同义场景：中文文献检索、知网导出题录解析、万方检索、Refworks\u002FEndNote 格式转换、\"帮我把这份 CNKI 导出的 txt 整理成文献表\"\"中文核心期刊上关于 X 有哪些研究\"。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1336,1339,1340],{"name":1337,"slug":1338,"type":16},"Data Cleaning","data-cleaning",{"name":1252,"slug":1253,"type":16},{"name":14,"slug":15,"type":16},"2026-08-21T03:59:12.24404",{"slug":541,"name":541,"fn":1343,"description":1344,"org":1345,"tags":1346,"stars":23,"repoUrl":24,"updatedAt":1355},"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},[1347,1348,1351,1354],{"name":21,"slug":22,"type":16},{"name":1349,"slug":1350,"type":16},"Onboarding","onboarding",{"name":1352,"slug":1353,"type":16},"Productivity","productivity",{"name":14,"slug":15,"type":16},"2026-08-21T03:59:58.579998",{"slug":1357,"name":1357,"fn":1358,"description":1359,"org":1360,"tags":1361,"stars":23,"repoUrl":24,"updatedAt":1369},"customize","customize research guardrails and settings","当用户想修改研究画像或共享守则（guardrails）时使用：换了研究领域、换了目标期刊、换了引用格式、换了算力环境、合规要求变化、想调整某条 guardrail 的严格程度。同义触发场景：改一下画像、更新我的研究信息、修改 CLAUDE.md、调整设置、换引用格式、customize、个性化配置、改规则、重新配置工作台。本技能是画像与守则的唯一维护入口：读取 CLAUDE.md、与用户逐项确认修改点、写回文件、并明确告知哪些 skill 的行为会因此变化。",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1362,1365,1368],{"name":1363,"slug":1364,"type":16},"Best Practices","best-practices",{"name":1366,"slug":1367,"type":16},"Configuration","configuration",{"name":14,"slug":15,"type":16},"2026-08-21T03:59:35.867596",{"slug":1371,"name":1371,"fn":1372,"description":1373,"org":1374,"tags":1375,"stars":23,"repoUrl":24,"updatedAt":1381},"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},[1376,1377,1380],{"name":1297,"slug":1298,"type":16},{"name":1378,"slug":1379,"type":16},"Scheduling","scheduling",{"name":1300,"slug":1301,"type":16},"2026-08-18T03:49:37.126385",36]