Agent skill

FigMirror

by VILA-Lab in VILA-Lab/FigMirror

Mirrors the visual style of a top-conference paper figure onto your own data, producing a camera-ready PDF and a self-contained matplotlib script.

No licenceAuto-check passedData & Analytics

Install FigMirror

skills CLI
$ npx skills add VILA-Lab/FigMirror --skill figmirror -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install VILA-Lab/FigMirror figmirror --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/VILA-Lab/FigMirror.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/figmirror .claude/skills/figmirror && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
figmirror
GitHub stars
523
Token cost
~2.4k tokens
SKILL.md length
976 words
Files
25 (incl. scripts, references)
Skills in repo
2
Repo updated
First seen
Licence
None found

At a glance

Mirrors the visual style of a top-conference paper figure onto your own data, producing a camera-ready PDF and a self-contained matplotlib script.

  • Works in 9 steps: Read these bundled references from this… → Preserve the uploaded reference as… → Echo the parsed data structure before… → …
  • Plotting your data in the style of a paper's figure
  • SKILL.md covers Required Inputs, 3D Insert Gate, Architecture and Workflow, plus 2 more sections
  • Producing a camera-ready matplotlib figure from a reference screenshot

What it does

FigMirror takes messy data plus a screenshot of a reference figure from the style family of NeurIPS, ICML, ICLR or Nature papers, and recreates that visual style with your numbers. It first preprocesses the reference crop, then runs a Drawer and Reviewer loop and outputs a camera-ready PDF plus a self-contained matplotlib script with an inline data section you can edit, along with PNG outputs.

The data can arrive as a pasted table, CSV, TSV, a markdown table or dirty terminal text. A Python runner owns the interface, cancellation and bootstrap, while the top-level Codex process acts only as orchestrator for iteration state, role dispatch, deterministic review gates and final selection. Drawer and Reviewer run as separate named subagents, and the Reviewer sees only a staged audit view and returns strict JSON. A separate 3D insert is enabled only when the reference or data is genuinely 3D, such as surfaces, scatter plots, trajectories or 3D bars.

When your agent uses it

  • Plotting your data in the style of a paper's figure
  • Producing a camera-ready matplotlib figure from a reference screenshot
  • Recreating a 3D surface, scatter or bar figure style
  • Getting an editable script with the data embedded

Example prompts

  • “Plot my results.csv in the style of this NeurIPS figure screenshot.”
  • “Mirror the layered waterfall style from fig3.png using my timing numbers.”
  • “Give me a camera-ready PDF and an editable matplotlib script for this table, styled like the reference.”

Requirements

  • Python with matplotlib
  • A reference figure screenshot in PNG or JPG
  • Your data in any parseable form
  • A Codex session that can spawn the Drawer and Reviewer subagents

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Read these bundled references from this skill directory
  2. Preserve the uploaded reference as inputs/reference_raw.png, then run the
  3. Echo the parsed data structure before drawing. If the user explicitly asked you
  4. When the 3D insert gate is enabled, stage references/three-d-prompting.md
  5. In Codex, the top-level agent follows references/orchestrator-codex.md and
  6. Stage audit_view_, run scripts/figannot.py compose to create
  7. Run scripts/figannot.py review-decision after every Reviewer result. A
  8. Stop when the deterministic gate returns ship: the quality floor passed,
  9. Write final figure.py, figure.png, figure.pdf, output.png,

What it can do on your machine

Read from SKILL.md and the folder at commit 11631cc. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

FigMirror loads about 2.4k tokens when it runs, and up to ~47k if it reads all its reference files. Until then it costs about 95 tokens; SKILL.md has 976 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~95
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~47k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

Without a licence we can't republish the file, so here is its outline and opening line. It has 976 words (~2,359 tokens).

“Use this skill when the user wants to:”

— opening of SKILL.md by VILA-Lab
name
figmirror

Read the full SKILL.md on GitHub

Files

SKILL.md and 24 other files (scripts, references) in .codex/skills/figmirror of VILA-Lab/FigMirror.

  • SKILL.md
  • agents/openai.yaml
  • references/aesthetic-library.md
  • references/drawer.md
  • references/orchestrator-codex.md
  • references/preprocessor.md
  • references/reviewer.md
  • references/three-d-prompting.md
  • references/three-d/candidate-selection.md
  • references/three-d/core.md
  • references/three-d/extrema-fold-network.md
  • references/three-d/fractured-surfaces.md
  • references/three-d/marks-and-panels.md
  • references/three-d/material-lighting.md
  • references/three-d/patch-composition.md
  • references/three-d/repair-feedback.md
  • references/three-d/reviewer-scorecard.md
  • references/three-d/scale-occupancy.md
  • … and 7 more

Open the folder on GitHubat commit 11631cc

Compare with similar skills

FigMirror next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

FigMirror compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
FigMirror this skillVILA-Lab/FigMirror523—~2.4kAutomated safety check: PassNone
Scientific Figure MakingChenLiu-1996/figures4papers8.2k—~557Automated safety check: PassCustom licence
Agent Figure GalleryDsadd4/AgentFigureGallery159—~643Automated safety check: PassMIT
Scientific Figure Generationlingzhi227/agent-research-skills384—~809Automated safety check: PassNone
MathModel Figure Templatesjihe520/MathModelAgent6.2k—~627Automated safety check: NotesNone
Molecular Visualization 3dmoljaechang-hits/SciAgent-Skills370—~3.2kAutomated safety check: PassBSD-3-Clause

