Individual skill

ts-paper-figure

Stage 6 of the ts-paper suite. Fill a Traitement du Signal paper's figure placeholders with real diagrams. Claude DESIGNS a concrete, rich figure and GROUNDS it on a real on-topic top/mid-journal MAIN figure (Claude **WebSearches** for it, then `fetch_reference_figures.py` pulls that paper's MAIN figure, passed to the image model as an image-condition — grounding is MANDATORY, no silent skip); the render comes from the **official PaperBanana** pipeline (`ts-figure-svg/scripts/setup_paperbanana.py`, its own Retriever→Planner→Stylist→Visualizer→Critic) or, unconfigured, the built-in `gen_image.py`; Claude then LOOKS at the PNG with its own vision and critiques/refines it over ≥2 ENFORCED rounds. The approved PNG is then **redrawn as a native editable SVG by ts-figure-svg** — its design language learned, its content re-derived from the paper, audited and repaired over ≥4 measured rounds (never a pixel trace); if that is impossible the ts-figure-optimize DrawAI HYBRID or the approved PNG is kept — never a lossy redraw, PNG always kept. Engine is routed by SECTION: only real measured-data results plots (data-aware mode, results section) use matplotlib; EVERY other figure — architecture/pipeline/concept/math-geometry/schematic — is image-model rendered (so in proposal mode every figure is image-model). In proposal mode quantitative results plots are SKIPPED (no real data — drawing one fabricates results). Use to turn the empty \fbox placeholders into publication-quality figures.

skills/ts-paper-figure/SKILL.md

Read pinned source

Source commit c17149def034bc777462de612926c8e3b6d01b8c

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
No
Repository scan complete
No
Skill scan complete
No
Observed behavior
Not checked yet
Last checked
Nov 10, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.

Repository context

Repository stars (not skill ratings)
1,200
Repository last updated
Aug 22, 2026
License
MIT

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# ts-paper-figure — figures: PaperBanana renders it, ts-figure-svg makes it a real figure

PaperBanana makes good academic figures with a team of LLM agents (Retriever → Planner → Stylist →
Visualizer → **Critic**) running a **critique-and-refine loop**. Two ways to drive it here:

- **Preferred — the official pipeline.** `python3 ../ts-figure-svg/scripts/setup_paperbanana.py` pulls
  **dwzhu-pku/PaperBanana** and you call its own `skill/run.py` (step 3). Upstream code, upstream agents.
- **Fallback — the distilled loop.** With no PaperBanana key configured, every step except drawing pixels
  is LLM reasoning + **vision**, which Claude does natively: Claude is the Planner/Stylist/Critic and one
  tiny script (`gen_image.py`) is the Visualizer.

Either way the PNG is **not the deliverable** — it is the design target. Step 5b redraws it as a native,
editable, audited SVG (**ts-figure-svg**), because a render's labels are pixels and a paper figure's must
not be.
Back to top