Live survey304 models · 14 providers · 22,792 auditsAudited grill-with-docs · SAFE →What changedHow we verifyllms.txt

Agent skill · Audited from source

Figmirror

skill · VILA-Lab/FigMirrorLicence not declaredAudited 18 Oct 2026 · source 0a7231a8d795

★ 530pushed 18 days ago
✓SAFEGrade B · 89/100 · 18 Oct 2026 · 0a7231a
530repo stars · whole VILA-Lab/FigMirror

Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 0a7231a8d795 and found no filesystem, network or shell access and no hard-coded secrets. What it does: FigMirror mirrors the visual style of a top-conference paper figure (NeurIPS / ICML / ICLR / Nature family) onto the user's own data. Takes dirty data plus a reference figure screenshot (cropped or uncropped),…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “Figmirror (VILA-Lab/FigMirror)”. Retrieved 18 Oct 2026. https://modelsatlas.com/skills/vila-lab/figmirror

Trust audit

Audit 0.4.1 · source read 18 Oct 2026

Trust score89/100✓SAFE B
0 critical0 high0 medium1 low1 info

SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 16,667 of 17,602 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkNone observedNo outbound calls in the source
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codePASS0
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS2
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (2)

LOWPrompt injectionprompt.transfer_instruction · docs/assets/icons/LICENSE-lucide.txt:21
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
INFOPrompt injectionprompt.authority_framing · references/reviewer.md:5
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
You are a senior author at a top-tier ML conference. You are capable of glancing at a
Why
No further detail recorded for this rule.
Fix
—

Audit 0.4.1 · source sha 0a7231a8d795 · 18 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • PublisherVILA-Lab GitHub organizationOwner of the repository this skill is read from
  • Source folderVILA-Lab/FigMirror/.claude/skills/figmirrorThe exact folder we audited
  • LicenceNot declaredAs the repository states it
  • Commit pinned for this verdict0a7231a8d795A new audit runs when the source changes
  • Repository statusNot archivedLast push 18 days ago
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: FigMirror mirrors the visual style of a top-conference paper figure (NeurIPS / ICML / ICLR / Nature family) onto the user's own data. Takes dirty data plus a reference figure screenshot (cropped or uncropped),…

---
name: figmirror
description: >
  FigMirror mirrors the visual style of a top-conference paper figure (NeurIPS /
  ICML / ICLR / Nature family) onto the user's own data. Takes dirty data plus a
  reference figure screenshot (cropped or uncropped), preprocesses the reference
  crop, runs a Drawer/Reviewer loop, and outputs a camera-ready PDF plus a
  self-contained matplotlib script with an inline DATA SECTOR.
---

# FigMirror (`figmirror`)

Use this skill when the user wants to:
- Transfer the visual style of a top-conference paper figure to their own data.
- Produce a camera-ready matplotlib figure matching a reference screenshot in
  style, not in data.
- Mirror 3D paper-figure references such as surfaces, scatter, trajectories,
  bars, layered waterfalls, or plane projections when the reference or data is
  actually 3D.
- Receive a self-contained `.py` script with editable inline data plus PNG/PDF
  outputs.

## Required Inputs

- A reference figure screenshot (`PNG`/`JPG`). It may include margins, captions,
  neighboring panels, or page text; Stage 0 preprocesses it.
- The user's data in any parseable form: pasted table, CSV, TSV, markdown table, or
  dirty terminal text.
- A working directory for iteration artifacts.

## 3D Insert Gate

Enable `references/three-d-prompting.md` only when the user asks for a 3D
figure, the reference is visibly 3D, or the parsed data requires a 3D encoding
such as `x/y/z`, surfaces, trajectories, layered profiles, closed objects, 3D
small multiples, 3D bars, or plane projections. Do not use this insert to turn
an ordinary 2D task into 3D.

## Architecture

- **Python runner** owns UI lifecycle, cancellation, optional
  data-gen, and launching the main `claude` process.
- **The top-level `claude` process is Orchestrator only.** It owns iteration state,
  role dispatch, artifact checks, Reviewer audit-view staging, deterministic
  review-gate invocation, stop decisions, and final selection.
- **Drawer** runs as the named `figmirror-drawer` custom subagent through the
  `Task` tool with `subagent_type="figmirror-drawer"` and
  `run_in_background=false`. It writes each iteration's matplotlib
  script, render, notes, and floor self-check in the staged workdir.
- **Reviewer** runs as the named `figmirror-reviewer` custom subagent through the
  `Task` tool with `subagent_type="figmirror-reviewer"` and
  `run_in_background=false`. It sees only the staged audit view:
  the far-view composite, full-resolution reference/draft near views, the
  Reviewer prompt, the aesthetic library, fixed diagnostics, and optional fixed
  3D audit material. It returns strict
  JSON including `boxes`; `figannot.py review-decision` validates and records the
  result before any Drawer or finalization decision. The `Task` tool carries a
  single text prompt and has no attachment channel, so the Orchestrator gives
  the Reviewer an ordered list of absolute image paths and the Reviewer opens
  each one with `Read`, once, in that order.