Similar skills

  • Scientific Figure Making

    ChenLiu-1996/figures4papers

    Covers publication-ready matplotlib figures for academic papers, slides, and reports—bars, trends, scatter, heatmaps, and multi-panel layouts—with this…

    8.2k GitHub stars~557 tokensUpdated 2 days ago
    Data & AnalyticsAuto-check passed
  • Agent Figure Gallery

    Dsadd4/AgentFigureGallery

    Lets a plotting agent query a gallery of scientific figure references, show candidates for you to pick from, and export the chosen ones before it writes plot code.

    159 GitHub stars~643 tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • Scientific Figure Generation

    lingzhi227/agent-research-skills

    Generates publication-quality scientific figures with matplotlib or seaborn through query expansion, a run-and-retry coding loop and a visual check of the rendered PNG.

    384 GitHub stars~809 tokensUpdated 7 mo ago
    Data & AnalyticsAuto-check passed
  • MathModel Figure Templates

    jihe520/MathModelAgent

    Renders ready-made scientific figure templates, such as raincloud plots, Taylor diagrams and chord diagrams, from bundled Python scripts in the MathModel sandbox.

    6.2k GitHub stars~627 tokensUpdated 5 days ago
    Data & AnalyticsAuto-check: notes
  • Molecular Visualization 3dmol

    jaechang-hits/SciAgent-Skills

    3Dmol.js WebGL molecular visualization emitted as self-contained HTML.

    370 GitHub stars~3.2k tokensUpdated 9 days ago
    Data & AnalyticsAuto-check passed
  • Fin Arch Diagram

    csmar432/finai-research

    生成研究/项目架构图、流程图、层次图(swimlane / processflow / hierarchytree)。适合 PPT 汇报、技术文档、综述插图。输出风格接近 draw.io,可选 graphviz(高质量)/ matplotlib(零依赖)双后端。

    109 GitHub stars~1.5k tokensUpdated 2 days ago
    Data & AnalyticsAuto-check passed

More from VILA-Lab/FigMirror

  • Redraws your data as a matplotlib figure in the visual style of a reference paper figure, using a drawer and reviewer loop.

    523 GitHub stars~2.1k tokensUpdated 8 days ago
    Auto-check passed

Questions about FigMirror

What does FigMirror do?

Mirrors the visual style of a top-conference paper figure onto your own data, producing a camera-ready PDF and a self-contained matplotlib script. FigMirror takes messy data plus a screenshot of a reference figure from the style family of NeurIPS, ICML, ICLR or Nature papers, and recreates that visual style with your numbers. It first preprocesses the reference crop, then runs a Drawer and Reviewer loop and outputs a camera-ready PDF plus a self-contained matplotlib script with an inline data section you can edit, along with PNG outputs.

When should I use FigMirror?

FigMirror fits situations like: plotting your data in the style of a paper's figure; producing a camera-ready matplotlib figure from a reference screenshot; recreating a 3D surface, scatter or bar figure style; getting an editable script with the data embedded.

How do I install FigMirror in Claude Code?

Run `npx skills add VILA-Lab/FigMirror --skill figmirror -a claude-code`. Or copy the skill folder (.codex/skills/figmirror in VILA-Lab/FigMirror) into .claude/skills/figmirror in your project. Claude Code loads it when a task matches its description.

How do I install FigMirror in Codex?

Run `npx skills add VILA-Lab/FigMirror --skill figmirror -a codex`. Or copy the skill folder (.codex/skills/figmirror in VILA-Lab/FigMirror) into .agents/skills/figmirror in your project. Codex loads it when a task matches its description.

Can I use FigMirror in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add VILA-Lab/FigMirror --skill figmirror -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/figmirror, .gemini/skills/figmirror, .github/skills/figmirror and .opencode/skills/figmirror in your project.

What does FigMirror need to run?

SKILL.md names no scripts, command-line tools or credentials: FigMirror is instructions for the agent only. Our summary lists: Python with matplotlib; A reference figure screenshot in PNG or JPG; Your data in any parseable form; A Codex session that can spawn the Drawer and Reviewer subagents.

Does FigMirror access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is FigMirror safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does FigMirror use?

No licence was found for FigMirror or its repository. Without one, default copyright applies: ask the author before reusing or redistributing it.

How many tokens does FigMirror use?

About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 44k tokens, read only when the agent opens those files.

What are the alternatives to FigMirror?

Skills that share tags, products or a category with FigMirror: Scientific Figure Making (ChenLiu-1996/figures4papers, 8.2k stars), Agent Figure Gallery (Dsadd4/AgentFigureGallery, 159 stars), Scientific Figure Generation (lingzhi227/agent-research-skills, 384 stars) and MathModel Figure Templates (jihe520/MathModelAgent, 6.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains FigMirror?

VILA-Lab (a GitHub organization) maintains it in VILA-Lab/FigMirror, which has 523 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 30, 2026.

Source: VILA-Lab/FigMirror on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.