agentsclimarketplace

Autofigure

Skill tuoxie2046/claude-code-research-skills/skills/autofigure

Generate clean, EDITABLE vector figures (SVG + exact-size PDF) for research papers — method / architecture / pipeline / system-overview diagrams — with AutoFigure-Edit. Use whenever the user wants to create or vectorize a paper figure from a text description OR from a draft/screenshot/draw.io image: it generates a step-1 raster with OpenAI gpt-image-2 by default (nano-banana optional), then runs local SAM3 segmentation + RMBG-2.0 icon extraction + an LLM SVG re-draw with OpenAI gpt-5.5 into an editable SVG, and exports a margin-free PDF for \includegraphics. Triggers: make a paper figure, method/architecture/pipeline/framework diagram, vectorize a diagram, "editable SVG figure", "用 AutoFigure / AutoFigure-Edit 画图", 论文方法图/流程图/架构图.From its SKILL.md

Install
npx -y skills add tuoxie2046/claude-code-research-skills --skill autofigure

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.9 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it

autofigure — AutoFigure / AutoFigure-Edit figure generation

Turns a figure idea (or a rough draft image) into a clean, editable vector figure. Two-stage pipeline, all local + subscription CLIs (no raw API keys required):

  1. Step-1 raster — a journal-style draft PNG, by default from gpt-image-2 (OpenAI/Codex, via the hermes-gpt-image skill). nano-banana (Gemini) is a manual alternative. Skippable if you already have an image (a draw.io export, a screenshot, a hand sketch).
  2. Vectorize (AutoFigure-Edit)SAM3 segments the draft into regions, RMBG-2.0 cuts out transparent icons, and an LLM (gpt-5.5 via a local Codex shim) re-draws the whole thing as a placeholder-aligned editable SVG (final.svg). Then export an exact-size PDF.

Defaults — OpenAI via the Codex subscription (no raw API key): gpt-image-2 for the step-1 raster (gen.sh) and gpt-5.5 for the SVG re-draw (afe.sh, through the local shim → openclaw infer model run --model openai/gpt-5.5). nano-banana (Gemini) and SiliconFlow are optional, non-default alternatives — used only if you explicitly ask, or set SF_API_KEY.

Heavy assets (the afe_venv, sam3.pt, RMBG weights, the AutoFigure-Edit repo) live under AUTOFIG_HOME (default ~/apps/autofig_work). The scripts reference them; nothing is duplicated.

Workflow (follow every time)

  1. Preflight once: bash ~/.claude/skills/autofigure/scripts/doctor.sh. If anything is , see Setup below and stop until fixed.
  2. Make / obtain the step-1 raster.
    • From text: bash scripts/gen.sh "<detailed figure prompt>" /tmp/fig_input.png Write a concrete, diagram-style prompt: state the layout ("left-to-right pipeline of N boxes with arrows"), each box's short label, palette, "flat vector, white background, crisp readable sans-serif labels, no clutter". gpt-image-2 spells short English labels well; keep dense diagrams to ≲15 labels or text may garble.
    • Or skip this and use an existing image as the input.
    • Read the raster to confirm it matches before vectorizing.
  3. Vectorize: bash scripts/afe.sh <input.png> <out_dir> ["sam,prompts"] [svg_model]
    • Produces <out_dir>/final.svg (+ template.svg editable layout, icons/ assets, samed.png segmentation overlay, boxlib.json).
    • sam_prompt (optional) tunes what SAM3 looks for, e.g. "icon,box,arrow,text label,bottle".
    • Default SVG model is gpt-5.5 via the local shim (auto-started). To use SiliconFlow instead: SF_API_KEY=sk-... SVG_MODEL=Qwen/Qwen3-VL-32B-Instruct bash scripts/afe.sh ....
  4. Preview: bash scripts/view.sh <out_dir>/final.svg /tmp/fig_preview.png then Read it. Check labels are correct/legible and nothing overlaps. If off, fix the prompt and redo step 2–3, or hand-edit final.svg/template.svg (it is plain SVG text).
  5. Export PDF for the paper: bash scripts/svg2pdf.sh <out_dir>/final.svg figures/fig_x.pdf 10 (10 = width in inches; height auto from the SVG aspect; margin-free). Drop it into the paper with \includegraphics[width=\textwidth]{figures/fig_x.pdf}.

