Figmirror
Restyle vos données en une figure matplotlib correspondant au style visuel d'un article de référence
Testé · Fonctionne
Ce que fait
Transfère le style visuel d'une figure d'article de référence (style NeurIPS/ICML/Nature) sur vos propres données, émettant un script matplotlib autonome plus un PNG et un PDF Type-42 via une boucle itérative Dessinateur/Réviseur. Se déclenche lorsque vous joignez une capture d'écran de figure d'article avec vos données et demandez de 'refléter le style de cette figure', 'faire un graphique qui ressemble à cet article', ou 'reproduire cette figure avec mes chiffres'. Ne se déclenche pas sur les requêtes matplotlib simples sans image de référence.
Rapport de test
SKILL.md localisé à .claude/skills/figmirror/SKILL.md ; le frontmatter est analysé avec name+description. 6 fichiers référencés dans le corps vérifiés ponctuellement (aesthetic-library.md, iter-loop-spec.md, les trois agents figure-*, score_3d_candidates.py) tous HTTP 200 ; aesthetic-library.md fait 933 lignes, correspondant à l'affirmation '~900'. Aucune faille de sécurité. Déclenchement testé avec 5 formulations (3 avec image de référence + données devraient activer, 2 matplotlib simples sans image ne devraient pas) — les 5 jugées correctement ; le cas négatif explicite de la description rend cela propre. Sortie : rendu un graphique linéaire BASELINE avec les valeurs par défaut de matplotlib, puis un graphique SKILL appliquant les valeurs de la bibliothèque esthétique L2 fournies textuellement (serif+STIX, despine haut/droite à 0.6pt, grilles #e0e0e0, légende serrée sans cadre, palette seaborn-deep, figsize à colonne unique, pdf.fonttype=42 — intégration Type-42 vérifiée dans le PDF). Amélioration concrète, clairement de qualité papier par rapport à la base de référence. Avertissement : je n'ai exercé que la couche de convention L2 ; la boucle principale de miroir visuel L1 contre une vraie capture d'écran de référence via les trois sous-agents dispatchés n'a pas été exécutée (pas d'image de référence / d'itération visuelle dans mon contexte), bien que la compétence documente un fallback de thread principal pour qu'elle fonctionne toujours uniquement comme compétence.
Testé le: 2026-07-21 · Claude Code 2.x (agent harness)
Installation
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".
Commandes et exemples de prompts
/figmirrorRestyle vos données en une figure matplotlib correspondant au style visuel d'un article de référence
Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :
Mirror this paper figure's style with my datasetMake my chart look like this NeurIPS figureReproduce this reference plot using my own data