- **3D flow** uses the standard Orchestrator plus named Drawer/Reviewer
  subagents, and optional candidate-scoring path for strict reproduction.

## Workflow

1. Read these bundled references from this skill directory:
   - `references/preprocessor.md` for Stage-0 reference crop cleanup.
   - `references/orchestrator-claude.md` for loop wiring and stop conditions.
     `references/orchestrator-codex.md` ships alongside it as the diff baseline
     for the port and must not be followed at runtime.
   - `references/drawer.md` for the Drawer instructions.
   - `references/reviewer.md` for the Reviewer instructions.
   - `references/aesthetic-library.md` for the L2 convention library.
   - `references/three-d-prompting.md` only when the 3D insert gate is enabled.
2. Preserve the uploaded reference as `inputs/reference_raw.png`, then run the
   reference preprocessor to write `inputs/reference_clean.png`,
   `inputs/reference_crop_check.png`, and `inputs/reference_crop_report.md`.
   It is dispatched as a general-purpose subagent — there is no named
   preprocessor role — per the Stage 0 section of
   `references/orchestrator-claude.md`. Skip it only when the runner already
   staged those three files.
3. Echo the parsed data structure before drawing. If the user explicitly asked you
   to make up data or proceed without confirmation, record that in `data_echo.md`
   and continue; otherwise ask for confirmation.
4. When the 3D insert gate is enabled, stage `references/three-d-prompting.md`
   plus `references/three-d/` beside the normal prompts. The router selects
   exactly one mode file: `three-d/style-transfer.md` for ordinary user-data
   figures, or `three-d/strict-reproduction.md` for reproduction, comparison, or
   candidate/control replacement. For strict 3D reproduction runs that need
   quantitative candidate diagnosis, also stage `scripts/score_3d_candidates.py`;
   do not use that scorer for ordinary style transfer. The top-level
   Orchestrator owns final selection and must run the selected mode's
   rendered-image gates before copying any candidate to the final figure.
   Always stage `scripts/figannot.py`; it is the deterministic operator for
   building audit composites and drawing Reviewer boxes.
5. The top-level agent follows `references/orchestrator-claude.md` and
   dispatches `figmirror-drawer` for each iter. Every Drawer prompt includes the
   exact trace line `Iter: <N>` with the current non-negative decimal iteration.
   The Drawer writes
   `figure_iter<N>.py`, `img_iter<N>.png`, `notes_iter<N>.md`, and
   `floor_selfcheck_iter<N>.txt`; the Orchestrator verifies those files before
   any Reviewer handoff.
6. Stage `audit_view_<N>`, run `scripts/figannot.py compose` to create
   `composite.png` and `review_prompt.txt`, fit the staged near views with
   `scripts/fit_images.py`, and dispatch `figmirror-reviewer` as
   described in `references/orchestrator-claude.md`. List `composite.png`,
   `reference_clean.png`, and `draft_fullres.

Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 0a7231a

Download folder ↗
uv run --project /absolute/path/to/repo python /absolute/path/to/run-directory/tools/figannot.py review-decision \
uv run --project /absolute/path/to/repo python /absolute/path/to/run-directory/tools/figannot.py draw --out-dir /absolute/p

Commands as the repository documents them: shown, never run by us. Our verdict covers commit 0a7231a8d795 only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
CodexMentioned in its text, not testedSkills for Codex · About Codex
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✓SAFE B 89 / 100

    first audit · source 0a7231a8d795

README badge

For maintainers · shows the latest audit

ModelsAtlas: SAFE BMODELSATLASSAFE · B
[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/vila-lab/figmirror/badge.svg)](https://modelsatlas.com/skills/vila-lab/figmirror/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

Openspec Apply Change✓SAFE

VILA-Lab/FigMirror

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.

★ 530Grade B
Openspec Archive Change✓SAFE

VILA-Lab/FigMirror

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.

★ 530Grade B
Openspec Explore✓SAFE

VILA-Lab/FigMirror

Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.

★ 530Grade B
Openspec Propose✓SAFE

VILA-Lab/FigMirror

Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.

★ 530Grade B
guizang-material-illustration✓SAFE

op7418/guizang-material-illustration

Generate Guizang-style material illustrations, labeled explanatory visuals, material-styled chart illustrations, and data-first editorial images from articles, notes, product concepts, workplace reports, creator posts,…

★ 1.2kGrade B
frontend-testing!CAUTION

langgenius/dify

Use when writing or changing Vitest or React Testing Library tests under `web/` or `packages/dify-ui/`, or when the user explicitly requests frontend test strategy, including evaluation of an existing strategy. Do not…

★ 159kGrade B

Add this badge to your README

[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/vila-lab/figmirror/badge.svg)](https://modelsatlas.com/skills/vila-lab/figmirror/)

Questions about Figmirror

What does the Figmirror skill do?
An Automated AI Agent Tool for Plotting Your Data in Any Paper's Figure Style.
Is Figmirror safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Figmirror access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does Figmirror work with?
Its documentation mentions claude-code and codex. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (0a7231a8d795), read on 2026-10-18. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.