Agent skill

Figure Composer

by xuzhougeng in xuzhougeng/wisp-science

Compose or improve a publication-grade multi-panel scientific figure from a claim, concrete data paths, or an existing image.

Apache-2.0Auto-check passedResearch & Science

Install Figure Composer

skills CLI
$ npx skills add xuzhougeng/wisp-science --skill figure-composer -a claude-code

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

GitHub CLI
$ gh skill install xuzhougeng/wisp-science figure-composer --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/xuzhougeng/wisp-science.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/figure-composer .claude/skills/figure-composer && 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
figure-composer
GitHub stars
1k
Token cost
~966 tokens
SKILL.md length
361 words
Files
2
Skills in repo
25
Repo updated
First seen
Licence
Apache-2.0

At a glance

Compose or improve a publication-grade multi-panel scientific figure from a claim, concrete data paths, or an existing image.

  • Works in 8 steps: Build an outline matching… → Make panel a the conceptual hook and… → Build one instruction per panel with… → …
  • Figure outlining
  • SKILL.md covers Inputs, Workflow, Outline example and Boundaries
  • Runs Python scripts from its folder

What it does

Figure Composer is an agent skill from xuzhougeng/wisp-science. Compose or improve a publication-grade multi-panel scientific figure from a claim, concrete data paths, or an existing image. Use for figure outlining, parallel panel rendering, exact-grid composition, visual inspection, and adversarial figure review. Use figure-style for one standalone plot and paper-narrative for whole-paper figure ordering.

Its SKILL.md is about 970 tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `runtime.py`).

It sits in Research & Science, covering Data visualization. The repository describes itself as: Open-source, local-first desktop AI research workbench for scientific computing with Python/R, MCP bioinformatics tools, SSH/WSL/GPU runtimes, and OpenAI/Anthropic models. The licence is Apache-2.0.

When your agent uses it

  • Figure outlining
  • Parallel panel rendering
  • Exact-grid composition
  • Visual inspection

Example prompts

  • “/figure-composer”

Requirements

  • Python 3

Workflow steps

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

  1. Build an outline matching figure_outline_schema(). Put real paths in
  2. Make panel a the conceptual hook and panel b the primary evidence. Use a
  3. Build one instruction per panel with panel_task(...).
  4. If delegate_tasks is advertised, submit the independent panel tasks as one
  5. Compose returned paths with compose_figure(...). Do not pass placeholder
  6. Save the compose_crops(...) boxes with figure-style's
  7. Build one reviewer instruction with composite_review_task(...). Delegate it
  8. Apply outline revisions and regenerate only affected panels. Stop after three

What it can do on your machine

Read from SKILL.md and the folder at commit 2ba143b. 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 script files (Python), 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

Figure Composer loads about 966 tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 361 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~966

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from xuzhougeng/wisp-science at commit 2ba143b, republished under its Apache-2.0 licence (© xuzhougeng). 361 words, ~966 tokens.

Download SKILL.mdSave it as .claude/skills/figure-composer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
figure-composer
description
Compose or improve a publication-grade multi-panel scientific figure from a claim, concrete data paths, or an existing image. Use for figure outlining, parallel panel rendering, exact-grid composition, visual inspection, and adversarial figure review. Use figure-style for one standalone plot and paper-narrative for whole-paper figure ordering.
license
Apache-2.0

Figure composer

Load figure-style with this skill. The sidecar provides pure geometry, composition, task-building, and review-schema helpers. It does not call models, delegate Agents, resolve artifacts, or inspect images from Python.

Inputs

Require a one-sentence claim, target width in millimetres, and concrete project-relative or absolute data paths. Never use artifact ids as paths. For an existing figure, inspect the real image with view_image and write the outline yourself; pixels cannot reveal the source data path.