Commands (scripts/)

  • install.sh — one-time backend install (venv + repos + SAM3 + RMBG + HF cache seed); see Setup.
  • doctor.sh — verify the install is ready.
  • gen.sh "<prompt>" <out.png> [landscape|square|portrait] — step-1 raster via gpt-image-2.
  • afe.sh <input.png> <out_dir> [sam_prompt] [svg_model] — the AutoFigure-Edit vectorizer.
  • svg2pdf.sh <in.svg> <out.pdf> [width_in] — exact-size, margin-free PDF.
  • view.sh <in.svg|pdf> <out.png> [width] — PNG preview to Read.
  • shim.py — local OpenAI-compatible server that bridges /v1/chat/completions (incl. images) to openclaw infer model run --model openai/gpt-5.5. afe.sh starts it on demand (port 8745) and leaves it running for reuse; stop it with pkill -f autofigure/scripts/shim.py.

Tips

  • Editing the result: final.svg embeds the extracted icons; template.svg is the clean layout with labeled placeholders — easiest to tweak text/positions by hand, then re-export PDF.
  • Dense, label-heavy method figures sometimes vectorize cleaner from a draw.io export fed straight into afe.sh (skip gen.sh) than from a text-generated raster.
  • From-scratch SVG (no raster): AUTOFIG_HOME/run_af.py drives the original AutoFigure agent (text → SVG directly via an OpenAI-compatible LLM). Less reliable here than the Edit path; prefer gen.sh → afe.sh.
  • Image generation draws on the ChatGPT/Codex (and Google, for nano-banana) subscription quota; the SVG re-draw uses Codex (gpt-5.5) or your SiliconFlow balance.

Setup (if doctor.sh reports ✗)

One-command install (builds the venv, clones the repos, installs SAM3, downloads the SAM3 + RMBG-2.0 weights, seeds the HF cache):

HF_TOKEN=hf_xxx bash ~/.claude/skills/autofigure/scripts/install.sh   # [AUTOFIG_HOME]

HF_TOKEN is required (briaai/RMBG-2.0 is gated — request access first, then make a read token). You still install the driver CLIs yourself: hermes (gpt-image-2), openclaw (gpt-5.5), and Google Chrome. install.sh is idempotent (skips anything already present).

What it lays down under AUTOFIG_HOME (~/apps/autofig_work):

  • afe_venv — Python 3.11 venv with torch torchvision timm transformers kornia pillow cairosvg plus SAM3 installed editable (pip install -e from facebookresearch/sam3).
  • sam3.pt — the SAM3 checkpoint, symlinked into the HF cache so offline mode finds it: ln -sf $AUTOFIG_HOME/sam3.pt ~/.cache/huggingface/hub/models--facebook--sam3/snapshots/<commit>/sam3.pt
  • rmbg_local/ — a local copy of briaai/RMBG-2.0 (model.safetensors, config.json, birefnet.py).
  • .hf_env — exports HF_TOKEN (+ optional FAL_KEY).
  • AutoFigure-Edit/ and AutoFigure/ — the two repos.
  • CLIs on PATH: hermes (gpt-image-2 + gpt-5.5 image desc), openclaw (gpt-5.5 SVG LLM), optional agy (nano-banana). Plus Google Chrome for SVG→PDF/PNG. Network note: keep HF_HUB_OFFLINE=1 (afe.sh sets it) — the HF Xet downloader hangs on some networks; seeding sam3.pt into the cache + local RMBG path avoids all HF downloads.

What ships with it: 7 files

15.0 KB alongside SKILL.md, 7 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.