FigMirror — скилл

Скилл для Claude Code и Codex: строит график по вашим данным в стиле рисунка из научной статьи

  • 554 ★ репозитория
  • Последний коммит
Скилл

Расширенный доступ

Почему такой уровень

  • Установщик запускается как curl с передачей в bash и пишет скилл и агентов в настройки Claude Code и Codex
  • Агенты генерируют и выполняют Python-скрипты с вашими данными в рабочей папке
  • Веб-интерфейс поднимает локальный сервер на 127.0.0.1
Все причины и проверки

vila-lab/figmirror

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/figmirror

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Установщик запускается как curl с передачей в bash и пишет скилл и агентов в настройки Claude Code и Codex
  • Агенты генерируют и выполняют Python-скрипты с вашими данными в рабочей папке
  • Веб-интерфейс поднимает локальный сервер на 127.0.0.1

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

FigMirror переносит оформление графика из научной статьи на ваши данные. Вы прикладываете скриншот образца (поля, подписи и соседние панели допускаются) и вставляете данные в любом виде: таблицей, CSV, TSV, Markdown или сырым текстом из терминала. На выходе вы получаете самодостаточный скрипт на matplotlib с данными внутри, а также PNG и PDF для публикации. Работа идет циклом из двух ролей. Оркестратор в Claude Code или Codex поручает рисование агенту `figmirror-drawer`, а проверку агенту `figmirror-reviewer`. Рецензент смотрит на общий вид и на полноразмерные фрагменты образца и черновика и возвращает замечания с рамками на картинке. Из них оркестратор собирает размеченное изображение для следующего прохода. Число итераций жестко ограничено, а список того, что менять нельзя, копится от прохода к проходу и удерживает стиль от дрейфа. Для трехмерных рисунков есть отдельные подсказки про камеру, масштаб и освещение. Они включаются, только если образец или данные действительно объемные. Если подходящего образца нет, его можно выбрать в галерее на Hugging Face. Для тех, кто предпочитает браузер, есть локальный веб-интерфейс с загрузкой, историей итераций и доработкой результата.

Для кого. Исследователям и аспирантам, которые готовят рисунки для статей и хотят, чтобы они выглядели как публикации нужного журнала или конференции.

Подходит, если

  • Нужно оформить график так, чтобы он выглядел как рисунки в статьях NeurIPS, ICML, ICLR или Nature, и образец уже есть в виде скриншота
  • Данные лежат в сыром виде, например вывод из терминала, и из них нужен готовый рисунок с PDF для итоговой версии статьи
  • Нужен редактируемый скрипт на matplotlib с данными внутри, чтобы потом править цвета и подписи руками
  • Требуется трехмерная фигура: поверхность, траектории, слоистый водопад или проекции на плоскость
  • Образца под рукой нет, и вы хотите выбрать его в галерее из 139 рисунков по 25 семействам графиков

Не подходит, если

  • Нужен совет, какой тип графика выбрать под вывод: FigMirror копирует оформление образца и подбором типа не занимается
  • Нужна схема архитектуры или фреймворка: скилл строит графики по данным
  • На машине нет ни Claude Code, ни Codex: скилл работает через их агентов
  • Данных много, и им нужна предварительная обработка в отдельном пайплайне: скилл разбирает вставленные таблицы

Пример запроса к агенту

Use FigMirror to mirror this figure's style with my data: вот скриншот графика из статьи и таблица результатов трех моделей

Ограничения

  • Нужны Claude Code или Codex, uv и Python. Вспомогательные скрипты запускаются через uv. На машине с малым корневым диском перед первым запуском направьте переменную `UV_CACHE_DIR` на другой раздел.
  • Образец передается скриншотом, так что качество результата зависит от четкости картинки.
  • В планах автора остаются публикация воспроизводимых материалов бенчмарка и доработка документации под другие OpenAI-совместимые и локальные бэкенды.
  • Каждый проход тратит токены двух агентов, поэтому длинные циклы на сложных рисунках обходятся заметно дороже одного запроса.

