三个渐进披露 figure Skill 里最外层的一个:审阅论文稿和整套 figure 讲出来的故事,并重新安排它。输入就是工作本身,一位“责任编辑”角色的评审会给出 hook 是否立得住、从 hook 到应用的叙事弧、哪些 panel 放错了 figure、还缺哪些 panel、哪些材料该砍掉。它给的是编辑意见,既不是科学证据,也不是接收概率的预测。
一个 Skill 就是一个文件目录,所谓安装,就是把这个目录复制到 Agent 会去读的地方。有 Node 18+、且 PATH 上有 git(npm 靠它解析 github: 形式的包名)即可,无需先克隆仓库:
npx github:PKU-YuanGroup/OpenAI4S install paper-narrative --target claude
--target claude 写入 ~/.claude/skills,claude-project 写入 ./.claude/skills,openai4s 写入 <data_dir>/user-skills,--dir <path> 则写到你指定的任意位置。往目标写任何东西之前,都会先打印解析出的绝对路径;--dry-run 到此为止,不再写入。重装时,若目标副本被你改过、或者不是它自己装的,就拒绝覆盖;uninstall 也只删除它自己写过的文件。对于 npm 发布版中包含的配方,可用 npx @pku-yuangroup/openai4s-skills install paper-narrative --target claude 安装发布版本。npm 目录可能与当前仓库不同。
没有 Node 时,直接取这个目录——需要 .zip 上传时再打包。tarball 是整个仓库(超过 100 MB),下面这条管道是 POSIX shell(macOS、Linux、WSL)写法,只解出这一个目录:
curl -L https://codeload.github.com/PKU-YuanGroup/OpenAI4S/tar.gz/refs/heads/main \
| tar -xz --strip-components=2 OpenAI4S-main/skills/paper-narrative
python3 -m zipfile -c paper-narrative.zip paper-narrative
同一份内容的图形界面版本是点击下载整个仓库 zip 包,Windows 上也走这条路:解压后把 skills/paper-narrative/ 拷出来即可(unzip main.zip 'OpenAI4S-main/skills/paper-narrative/*' 只解这一个目录)。如果你本来就在跑 OpenAI4S,那这里没有任何东西需要安装——wheel 自带全部内置 Skill,且内置 Skill 优先于 <data_dir>/user-skills 里的同名副本。目标目录、来源记录,以及安装器拒绝去做的那些事:tools/skills-installer/。
| 文件 | 职责 |
|---|---|
SKILL.md |
说明什么时候加载(写稿或改稿阶段,早于 figure-composer),以及整个流程:从 abstract 和图注推导出 brief,以责任编辑的身份评审整套图,按叙事弧、figure 之间的搬迁、缺失 panel 和删除清单动手,把每张留下的 figure 的 claim 交给 figure-composer,最后对新一版重新评审。 |
kernel.py |
可选 sidecar:pn_sdk 取得的 host 句柄不会因为内核里这个名字被重新绑定而失效;paper_brief_schema 与 narrative_review_schema 是两份结构化输出的 schema;derive_paper_brief 用一次强制走工具的 host.llm 调用,从 abstract 加图注里提取 pitch、vision 和逐图 claim;narrative_review_task 构造针对整套图的责任编辑 prompt。 |
模型给出的缺失 panel 建议,只是指出一项值得做的分析。它不等于这项分析已经做过。