简体中文 · English
面向计算机系统论文的配图 skill:从论文主张出发,设计紧凑的架构、机制、调度、资源和协议图,并在实际论文栏宽下检查语义、字体与版面。
默认交付 可编辑矢量源 + 矢量 PDF,直接用 PDF 预览。PNG 只在用户需要、查看工具受限或内部画面检查时生成,不作为默认交付。
本仓库合并了 draw-systems-paper-figures 的可编辑矢量工作流和 systems-paper-figurecraft 的整篇配图规划、语义契约与结构修订经验。统一使用 systems-paper-figurecraft 名称。
原生矢量是默认生产方式。需要生图或图片编辑时,默认使用 gpt-image2.5,除非用户明确指定其他模型。生图可用于探索构图;图片草稿确认后,将其语义实现为独立的文字、形状和连接线。SVG/PDF 内嵌一整张 PNG 不算可编辑矢量图。
- 论点与语义:对象、边、所有权、数量和反馈均对应论文依据;架构图与算法图各自承担清晰的解释任务。
- 可编辑源文件:沿用用户指定的编辑器或已有格式;新图可使用含可编辑文本的 SVG,或原生 draw.io、TikZ 等源文件。
- 紧凑布局:先修复内部空白、层级和端口,再裁外边距;在相同栏宽和可读字号下比较高度,不靠缩小文字压缩篇幅。
- 论文图形语法:使用记录、队列、资源、状态、开放拓扑和时间线等表达机制;分图和部署边框按语义需要设置。
- 整篇一致性:共享字体、描边、箭头含义、颜色和图例;灰度下仍能辨认关键区别。
- 范围明确:支持只审阅、出预览、重画、整篇配图规划及论文集成。预览可在论文副本中编译;集成时检查实际页面。
测量数据图继续使用数据驱动的绘图流程,不用生图模型重造实验结果。
可以直接请求 Agent:
请安装 systems-paper-figurecraft skill,仓库为 https://github.com/Jinghao-coding/systems-paper-figurecraft
或使用 skills CLI:
npx -y skills@latest add Jinghao-coding/systems-paper-figurecraft \
--skill systems-paper-figurecraft --agent codex --global首次手动安装:
git clone https://github.com/Jinghao-coding/systems-paper-figurecraft.git
mkdir -p ~/.codex/skills
cp -R systems-paper-figurecraft/skills/systems-paper-figurecraft ~/.codex/skills/更新时重新执行安装命令,或在仓库中执行 git pull --ff-only 后更新安装副本。持续开发时,可将安装目录软链接到仓库中的 skills/systems-paper-figurecraft,使本地修改与仓库使用同一份文件。
已有本地修改应先备份或合并。若同时安装了 draw-systems-paper-figures,在确认统一版本可用后,将旧目录移到 skill 扫描目录之外,避免重复触发。刷新或重启 Codex 后使用统一名称。
请使用 $systems-paper-figurecraft 为这篇论文规划一套互不重复的配图方案。
请使用 $systems-paper-figurecraft 重画 Figure 2,保持语义,压缩内部留白。
交付可编辑 SVG 和矢量 PDF,直接预览 PDF,先不替换正文。
请使用 $systems-paper-figurecraft 将确认的图接入 LaTeX,并检查实际单栏字号和页面。
默认流程:论文证据 → 图形契约 → 图形语法和栏宽预算 → 原生矢量源 → 验证 → 按请求集成。
验收包含语义、可编辑性与矢量内容、视觉与紧凑度、跨图一致性,以及适用的编译页面检查。没有实际执行的检查要说明缺口;文件后缀或生图成功本身不是验收证据。
SVG 结构检查仅需 Python 标准库。PDF 检查另需 PyMuPDF:
python3 skills/systems-paper-figurecraft/scripts/audit_vector_figure.py \
--svg figure.svg --pdf figure.pdf \
--column-width-pt 240 --min-font-pt 8 \
--require-label Scheduler --output audit.json该脚本检查可编辑文本、原生形状、重复 ID、栅格内容、必要标签及最终栏宽下的 PDF 字号。它不能证明箭头语义、连接关系、视觉质量或编辑器往返兼容性,这些仍需检查源文件和实际画面。
可选的 scripts/crop_white_margin.py 依赖 Pillow,用于已有栅格草稿的统一外边距裁剪;它不会把图片转换成原生矢量,也不能修复内部松散布局。
skills/systems-paper-figurecraft/
├── SKILL.md
├── agents/openai.yaml
├── references/
│ ├── contracts.md
│ ├── figure-grammars.md
│ ├── visual-system.md
│ ├── compact-layout.md
│ ├── editable-production.md
│ ├── generation-prompts.md
│ ├── iteration-playbook.md
│ └── validation.md
└── scripts/
├── audit_vector_figure.py
└── crop_white_margin.py
README、CI 和测试保留在仓库层,安装目录仅包含 skill 运行所需资源。
python3 -m pip install -r requirements-dev.txt
python3 -m unittest discover -s tests -vCI 检查包结构、引用和元数据,并验证矢量审计和栅格裁边脚本的正反例。
MIT。README 的组织参考了 ningzimu/codex-ppt-skill。