Как отключить. Удалите папку `figmirror` и файлы агентов `figmirror-drawer` и `figmirror-reviewer` из каталога скиллов и агентов Claude Code (.claude) или Codex. Если запускали веб-интерфейс, остановите процесс сервера и удалите рабочую папку .artifacts/figmirror-workspace.

Частые вопросы

Как поставить FigMirror в Claude Code?

Напишите в Claude Code фразу «Install FigMirror for me: https://github.com/VILA-Lab/FigMirror», и агент поставит все сам. Вручную работает команда curl -fsSL https://raw.githubusercontent.com/VILA-Lab/FigMirror/main/scripts/install.sh | bash -s -- --claude. Установщик кладет скилл `figmirror` и двух агентов, рисующего и проверяющего.

Как запустить веб-интерфейс FigMirror?

Склонируйте репозиторий, выполните bash scripts/install.sh и запустите uv run python scripts/figcopy_serve.py --workspace .artifacts/figmirror-workspace --backend codex. Для Claude Code замените бэкенд на claude. Интерфейс откроется по адресу http://127.0.0.1:8765/ и покажет загрузку образца, историю итераций и доработку.

Что FigMirror выдает на выходе?

Скрипт на matplotlib с блоком данных внутри, PNG и PDF для публикации. Скрипт можно править руками: меняются цвета, подписи и порядок серий без повторного запуска всего цикла.

Что делать, если нет образца для подражания?

Откройте галерею на Hugging Face: в ней 139 рисунков из статей по 25 семействам графиков. Выберите подходящий, сохраните скриншотом и приложите к запросу.

Как FigMirror удерживает стиль от дрейфа между итерациями?

Рецензент после каждого прохода возвращает список того, что нужно сохранить, и этот список накапливается. Если агенты расходятся или рисующий не уверен, подключается эстетическая библиотека с правилами стиля, а число итераций жестко ограничено.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

SciPilot Figure

scipilot-figure-skill

Скилл-советник по научной визуализации: сначала разбирает данные и подбирает тип графика под вывод, потом рисует его на уровне журнальных требований

СкиллРасширенный доступ2,7 тыс.Звезды репозитория

Скилл визуализации данных для агентов: превращает данные в аккуратные интерактивные HTML-графики и целые отчеты с единым визуальным языком

СкиллМинимальный доступ6,5 тыс.Звезды репозитория

Восемь скиллов для олимпиад по моделированию: ведут задачу от условия до статьи с графиками и проверенной литературой

СкиллРасширенный доступ318Звезды репозитория

MCP-сервер подключает Claude Code и Codex к открытой сессии R или Python в RStudio и Positron, где лежат ваши данные

MCP-серверШирокий доступ359Звезды репозитория

Воркфлоу из трех этапов для задач математического моделирования: разбор и выбор модели, расчеты на Python или MATLAB, сборка статьи в Word или LaTeX

СкиллРасширенный доступ1,9 тыс.Звезды репозитория

Скилл для агента: превращает статью с arxiv в минимальную реализацию на Python, где код привязан к разделам и формулам, а неуказанные места честно помечены

СкиллРасширенный доступ1,5 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
FigMirror (эта запись)нет554
SciPilot Figureнет2 740скилл-советник, который подбирает тип графика под вывод и рисует его по требованиям журналов
Academic Figure Promptнет2 785собирает подробные промпты для генераторов изображений по тексту статьи

Коротко о README

README открывается лентой событий проекта и результатами из препринта на arXiv, затем показывает пары образец и результат, быстрый старт и описание цикла. Там же список вкладов, дорожная карта и ссылка на набор PlotTwin-Bench с оценочными задачами.

Бейдж для README

Исходный SKILL.md

---
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.

Сообщить о проблеме

Foxx AIFigMirror
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.