figure-text

figure-text is an agent for Claude Code from tasumermaf/the-adversary. It costs 36 tokens per session (778 once invoked), scanned A, original, MPL-2.0.

A consistency check for research figures, their captions, the surrounding text, and the source data. It verifies that all four describe and show the same results.

In plain words
What is it for?
Checking plots and charts against their source data and written descriptions. It can help review papers, reports, and other documents containing figures.
Why use it?
Figures can become outdated when data, labels, captions, or prose change separately. This helps find mismatched numbers, units, labels, and trends.

Agent for Claude Code

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.

agentmods
npx agentmods add agents/tasumermaf/the-adversary/figure-text
Clone the repo
git clone --depth 1 https://github.com/tasumermaf/the-adversary

Made for: Claude Code.

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-text

README.md
[![agentmods](https://agentmods.dev/badge/agents/tasumermaf/the-adversary/figure-text.svg)](https://agentmods.dev/agents/tasumermaf/the-adversary/figure-text)
Your own site
<a href="https://agentmods.dev/agents/tasumermaf/the-adversary/figure-text"><img src="https://agentmods.dev/badge/agents/tasumermaf/the-adversary/figure-text.svg" alt="Measured on agentmods" height="20"></a>
Per session 36 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 778 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00036 $0.00778
Opus 5 $0.00018 $0.00389
Sonnet 5 $0.00007 $0.00156
Haiku 4.5 $0.00004 $0.00078

Measured 5d ago against content hash 5cf39cbdc55e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

figure-text 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 5d ago.

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.

.claude/agents/figure-text.md · 68 lines

How it starts

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

figure-text — the figure lens

You exist to refute one property: that what the figure shows, what its caption says, what the text claims about it, and what the underlying data contain are the same thing. A figure is four artifacts that can silently disagree: the image, the caption, the in-text description, and the source data. You assume two of them have drifted apart.

Inputs are artifacts, never narrative

You receive the figure files (read them as images), the source data behind them, the caption text, and every in-text reference. You do not receive the author's description of the figure — you look at it.

Stance: cross-check all four faces

For each figure, read the image, read the caption, read every text reference, and — where the plotting data is in the repo — recompute the plotted quantity with Bash and confirm the figure matches.

Method

  1. Enumerate every figure and every in-text \ref/mention.
  2. Caption vs content: numbers, units, and labels in the caption match what the figure actually plots.
  3. Text vs figure: the sentence "Figure 3 shows a 2.4x gain" matches the bar the figure draws; the trend described matches the trend shown.
  4. Numbers vs data: where source data exists, recompute the plotted value and confirm the figure is not stale (a figure built from an old run is the classic silent defect).
  5. Axes/units/scale: axis labels present, units correct, log/linear stated, no unlabeled second axis.
  6. Legibility: colorblind-safe encoding, distinguishable in greyscale/print, no reliance on red/green alone, legend complete and matching series.

Absence checks

  • A figure referenced in text but not present (missing figure).
  • A figure present but never referenced (orphan figure).
  • A claim in prose that cries out for a figure and has none (hand major "should visualize this" calls to the reader; note only clear cases).
  • An axis with no label or units; a placeholder caption ("Figure X:").

Read the full file on GitHub · 68 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. 5d ago First seen · 68 lines · 36 tokens per session scan A 5cf39cbdc55e

Subscribe to this mod's changes

figure-text is an agent published in the GitHub repository tasumermaf/the-adversary (2 stars, last pushed 1mo ago), licensed MPL-2.0. It adds 36 tokens to every session and 778 once invoked, about $0.0002 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-31.

Related

Other agents, from other repositories

senior-researcher

Expert peer reviewer of research methodology, experimental design, statistical analysis, and scientific writing.

pjt222/agent-almanac · 22 tokens

integrity-verification-agent

Zero-tolerance academic integrity gatekeeper for alterlab-research-pipeline (Stage 2.5 pre-review + Stage 4.5 post-revision). Performs 100% verification of references, citations, data, originality, and claim faithfulness. Resolves every reference's EXISTENCE and metadata deterministically via…

AlterLab-IEU/AlterLab-Academic-Skills · 194 tokens

citation-compliance-agent

Verifies all citations in the paper draft for format correctness, cross-references in-text citations against the reference list, checks DOIs and URLs, and auto-corrects detected errors for the selected citation style.

AlterLab-IEU/AlterLab-Academic-Skills · 47 tokens

draft-writer-agent

Writes the complete paper draft section-by-section, following the Structure Architect's outline and the Argument Builder's blueprint, weaving citations naturally into the narrative and handling revision rounds.

AlterLab-IEU/AlterLab-Academic-Skills · 38 tokens

meta-analysis-agent

Designs and executes meta-analyses when quantitative synthesis is feasible, computing effect sizes, assessing heterogeneity, generating forest-plot data, planning subgroup and sensitivity analyses, and applying the GRADE framework; otherwise produces a structured narrative synthesis framework.

AlterLab-IEU/AlterLab-Academic-Skills · 53 tokens

structure-architect-agent

Selects the optimal paper structure, designs a detailed section-by-section outline, allocates word counts, and maps evidence to sections, producing the blueprint the draft writer follows.

AlterLab-IEU/AlterLab-Academic-Skills · 39 tokens