Figmirror

Ristilizza i tuoi dati come una figura matplotlib che corrisponde allo stile visivo di un articolo di riferimento.

di VILA-Lab · VILA-Lab/FigMirror

Promosso ★ 8.0/10

Figmirror — Ristilizza i tuoi dati come una figura matplotlib che corrisponde allo stile visivo di un articolo di riferimento.

Cosa fa

Trasferisce lo stile visivo di una figura di un articolo di riferimento (stile NeurIPS/ICML/Nature) sui tuoi dati, emettendo uno script matplotlib autonomo più PNG e un PDF Type-42 tramite un ciclo iterativo Drawer/Reviewer. Si attiva quando alleghi uno screenshot di una figura di un articolo insieme ai tuoi dati e chiedi di "mirror this figure's style", "make a chart that looks like this paper" o "reproduce this figure with my numbers". Non si attiva su semplici richieste matplotlib senza immagine di riferimento.

Rapporto di test

Trovato SKILL.md in .claude/skills/figmirror/SKILL.md; il frontmatter si analizza con name+description. Controllati a campione 6 file di riferimento nel corpo (aesthetic-library.md, iter-loop-spec.md, i tre agenti figure-*, score_3d_candidates.py) tutti HTTP 200; aesthetic-library.md è di 933 righe, corrispondenti all'affermazione "~900". Nessun problema di sicurezza. Trigger testato con 5 frasi (3 con immagine di riferimento+dati dovrebbero attivarsi, 2 plain-matplotlib senza immagine non dovrebbero) — tutti e 5 giudicati correttamente; il caso negativo esplicito della descrizione lo rende pulito. Output: renderizzato un grafico a linee BASELINE at matplotlib defaults, then a SKILL chart applying the bundled L2 aesthetic-library values verbatim (serif+STIX, top/right despine at 0.6pt, #e0e0e0 gridlines, frameless tight legend, seaborn-deep palette, single-column figsize, pdf.fonttype=42 — Type-42 embedding verified in the PDF). Miglioramento concreto, chiaramente di qualità da articolo, rispetto alla baseline. Avvertenza: ho esercitato solo lo strato di convenzione L2; il ciclo di visione-specchio L1 principale contro uno screenshot di riferimento reale tramite i tre subagenti spediti non è stato eseguito (nessuna immagine di riferimento / iterazione di visione nel mio contesto), sebbene la skill documenti un fallback del thread principale in modo che funzioni ancora solo come skill.

Testato il: 2026-07-21 · Claude Code 2.x (agent harness)

Installazione

git clone --depth 1 https://github.com/VILA-Lab/FigMirror.git /tmp/figmirror-src
mkdir -p ~/.claude/skills ~/.claude/agents
cp -R /tmp/figmirror-src/.claude/skills/figmirror ~/.claude/skills/figmirror
cp /tmp/figmirror-src/.claude/agents/figure-preprocessor.md /tmp/figmirror-src/.claude/agents/figure-illustrator.md /tmp/figmirror-src/.claude/agents/figure-critic.md ~/.claude/agents/
# Requires python3 + matplotlib to run the generated figure scripts.
# The 3 agents above drive the Drawer/Reviewer loop; SKILL.md has a main-thread fallback if they are absent.
# Recommended installer (also wires Codex + local web UI): curl -fsSL https://raw.githubusercontent.com/VILA-Lab/FigMirror/main/scripts/install.sh | bash -s -- --claude
# Usage: attach a paper-figure screenshot + paste your data, then "mirror this figure's style with my data".

Comandi e prompt di esempio

  • /figmirrorRistilizza i tuoi dati come una figura matplotlib che corrisponde allo stile visivo di un articolo di riferimento.

Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):

  • Mirror this paper figure's style with my dataset
  • Make my chart look like this NeurIPS figure
  • Reproduce this reference plot using my own data