Workflow

  1. Build an outline matching figure_outline_schema(). Put real paths in data_path; use null for schematics.
  2. Make panel a the conceptual hook and panel b the primary evidence. Use a 12-column grid and one row per sub-claim.
  3. Build one instruction per panel with panel_task(...).
  4. If delegate_tasks is advertised, submit the independent panel tasks as one batch. Grant each task the minimum advertised capabilities needed, normally visualization plus project_read. Require a concrete PNG filename in each output schema. If delegation is unavailable, render the panels sequentially with python.
  5. Compose returned paths with compose_figure(...). Do not pass placeholder markers to the composer.
  6. Save the compose_crops(...) boxes with figure-style's save_panel_crops(composite_path, compose_crops(outline)), then call view_image on the composite and every crop. Fix seams, clipped labels, aliases, empty space, and misplaced panel letters before review. The crops are inspection debris, not products: they live in .cache/figure-style/, never beside the composite or under the output figures directory, and get deleted once the composite passes.
  7. Build one reviewer instruction with composite_review_task(...). Delegate it with image_inspection, project_read, and reasoning when those capability ids are advertised; otherwise perform the review in the current Agent.
  8. Apply outline revisions and regenerate only affected panels. Stop after three rounds or when there are no blockers and at most two major findings.
Show full SKILL.md (70 more words)Show less

Outline example

json
{
  "claim": "Treatment restores the disease-associated trajectory.",
  "width_mm": 180,
  "ncol": 12,
  "row_heights_mm": [42, 60],
  "panels": [
    {
      "letter": "a",
      "role": "schematic",
      "row": 0,
      "col": 0,
      "colspan": 12,
      "chart_family": "study schematic",
      "message": "The experiment tests trajectory rescue.",
      "data_path": null,
      "ask": "Show cohorts, treatment, sampling, and comparison."
    },
    {
      "letter": "b",
      "role": "primary",
      "row": 1,
      "col": 0,
      "colspan": 12,
      "chart_family": "trajectory plot",
      "message": "Treatment moves cells toward the healthy trajectory.",
      "data_path": "results/trajectory.csv",
      "ask": "Plot disease, treated, and healthy cells with confidence bands."
    }
  ]
}

Boundaries

  • Use delegate_tasks only as an explicit Wisp tool; never call delegation from python.
  • Use view_image only on a concrete local image file.
  • Keep data preparation in normal project files. Use run_in_context only when a deterministic render or preprocessing job is long enough to require a persisted Run; Agent delegation itself is not a Run.
  • Save the accepted composite to a stable project path and report that path.

© xuzhougeng, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/figure-composer of xuzhougeng/wisp-science.

  • SKILL.md
  • runtime.py

Open the folder on GitHubat commit 2ba143b

Compare with similar skills

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

Figure Composer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Figure Composer this skillxuzhougeng/wisp-science1k—~966Automated safety check: PassApache-2.0
Scientific Critical Thinkingweapp-tailwindcss/weapp-tailwindcss1.9k22 repos~5.9kAutomated safety check: NotesMIT
Nature-Style Scientific FiguresYuan1z0825/nature-skills47k—~3.1kAutomated safety check: PassApache-2.0
Scholar Evaluationspacering-net/codeg3.9k11 repos~3.2kAutomated safety check: PassMIT
Outline AgentAr9av/PaperOrchestra6791 repos~1.6kAutomated safety check: PassCustom licence
Engineering Figure Agentheyu-233/engineering-figure-agent307—~1.1kAutomated safety check: PassMIT

Similar skills

  • Scientific Critical Thinking

    weapp-tailwindcss/weapp-tailwindcss

    Evaluate research rigor. An agent skill from weapp-tailwindcss/weapp-tailwindcss.

    1.9k GitHub starsUsed in 22 repos~5.9k tokens
    Research & ScienceAuto-check: notes
  • Nature-Style Scientific Figures

    Yuan1z0825/nature-skills

    Creates, revises, audits and exports manuscript-ready scientific figures in Python or R, and routes AI-generated graphical abstracts to a separate workflow.

    47k GitHub stars~3.1k tokensUpdated today
    Research & ScienceAuto-check passed
  • Scholar Evaluation

    spacering-net/codeg

    Systematically evaluate scholarly work using the ScholarEval framework, providing structured assessment across research quality dimensions including problem formulation, methodology, analysis, and…

    3.9k GitHub starsUsed in 11 repos~3.2k tokens
    Research & ScienceAuto-check passed
  • Outline Agent

    Ar9av/PaperOrchestra

    Step 1 of the PaperOrchestra pipeline (arXiv:2604.05018). An agent skill from Ar9av/PaperOrchestra.

    679 GitHub starsUsed in 1 repo~1.6k tokens
    Research & ScienceAuto-check passed
  • Engineering Figure Agent

    heyu-233/engineering-figure-agent

    A skill your agent uses when the user needs engineering or research-paper figures: system architecture diagrams, algorithm workflows, hardware schematics, benchmark charts, ablation plots, figure…

    307 GitHub stars~1.1k tokensUpdated 4 mo ago
    Research & ScienceAuto-check passed
  • Pymol Visualization

    ChatMol/ChatMol

    Generate publication-quality molecular visualization images using PyMOL.

    373 GitHub stars~1.2k tokensUpdated 6 mo ago
    Research & ScienceAuto-check passed

