paper-plot
Skill14 starsChanged 4 months agoMITView on GitHub
Use when generating or polishing figures for academic papers. Use when the user mentions drawing paper figures, making architecture diagrams, flowcharts, comparison tables, concept diagrams, data plots, or needs PPT-based figure generation.
In this repository9 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- writing-skillsSkill
- academic-pptx-skillSkill
- analyze-plotSkill
- paper-extractSkill
- paper-reviewSkill
- paper-writingSkill
- systematic-researchSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 33
Every level commits to git.
- Very specific: line 38
Do NOT proceed to P1 until: template slide cleaned of ALL existing shapes (the generator auto-cleans, verify it), figure type determined, …
- Very specific: line 43
Do NOT proceed to P2 until: structured layout spec written to figures/<name>/figure-layout.md, rough PPT draft generated, user confirmed …
- Distinctive: line 47
Do NOT proceed to P3 until: all components populated, all connectors drawn, all labels set, user reviewed and approved the draft.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Paper Plot — Hierarchical Figure Generation
When to Use
| Scenario | Mode | Path |
| During paper writing, L1 figure placement | Embedded | L1 → P0→P1→P2→P3 |
| Standalone figure creation | Standalone | /paper-plot → P0→P1→P2→P3 |
| Polish existing figure | Polish | Read figure → critical review → P2/P3 |
Core principle: Figures need hierarchical thinking too — from high-level intent to layout to components to visual details.
Overview
4-level refinement, parallel to paper-writing HLS. Each level validates before descending.
| Level | Role | Reference |
| P0 | Director — figure intent, type selection, template matching | p0-director.md |
| P1 | Architect — spatial layout, structured spec + rough draft | p1-architect.md |
| P2 | Builder — SVG-first generation (hand-write SVG, browser preview, convert via ppt-master) | p2-builder.md |
| P3 | Stylist — 13-point rubric: style (6) + semantics + layout + robustness + reviewer-risk + squint-test + layer-integrity + cross-figure-consistency | p3-stylist.md |
Template-driven discovery: Figure types predefined (architecture, flowchart, comparison, concept, data-plot). Template slides auto-discovered from templates/ and matched by structure analysis.
Column width auto-selected: single (w=8.9cm) or double (w=17.8cm).
Every level commits to git.
Hard Gates
<HARD-GATE-P0>
Do NOT proceed to P1 until: template slide cleaned of ALL existing shapes (the generator auto-cleans, verify it), figure type determined, template slide matched, column width selected, core elements listed in `figures/<name>/figure-intent.md`, user confirmed.
Template cleanup is MANDATORY — the generator strips all shapes from the cloned slide before adding ours. Verify output slide contains ONLY our components.
</HARD-GATE-P0><HARD-GATE-P1>
Do NOT proceed to P2 until: structured layout spec written to `figures/<name>/figure-layout.md`, rough PPT draft generated, user confirmed layout direction.
</HARD-GATE-P1><HARD-GATE-P2>
Do NOT proceed to P3 until: all components populated, all connectors drawn, all labels set, user reviewed and approved the draft.
</HARD-GATE-P2><HARD-GATE-P3>
Figure NOT complete until: 13-point verification rubric passed (1.color 2.font 3.arrows 4.alignment 5.spacing 6.width/export 7.semantics 8.layout/anti-overlap 9.robustness 10.reviewer-risk 11.squint-test 12.layer-integrity 13.cross-figure-consistency), all figures consistent with paper-style-lock.md, PNG 300dpi exported, text-figure component names cross-checked. Font MUST be Times New Roman. Squint Test, Layer Integrity Review, and Cross-Figure Consistency are MANDATORY.
</HARD-GATE-P3>Process Flow
digraph paper_plot {
rankdir=TB;
"Trigger\n(L1 placement or /paper-plot)" [shape=oval];
"P0: Director\n[p0-director.md]" [shape=box];
"User OK?" [shape=diamond];
"Commit P0" [shape=box];
"P1: Architect\n[p1-architect.md]" [shape=box];
"User OK?" [shape=diamond];
"Commit P1" [shape=box];
"P2: Builder\n[p2-builder.md]" [shape=box];
"User OK?" [shape=diamond];
"Commit P2" [shape=box];
"P3: Stylist\n[p3-stylist.md]" [shape=box];
"13 checks pass?" [shape=diamond];
"Commit final" [shape=box];
"Done" [shape=oval];
"Trigger\n(L1 placement or /paper-plot)" -> "P0: Director\n[p0-director.md]";
"P0: Director\n[p0-director.md]" -> "User OK?";
"User OK?" -> "P0: Director\n[p0-director.md]" [label="no"];
"User OK?" -> "Commit P0" [label="yes"];
"Commit P0" -> "P1: Architect\n[p1-architect.md]";
"P1: Architect\n[p1-architect.md]" -> "User OK?";
"User OK?" -> "P1: Architect\n[p1-architect.md]" [label="no"];
"User OK?" -> "Commit P1" [label="yes"];
"Commit P1" -> "P2: Builder\n[p2-builder.md]";
"P2: Builder\n[p2-builder.md]" -> "User OK?";
"User OK?" -> "P2: Builder\n[p2-builder.md]" [label="no, revise"];
"User OK?" -> "Commit P2" [label="yes"];
"Commit P2" -> "P3: Stylist\n[p3-stylist.md]";
"P3: Stylist\n[p3-stylist.md]" -> "13 checks pass?";
"13 checks pass?" -> "P2: Builder\n[p2-builder.md]" [label="no"];
"13 checks pass?" -> "Commit final" [label="yes"];
"Commit final" -> "Done";
}Quick Reference
| Level | Output | Key Action | Ref |
| P0 | figures/<name>/figure-intent.md | Determine type, match template, list elements | p0 |
| P1 | figures/<name>/figure-layout.md + figure-spec-lock.md + draft.pptx | Design spatial layout, extract spec lock, generate rough draft | p1 |
| P2 | figures/<name>/figure-v{N}.pptx | Typography-first build, grouping-first code, per-group self-check | p2 |
| P3 | figures/<name>/figure-final.pptx | 13-point rubric: polish style, verify semantics/layout, squint test, layer integrity, cross-figure consistency, export PNG | p3 |
Git
git commit -m "P0: figure intent for <name>" # figures/<name>/figure-intent.md
git commit -m "P1: layout for <name>" # figures/<name>/figure-layout.md + figure-spec-lock.md
git commit -m "P2: draft for <name>" # figures/<name>/figure-v{N}.pptx
git commit -m "P3: final for <name>" # figures/<name>/figure-final.pptxRed Flags
- "直接出 PPT,不用 P0/P1" → 跳过方向确认 = 方向性返工
- "一次性生成所有图" → 每张图独立走 P0-P3,P3 保持跨图风格一致
- "颜色最后再说" → P0 确定色板基调
- "图做好就行,不管文字" → P3 交叉检查图-文组件名
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

