Skip to content
Back to skills

Plot

ASecurity

Reactant tag-only data visualization. Use only when execute or execute-one dispatches an exact <@plot> tag from a document; never activate from ordinary chat or another skill.

  • 54 stars
  • 0 votes
  • 0 copies
  • 9 views
  • Added September 12, 2026
documentationpythonreact

Security analysis

A100/100

Scanned September 12, 2026

npx -y skills add a554b554/Reactant --skill plot --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Plot?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Plot
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/a554b554-plot/badge)](https://www.skillsdirectory.com/skills/a554b554-plot)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: plot
description: Reactant tag-only data visualization. Use only when execute or execute-one dispatches an exact <@plot> tag from a document; never activate from ordinary chat or another skill.
---

# Plot

## Activation Boundary

This is a tag-only worker skill. Use it only after `execute` or `execute-one`
selects an exact `<@plot...>` annotation in a target document and hands off its
context. Never activate it from an ordinary chat chart request, semantic
similarity, or any skill other than those two routers. Without that handoff,
do not read data, run code, or create artifacts.

Produce a data visualization grounded in a real data file by generating and
executing a Python script, then replace the tag with a figure reference.

## Tag

```
<@plot: chart description, use ``data/results.csv``, save to ``figures/out.png``>
```

## Input

- **File path** — the document being processed.
- **Surrounding block** — the maximal run of non-blank lines containing the
  tag; blank lines bound it.
- **Prompt** — the desired visualization: chart type, styling, formatting.
  Its double-backtick context references name the data file and, optionally,
  the output path.

## Workflow

1. Identify the data file from the prompt's context references and read it
   first to learn its actual structure (columns, types, row count). Never
   assume column names. If the prompt has no data reference, fail cleanly and
   ask the user to add one.
2. Determine the output path: the output context reference if given,
   otherwise a `figures/` directory next to the document (create it if
   needed) with a sanitized name derived from the prompt (lowercase,
   underscores; for example `figures/completion_time.png`).
3. Write a complete, self-contained Python script that reads the data file,
   produces the requested visualization (matplotlib and/or seaborn; pandas
   for tabular loading), applies the prompt's styling, and saves the figure
   with `dpi=300` and `bbox_inches='tight'`. Default to clean,
   publication-ready styling: white background, legible fonts, labeled axes.
   If the prompt gives no chart type, infer the most appropriate one from the
   data structure and surrounding context.
4. Save the script next to the artifact with the same basename and a `.py`
   extension (for example `figures/completion_time.py`), then run it once
   with the host's Python. Keep the script file so the plot can be
   regenerated and audited.
5. Confirm the image file now exists, then replace the `<@plot: ...>` tag
   with a format-appropriate reference using a path relative to the document:
   - Markdown: `![description](figures/out.png)`
   - LaTeX: `\includegraphics{figures/out.png}`

## Rules

- Consume only this tag; do not rewrite surrounding prose. Preserve every
  unrelated tag, `<@comment: ...>` tag, `<@chat-model>` block, and escaped
  literal byte-for-byte.
- Resolve reference paths relative to the document's directory unless
  absolute.
- If the data file cannot be found or read, if plotting libraries are
  unavailable, or if the script errors, fail cleanly: leave the tag, report
  the error, and include the generated script so the user can debug.
- The rendered chart is accepted as produced; Reactant runs no quality check
  or second model pass on it.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.