More from xuzhougeng/wisp-science

All 25 skills in this repo
  • Singlecell Qc

    xuzhougeng/wisp-science

    A skill your agent uses when designing, reviewing, or implementing single-cell RNA-seq QC in Python or R with a human-in-the-loop, data-driven approach.

    1k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Research Integrity Audit

    xuzhougeng/wisp-science

    学术审查 / research-integrity screening of a manuscript's figures and reported numbers.

    1k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Distill Concept Books

    xuzhougeng/wisp-science

    将概念、理论或分析方法类图书蒸馏为证据可追溯、经人工门禁审核且不暴露书名、作者、出版社等来源身份的任务型 Skill 候选。用于新建或恢复图书蒸馏、以本地 Tesseract 扫描 DOCX 全部内嵌图像或 Poppler 渲染的扫描 PDF 全页、建立 source map 与 evidence/claim/relation/capability…

    1k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Skill Creator

    xuzhougeng/wisp-science

    Create, update, validate, and evaluate Wisp skills. An agent skill from xuzhougeng/wisp-science.

    1k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Word Zotero Citations

    xuzhougeng/wisp-science

    Build, audit, authorize, recover, or finalize dynamic Zotero citations and bibliographies in Microsoft Word DOCX files with a protected-source, digest-bound workflow.

    1k GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Compute Env Setup

    xuzhougeng/wisp-science

    Set up and validate a reproducible Python or R environment on a Wisp execution context.

    1k GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Questions about Figure Composer

What does Figure Composer do?

Compose or improve a publication-grade multi-panel scientific figure from a claim, concrete data paths, or an existing image. Figure Composer is an agent skill from xuzhougeng/wisp-science. Compose or improve a publication-grade multi-panel scientific figure from a claim, concrete data paths, or an existing image.

When should I use Figure Composer?

Figure Composer fits situations like: figure outlining; parallel panel rendering; exact-grid composition; visual inspection.

How do I install Figure Composer in Claude Code?

Run `npx skills add xuzhougeng/wisp-science --skill figure-composer -a claude-code`. Or copy the skill folder (skills/figure-composer in xuzhougeng/wisp-science) into .claude/skills/figure-composer in your project. Claude Code loads it when a task matches its description.

How do I install Figure Composer in Codex?

Run `npx skills add xuzhougeng/wisp-science --skill figure-composer -a codex`. Or copy the skill folder (skills/figure-composer in xuzhougeng/wisp-science) into .agents/skills/figure-composer in your project. Codex loads it when a task matches its description.

Can I use Figure Composer 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 xuzhougeng/wisp-science --skill figure-composer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/figure-composer, .gemini/skills/figure-composer, .github/skills/figure-composer and .opencode/skills/figure-composer in your project.

What does Figure Composer need to run?

Going by SKILL.md and its folder, Figure Composer needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Figure Composer 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 Figure Composer 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. Review the folder before installing.

What licence does Figure Composer use?

Figure Composer is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Figure Composer use?

About 966 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Figure Composer?

Skills that share tags, products or a category with Figure Composer: Scientific Critical Thinking (weapp-tailwindcss/weapp-tailwindcss, 1.9k stars), Nature-Style Scientific Figures (Yuan1z0825/nature-skills, 47k stars), Scholar Evaluation (spacering-net/codeg, 3.9k stars) and Outline Agent (Ar9av/PaperOrchestra, 679 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Figure Composer?

xuzhougeng (a GitHub user) maintains it in xuzhougeng/wisp-science, which has 1,026 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 10, 2026.

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