FigMirror — скилл
Скилл для Claude Code и Codex: строит график по вашим данным в стиле рисунка из научной статьи
- 554 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Установщик запускается как curl с передачей в bash и пишет скилл и агентов в настройки Claude Code и Codex
- Агенты генерируют и выполняют Python-скрипты с вашими данными в рабочей папке
- Веб-интерфейс поднимает локальный сервер на 127.0.0.1
Установка
- Работает в
В терминале, через 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
Скилл-советник по научной визуализации: сначала разбирает данные и подбирает тип графика под вывод, потом рисует его на уровне журнальных требований
Скилл визуализации данных для агентов: превращает данные в аккуратные интерактивные HTML-графики и целые отчеты с единым визуальным языком
Восемь скиллов для олимпиад по моделированию: ведут задачу от условия до статьи с графиками и проверенной литературой
MCP-сервер подключает Claude Code и Codex к открытой сессии R или Python в RStudio и Positron, где лежат ваши данные
Скилл математического моделирования
Math Modeling Skill
Воркфлоу из трех этапов для задач математического моделирования: разбор и выбор модели, расчеты на Python или MATLAB, сборка статьи в Word или LaTeX
Скилл для агента: превращает статью с arxiv в минимальную реализацию на Python, где код привязан к разделам и формулам, а неуказанные места честно помечены
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| 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.