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.
npx agentmods add skills/researai/deepscientist/paper-plotnpx skills add ResearAI/DeepScientist --skill paper-plotgit clone --depth 1 https://github.com/ResearAI/DeepScientistWrote 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.
[](https://agentmods.dev/skills/researai/deepscientist/paper-plot)<a href="https://agentmods.dev/skills/researai/deepscientist/paper-plot"><img src="https://agentmods.dev/badge/skills/researai/deepscientist/paper-plot.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00042 | $0.01085 |
| Opus 5 | $0.00021 | $0.00543 |
| Sonnet 5 | $0.00008 | $0.00217 |
| Haiku 4.5 | $0.00004 | $0.00109 |
Grade A, and why
paper-plot 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 4d 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.
How it starts
The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Paper Plot
Use this skill when the job is to turn measured data into a paper-quality figure quickly and consistently.
This companion skill is adapted from Trae1ounG/paper-plot-skills/tree/main/plot-from-data.
Interaction discipline
- Follow the shared interaction contract injected by the system prompt.
- If chart semantics, units, grouping, or the intended comparison are ambiguous, ask the user a focused follow-up question instead of guessing.
- When the first durable render is ready, send a concise progress update that says which style was chosen, what data source was used, and where the output was written.
Use when
- the user provides measured values, arrays, tables, or CSV-like data and wants a publication-quality figure
- the chart can be expressed as a bar, line, scatter, or radar plot using one of the bundled styles
write,analysis-campaign, orexperimentneeds a first-pass paper-facing figure from structured results
Do not use when
- the job is only final visual QA or last-mile refinement of an already rendered figure; use
figure-polish - the figure is a disposable debug plot with no durable value
- the figure requires a custom multi-panel composition that clearly does not fit any bundled template
All bundled templates emit a dpi=300 PNG first. If a paper-facing final export needs vector output or further visual refinement, hand the result to figure-polish after the first-pass render.
Available Styles
| Style | Type | Script | Best for |
|---|---|---|---|
bar_paired_delta |
Bar | scripts/bar_memevolve.py |
Baseline vs. method paired comparison with explicit gain arrows |
bar_grouped_hatch |
Bar | scripts/bar_spice.py |
Multi-method comparison or ablation with highlighted primary method |
line_confidence_band |
Line | scripts/line_selfdistill.py |
Training or scaling curves with uncertainty bands |
line_training_curve |
Line | scripts/line_aime.py |
Ordered curves with reference lines or breakpoint markers |
line_loss_with_inset |
Line | scripts/line_loss_inset.py |
Curves that need a local zoomed inset |
scatter_tsne_cluster |
Scatter | scripts/scatter_tsne.py |
Clustered embedding plots with annotations |
scatter_broken_axis |
Scatter | scripts/scatter_break.py |
Scatter plots with broken-axis layout for outliers or large gaps |
radar_dual_series |
Radar | scripts/radar_dora.py |
Two-method multi-dimension comparison |
What ships with it
17 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.
- agents/openai.yaml 282 B
- references/bar_grouped_hatch.md 3.5 KB
- references/bar_paired_delta.md 2.3 KB
- references/line_confidence_band.md 2.3 KB
- references/line_loss_with_inset.md 2.1 KB
- references/line_training_curve.md 1.1 KB
- references/radar_dual_series.md 1.8 KB
- references/scatter_broken_axis.md 1.6 KB
- references/scatter_tsne_cluster.md 1.9 KB
- scripts/bar_memevolve.py 4.6 KB runs code
- scripts/bar_spice.py 5.8 KB runs code
- scripts/line_aime.py 3.0 KB runs code
- scripts/line_loss_inset.py 5.4 KB runs code
- scripts/line_selfdistill.py 7.1 KB runs code
- scripts/radar_dora.py 4.8 KB runs code
- scripts/scatter_break.py 5.8 KB runs code
- scripts/scatter_tsne.py 4.4 KB runs code
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.
- 4d ago First seen · 80 lines · 42 tokens per session scan A f15341716598
paper-plot is a skill published in the GitHub repository ResearAI/DeepScientist (3,310 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 42 tokens to every session and 1,085 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-30.
Other skills, from other repositories
exploratory-data-analysis
Perform bounded, local exploratory analysis of explicitly supported scientific files. Use for redacted CSV/TSV/JSON profiles; optional NumPy, HDF5, FASTA/FASTQ, and basic image metadata inspection; missingness/leakage audits; outlier and transformation sensitivity; and rigorous EDA report scaffolds. Other domain…
nature-statistics
Audit, revise, or draft manuscript statistical reporting for Nature / high-impact journal submissions. Use when the user asks to check statistical analysis sections, p values, confidence intervals, sample size, biological versus technical replicates, randomization, blinding, multiple-comparison correction, model…
evaluating-with-leakage-gates
Evaluate an OpenMed de-identification or clinical NER model against the leakage-first release gates G1a through G8, which gate releases on residual PHI leakage rather than on F1. Use when the user wants to run the OpenMed eval harness on a synthetic golden set, decide whether a de-id model is RELEASABLE or…
mapping-to-snomed
Maps clinical concept spans extracted by OpenMed to SNOMED CT concepts through a USER-SUPPLIED terminology server (the user's own Ontoserver, Snowstorm, or UMLS/UTS), never a bundled vocabulary. Use when the user wants to code findings, disorders, procedures, body structures, or substances to SNOMED CT, run an ECL…
mixed-precision
Use FP16/BF16 mixed precision to accelerate training and reduce memory. Use when optimizing GPU performance.
indication-dossier
Build a source-backed biomedical indication dossier. Use when a research task asks for disease biology, target rationale, patient segmentation, biomarkers, trials, drugs, competitive landscape, or translational evidence.