method-figure

method-figure is a skill for Claude Code, Codex from wanshuiyin/ARIS-Movie-Director. It costs 172 tokens per session (6,453 once invoked), scanned A, original, MIT.

A workflow for creating publication-quality diagrams of methods, software architectures, pipelines, or processes as checked, repeatable visual documents.

In plain words
What is it for?
Use it to define a diagram in a validated JSON blueprint, generate the figure, compare it with the blueprint, and keep a record of revisions.
Why use it?
It reduces the risk that an image model changes labels, invents steps, or produces inconsistent diagrams from a free-form prompt.

Skill for Claude CodeCodex

Written for Claude Code and Codex: allowed-tools in frontmatter, but also runs codex exec. Also seen: mentions Codex.

Good fit Use it to define a diagram in a validated JSON blueprint, generate the figure, compare it with the blueprint, and keep a record of revisions.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/wanshuiyin/aris-movie-director/method-figure
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 wanshuiyin/ARIS-Movie-Director --skill method-figure
Clone the repo
git clone --depth 1 https://github.com/wanshuiyin/ARIS-Movie-Director

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 method-figure

README.md
[![agentmods](https://agentmods.dev/badge/skills/wanshuiyin/aris-movie-director/method-figure/github.svg)](https://agentmods.dev/skills/wanshuiyin/aris-movie-director/method-figure)
Your own site
<a href="https://agentmods.dev/skills/wanshuiyin/aris-movie-director/method-figure"><img src="https://agentmods.dev/badge/skills/wanshuiyin/aris-movie-director/method-figure/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 method-figure

Your own site · 80×15
<a href="https://agentmods.dev/skills/wanshuiyin/aris-movie-director/method-figure"><img src="https://agentmods.dev/badge/skills/wanshuiyin/aris-movie-director/method-figure.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 172 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 6,453 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 warn 7 Sept 2026
SkillSpector: 1 finding, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Rogue Agent · line 46
    Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
    Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
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.00172 $0.06453
Opus 5 $0.00086 $0.03227
Sonnet 5 $0.00034 $0.01291
Haiku 4.5 $0.00017 $0.00645

Measured 13d ago against content hash e9ba36cc087a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

method-figure 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 13d ago.

The scan reads SKILL.md. This mod also ships 6 executable files (scripts/compile_brief.py, scripts/content_diff.py, scripts/pickup_image.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.

skills/method-figure/SKILL.md · 281 lines

How it starts

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

method-figure

Turn "draw our method figure" from a one-shot gamble into the same audited spiral the framework uses for comics: a blueprint is the source of truth, the image model bakes the look, a cross-model panel + a deterministic diff keep it honest, and the loop converges to a publication-grade figure that is reproducible (re-run the blueprint) and auditable (a trace of every round).

Two things are simultaneously true: (a) gpt-image-2 CAN render a clean Figure-1 with legible labels when conditioned on a labeled blueprint — do not assume it garbles text; (b) on a free prompt it DRIFTS (renames phases, invents nodes, garbles a token, leaves pasted-looking floating labels). The blueprint + blind-transcribe-then-hard-diff loop turns (a) into a reliable result and catches (b) every round.

  system description ─▶ ① BLUEPRINT (JSON content-lock)  ── validate_blueprint.py
                              ▼
                        ② CONDITION (white-bg labeled SVG → PNG) + identity sheet (real chibi, optional)  ── render_condition.py --png
                              ▼
                        ③ BAKE  — agent: mcp__codex__codex(prompt+abs ref paths+out_path, workspace-write, gpt-5.5, config{xhigh}) → gpt-image-2 native PNG  ── pickup_image.py --out-existing (sig+size+dims, mtime-bound, HARD-VETO struct/zlib/PIL/SVG, fail-closed)
                              ▼
                        ④ PANEL — Gemini ‖ Codex BLIND-transcribe → content_diff.py (observed ⊖ blueprint) → Claude structural sign-off
                              ▼
                        ⑤ agent reads the diff + the panel blockers → re-bake re-asserting the locked labels
                              ▼
                   converged? ─ no ─▶ ③   (bounded: max_rounds → escalate to human)
                              │ yes
                              ▼
                        ⑥ APPROVE → figure.png + blueprint.json + trace.jsonl

Constants

  • GENERATOR = Codex gpt-5.5, config: {model_reasoning_effort: xhigh, include_image_gen_tool: true} → the native image_generation tool (gpt-image-2). The gpt-5.5 pin is a single hardcoded COMPAT DEFAULT in the bake sidecar payload (run_spiral.py mirrors run_comic.py's canonical bake plan; a config-driven model override is PLANNED, not yet implemented). It pins the BAKE only — the panel's Codex reviewer is un-pinned (see PANEL below). CRITICAL: image_gen is produced ONLY via mcp__codex__codex (the agent tool), NOT codex exec. codex exec / over-specified / forbid-list prompts make Codex hand-draw a code fallback (struct+zlib PNG or SVG/matplotlib) — visually indistinguishable for trivial shapes, useless for a real method-figure. The working invocation is mcp__codex__codex with a dead-simple prompt + sandbox: "workspace-write" (it must WRITE the out_path) + model: "gpt-5.5" + config: {model_reasoning_effort: "xhigh", include_image_gen_tool: true} (the schema has NO top-level effort param; config{xhigh} shorthand below ALWAYS expands to both these keys — without include_image_gen_tool codex won't fire its native image tool, it falls back to descriptive text / an SVG renderer) + cwd: <project>. Reference images are passed by absolute file path inside the prompt (the schema has NO -i); the output path is a deterministic abs path in the prompt. Pick it up with pickup_image.py --out-existing (verifies the EXPLICIT out_path: PNG sig + size + dims, mtime >= request.created_at) which HARD-VETOES struct/zlib/PIL/<svg>/matplotlib markers in the agent transcript (fail-closed; there is no 'native sig wins' override). Honesty caveat: as of Jun 2026 native headless persistence is unreliable, so this fail-closed verifier — not any sandbox setting — is the first guard against a non-native bake. But the HARD-VETO is a BEST-EFFORT denylist against the known codex-exec hand-draw fallback (struct/zlib/PIL/ SVG/matplotlib markers), NOT a complete security boundary — a novel fallback that emits a sig-valid PNG without those markers can slip past it. The load-bearing faithfulness gate is the cross-model blind-transcribe panel + the deterministic content_diff (the pixels are what reviewers transcribe), with this denylist as a cheap upstream filter.
  • PANEL (automated blind-transcribe) = the orchestrator SHELLS the gemini + codex CLIs as subprocesses (both must be on PATH; MCP is ONLY the bake seam): Gemini = gemini --model auto-gemini-3; Codex = codex exec -i <png> with NO model pin (it follows the local codex config — currently gpt-5.6-sol) at effort xhigh — so the reviewer model ≠ the bake's pinned gpt-5.5. Plus the deterministic content_diff. Claude (this agent) is the post-pass STRUCTURAL sign-off, not a blind transcriber — the loop converges on Gemini-approve + Codex-approve + empty-diff, then Claude signs off.
  • CROSS-MODEL ACQUITTAL — Codex is the generation family, so a Codex approve can only diagnose/veto, never be the sole acquitter. ACCEPT requires Gemini approve + Claude structural approve + the hard-diff empty.
  • MAX_ROUNDS = 4, then escalate to human with best-so-far + open blockers.
  • LABEL_POLICY = baked only in v0 — the image model renders ALL text; nothing is hand-pasted. (hybrid/overlay — lock structure + vector-overlay the labels for paper zero-tolerance text — are on the v1 roadmap; do NOT use a vector overlay as an ad-hoc patch on a finished bake, it reads as pasted.)
  • OUTPUT_DIR = figures/method_figure/<figure_id>/ (figure.png, blueprint.json, condition.svg, trace.jsonl).
  • NATIVE-IMAGE FAIL-CLOSED — accept a bake ONLY if a real native PNG exists at the explicit out_path, sha/size/dims check out and mtime >= request.created_at, and the agent transcript shows no struct/zlib/ PIL/<svg>/matplotlib fallback (pickup_image.py --out-existing, HARD-VETO — a clean sig never overrides a fallback marker). This veto is a BEST-EFFORT denylist against the known codex-exec hand-draw fallback, NOT a complete security boundary (a novel marker-free fallback could evade it). The load-bearing faithfulness gate remains the cross-model blind-transcribe panel + the deterministic content_diff; the denylist is a cheap upstream filter that matters because native headless persistence is currently unreliable.
  • SERIALIZE BAKES — never run two image generations at once. The default --bake-mode=agent writes each native PNG to its explicit per-round out_path (no shared dir), so concurrent agent bakes still risk a request/status sidecar race — keep one runner per figure. (The global ~/.codex/generated_images dir + newest-after-marker pickup that could cross-pollinate concurrent bakes is a hazard of the LEGACY --bake-mode=exec path ONLY, which is retired for real bakes.)

Read the full file on GitHub · 281 lines

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. 13d ago First seen · 281 lines · 172 tokens per session scan A e9ba36cc087a

Subscribe to this mod's changes

method-figure is a skill published in the GitHub repository wanshuiyin/ARIS-Movie-Director (61 stars, last pushed 3d ago), licensed MIT. It adds 172 tokens to every session and 6,453 once invoked, about $0.0009 per session on Opus 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

academic-poster

A guide for turning a research paper or abstract into a printable academic conference poster. It covers large single-page layouts, including traditional columns and a design that enlarges the main finding.

Nero1688/claude-academic-skills · 298 tokens

paper-framework-figure-studio-pro

Human-in-the-loop research-paper framework figure workflow from S0-PAPER-FOUNDATION through terminal S5-CANDIDATE-IMAGE. Use for paper-grounded architecture, pipeline, method overview, agent workflow, system/data-flow, and mechanism figures with generated raster first-round/formal candidates, reviewer-first-glance…

tuoxie2046/claude-code-research-skills · 258 tokens

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…

tuoxie2046/claude-code-research-skills · 0 tokens

generative-design

Evolutionary algorithms, multi-objective optimization, design space exploration, fitness function design, population-based methods, and generative workflows for AEC computational design.

marcinfinitesimal533/Claude-skills-for-Computational-Designers · 30 tokens

nature-figure

Submission-grade Nature/high-impact journal figure workflow for Python or R. Use whenever the user asks to create, revise, audit, or polish manuscript figures, multi-panel scientific plots, figures4papers-style matplotlib plots, or journal-ready SVG/PDF/TIFF outputs, especially for Nature-family or other high-impact…

tuoxie2046/claude-code-research-skills · 149 tokens

drug-discovery

Drug discovery: ChEMBL search, drug-likeness, interactions.

NousResearch/hermes-agent · 19 tokens