figure-composer

figure-composer is a skill for Claude Code, Codex from aipoch/open-science. It costs 93 tokens per session (2,640 once invoked), scanned A, original, Apache-2.0.

A workflow for planning, creating, combining, and reviewing one publication-quality figure made of multiple panels.

In plain words
What is it for?
Use it to lay out panels on a 12-column grid, assign panel work, compose the final figure, inspect it, and run limited adversarial reviews.
Why use it?
It turns a research claim and fixed data references into a structured figure plan and includes review passes to catch problems.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to lay out panels on a 12-column grid, assign panel work, compose the final figure, inspect it, and run limited adversarial reviews.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/aipoch/open-science/figure-composer
About the project

Open Science is a local-first, model-agnostic workbench for reproducible scientific research. Scientists use its AI agents, Python and R execution, data connectors, and traceable outputs for tasks such as literature review, analysis, simulation, and visualization across macOS, Windows, and Linux.

aipoch/open-science · 5,357 stars · on GitHub · aipoch.com

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add aipoch/open-science --skill figure-composer
Clone the repo
git clone --depth 1 https://github.com/aipoch/open-science

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for figure-composer

README.md
[![agentmods](https://agentmods.dev/badge/skills/aipoch/open-science/figure-composer/github.svg)](https://agentmods.dev/skills/aipoch/open-science/figure-composer)
Your own site
<a href="https://agentmods.dev/skills/aipoch/open-science/figure-composer"><img src="https://agentmods.dev/badge/skills/aipoch/open-science/figure-composer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for figure-composer

Your own site · 80×15
<a href="https://agentmods.dev/skills/aipoch/open-science/figure-composer"><img src="https://agentmods.dev/badge/skills/aipoch/open-science/figure-composer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 93 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,640 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00093 $0.02640
Opus 5.5 $0.00037 $0.01056
Sonnet 5.5 $0.00019 $0.00528
Haiku 4.5 $0.00009 $0.00264

Measured 1mo ago against content hash 48572edcdbd2, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

figure-composer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

The scan reads SKILL.md. This mod also ships 1 executable file (kernel.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

resources/skills/figure-composer/SKILL.md · 260 lines

How it starts

The opening of the file, as written. The whole thing — 260 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Figure Composer — narrative → panels → compose → adversarial loop

figure-composer is the outer workflow for one multi-panel figure. Use the figure-style rules while planning and reviewing; every panel worker uses those rules independently. Run paper-narrative first when the paper-level figure sequence is still undecided.

Open-Science Notebook call

Every notebook_execute request whose code uses a function named in this skill includes this skill ID:

{ "kernelSkillIds": ["figure-composer"], "code": "print(figure_outline_schema())" }

kernelSkillIds contains the skill ID; function calls belong in code. Call the named functions directly without an import or discovery step.

Inputs

  • claim: the one sentence the figure makes true without surrounding prose.
  • dataVersionIds: immutable Upload or Artifact Version identities grounding the panels.
  • width_mm: venue column width, commonly 85–89 mm single or 174–183 mm double.
  • rulesVersionId: immutable Artifact Version containing the design rules used by the composite reviewer.
  • delegatePrefix: short branch-unique prefix for panel and reviewer child names.

Run this workflow only in the Main/root agent. Delegated children cannot call host.delegate, so the whole composer cannot itself be delegated.

Entry points

  • From a claim: Main writes the outline in step 1 from the claim, data, and figure-style rules.
  • From an existing figure: inspect it with host.viewImage, then have Main draft and review the outline directly. Current host.llm calls do not accept images, so do not add a second hidden inference step. Pixels cannot supply Artifact Version identities; fill data_vid from the provided data.

1. Narrative → panel outline

Main produces a panel_outline matching figure_outline_schema():

{
  "claim": "…",
  "width_mm": 180,
  "ncol": 12,
  "row_heights_mm": [40, 60, 46, 52],
  "panels": [
    {
      "letter": "a",
      "role": "schematic",
      "row": 0,
      "col": 0,
      "colspan": 12,
      "chart_family": "schematic overview",
      "message": "…",
      "data_vid": null,
      "ask": "…"
    },
    {
      "letter": "b",
      "role": "primary",
      "row": 1,
      "col": 0,
      "colspan": 7,
      "chart_family": "scatter + trend",
      "message": "…",
      "data_vid": "…",
      "ask": "…"
    }
  ]
}

Read the full file on GitHub · 260 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · +33 lines 48572edcdbd2
  2. 1mo ago Changed · +5 lines 9fe043346100
  3. 1mo ago Changed 66291940c1ed
  4. 1mo ago Changed · +10 lines c84770140e7d
  5. 1mo ago First seen · 212 lines · 93 tokens per session scan A b21232537807

Subscribe to this mod's changes

figure-composer is a skill published in the GitHub repository aipoch/open-science (5,357 stars, last pushed today), licensed Apache-2.0. It adds 93 tokens to every session and 2,640 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

journal-club-ppt

Instructions for turning a scientific paper PDF into a journal-club presentation or literature report. They require reconstructing the paper's scientific logic before creating the slides.

xuzhougeng/wisp-science · 154 tokens

figure-style

Correctness and legibility checklist for publication figures, plus a matplotlib sidecar. Load before plotting anything and call applyfigurestyle() (role-mapped font ladder, outward ticks, frameless legends, 300-dpi saves, CJK-safe fonts). Covers data fidelity, label budgets, axis/colour/type rules, chart choice by…

xuzhougeng/wisp-science · 163 tokens

research-integrity-audit

A research-integrity review of a scientific manuscript's figures and reported numbers. It looks for possible image reuse or alteration and numerical patterns that may indicate data inconsistencies.

xuzhougeng/wisp-science · 145 tokens

analysis-workflow

Organize multi-step scientific analyses into reproducible, self-contained modules. Use for workflows such as QC→PCA→DEG→GSEA that produce scripts, inputs, figures, tables, and methods. Creates a stable module layout, records exact inputs/parameters/package and database versions in each module README, keeps large data…

xuzhougeng/wisp-science · 81 tokens

audit-biomedical-paper-evidence

A reviewer for life-science and biomedical papers, PDFs, figures, captions, and screenshots. It examines the scientific question, experiments, evidence, causality, and limitations.

xuzhougeng/wisp-science · 102 tokens

literature-review

Retrieve, verify, and synthesize scientific literature. Use for seminal-paper lookups, evidence summaries, method comparisons, and gap analyses. Every citation must come from a live lookup, never from memory; retractions are checked; the deliverable is argued prose with resolvable DOI links.

xuzhougeng/wisp-science · 62 tokens