一键导入
figure-editing
Iterative polish of multi-panel publication figures. Patterns for long-lived layout-revision sessions where a human critiques each render.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Iterative polish of multi-panel publication figures. Patterns for long-lived layout-revision sessions where a human critiques each render.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Style guidelines for writing manuscript text.
Job dispatch infrastructure. Use when packaging a python script for batch / parallel execution, locally or on SLURM.
Guide for controlling Adobe Illustrator via MCP tools and osascript.
Extract scientific journal article PDFs to lossless Markdown using MinerU. Assumes a pre-existing conda env named "mineru".
Agent roles, models, and the dispatch pattern for delegating to subagents.
Executive role for an agent that dispatches subagents.
基于 SOC 职业分类
| name | figure-editing |
| description | Iterative polish of multi-panel publication figures. Patterns for long-lived layout-revision sessions where a human critiques each render. |
| user-invocable | true |
This skill is intended for the middle/end game of figure production: many rounds of layout nudges against a human critic — move this up, shrink that, align these, swap a label. The bottleneck is iteration speed and prompt precision.
Generating from scratch? Load figure-formatting first for style rules. This skill is about the loop.
A 4-min render kills the session; 10 s lets you do 20 rounds quickly.
.npz (numerical), zarr/h5 (mixed), richfile (complex Python structures). Avoid pickle. Populate functions consume packet slices, not raw sources. Provide --rebuild-packet when sources change.--draft → PNG at 150 dpi, skip SVG/PDF/font post-processing. Final (600 dpi PNG + SVG + PDF with embedded fonts) runs only when settled. Warn when draft is on — stale PDF/SVG cause "this doesn't look right" confusion.When the artifact has separable parts (top/bottom, A–D vs. E–G, panel groups), give each its own standalone renderer + output file. Iterate each in isolation; merge at the end by porting settled values into a composite, or have the composite import and call each unit renderer.
plot_unit_top.py → figs/top.png
plot_unit_bottom.py → figs/bottom.png
plot_composite.py → figs/main.pdf # imports and calls both
Two agents can polish non-overlapping units in parallel. Note the sync step explicitly in handoff. When porting between different-size figures: y-offsets in fig-fractions rescale by height ratio; x-offsets transfer 1:1 only if widths match.
A human-in-the-loop session wants short cycles, not perfect individual dispatches. The human sees the render and says what's wrong — don't simulate that loop inside an agent.
Never "move it up a bit." Convert to fig-fractions yourself:
At 7.95" fig height ≈ 572 pt, 1 line of 8 pt text ≈ 0.014 fig-frac.
y_offset_F:0.055 → 0.084(move F up ~1 line).
Agents are excellent at mechanical edits and terrible at guessing proportions. Subagents start cold — anchor paths, current values, targets, and arithmetic in every prompt. Thin prompt → thin edit.
Every dispatch lists what NOT to touch. Be concrete and named:
Non-goals: do NOT touch
plot_composite(); do NOT rebuild the packet; do NOT run--final; do NOT change data or computed metrics; no critic loops.
Without these, agents wander into adjacent refactors.
Append per-round deltas to MEMORIES so the next agent knows current state and why:
## 2026-04-14 round 17
- y_offset_F: 0.055 → 0.084 (move F up 1 line)
- panel_C_height: 0.18 → 0.16 (shrink C to stop overlap with C's legend)
Re-dispatching the same nudge three times with nothing changing? The previous agent shifted the wrong variable, or not enough. Read current numeric state, then be explicit: "current shift is 0.055; you must end ≥ 0.130."
→ <role> (<model>) | skills: workspace-conventions, coding-style | task: <one line>
Current state: param_A = 0.055, param_B = 0.031.
Goal: param_A → 0.084 (X up 1 line), param_B → 0.022 (Y down 0.3 lines).
At <fig height> in., 1 line ≈ <K> fig-frac.
One edit → one --draft render → one Read → report.
Non-goals: …
Response shape: ≤80 words, file:line refs, final PNG path.
hspace doesn't tighten rows with set_box_aspect. Use ax.set_position([...]) after canvas.draw().