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/a554b554/reactant/figurenpx skills add a554b554/Reactant --skill figuregit clone --depth 1 https://github.com/a554b554/ReactantWhat 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.00021 | $0.00837 |
| Opus 5 | $0.00010 | $0.00418 |
| Sonnet 5 | $0.00004 | $0.00167 |
| Haiku 4.5 | $0.00002 | $0.00084 |
Grade A, and why
figure scanned grade A with 1 finding 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 2d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
source ~/.bashrc && RESPONSE=$(curl -s -X POST \ How it starts
The opening of the file, as written. The whole thing — 78 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Figure
Generate a figure from the prompt and surrounding context.
Input
- File path: the file being processed.
- Surrounding text: the paragraph or block where the
<@figure ...>tag appears. - Prompt (optional): description of the figure. If absent, infer from surrounding text.
Workflow
- Read the surrounding text and prompt.
- Synthesize a detailed image-generation prompt from user intention and context.
- Generate the image using the API call below.
- Save the image in the same directory as the source file. Name it based on the prompt (e.g.,
figure_system_architecture.png). - Replace the
<@figure>tag with a format-appropriate image reference:- Markdown (
.md): - LaTeX (
.tex):\includegraphics{filename.png}
- Markdown (
API call
Requires GEMINI_API_KEY environment variable.
Run the entire generate-and-save flow in a single Bash command to avoid redundant API calls. Use single-quoted JSON with the prompt inserted via variable substitution to avoid escaping issues.
source ~/.bashrc && RESPONSE=$(curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{"text": "Generate an image: YOUR_PROMPT_HERE"}]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"]
}
}') && echo "$RESPONSE" | python -c "
import json, sys, base64
r = json.load(sys.stdin)
if 'error' in r:
print('API error: ' + r['error'].get('message', 'unknown')); sys.exit(1)
if 'candidates' not in r:
print('No candidates in response'); sys.exit(1)
for part in r['candidates'][0]['content']['parts']:
if 'inlineData' in part:
data = base64.b64decode(part['inlineData']['data'])
with open('OUTPUT_PATH.png', 'wb') as f:
f.write(data)
print(f'Saved {len(data)} bytes')
break
"
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.
- 2d ago First seen · 78 lines · 21 tokens per session scan A e5ce0f83a829
figure is a skill published in the GitHub repository a554b554/Reactant (54 stars, last pushed 29d ago), licensed MIT. It adds 21 tokens to every session and 837 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…