generate-plot

SKILL.md

Generate Plot

Generate a publication-quality statistical plot from a data file using PaperBanana.

Inputs

  • Required: $ARGUMENTS[0] — path to the data file (CSV or JSON)
  • Optional: $ARGUMENTS[1] — plot intent description (prompted if not provided)

Scope Constraints

  • Read ONLY the user-specified data file
  • Do NOT read, write, or reference home directory dotfiles (~/.ssh, ~/.env, etc.)
  • Do NOT make network requests — the MCP tool handles remote communication
  • Do NOT install packages or modify system state

Input Sanitization

Before using $ARGUMENTS[0] in file operations:

  • Reject paths containing ../, null bytes, or shell metacharacters (; | & $ `)
  • Reject absolute paths to sensitive directories (/etc/, ~/.ssh/, ~/.aws/, ~/.gnupg/)
  • Verify the file exists before reading

Procedure

  1. Read the file at $ARGUMENTS[0] to get the data content.
  2. If the file is CSV, convert it to a column-keyed JSON dictionary (each key is a column name, each value is a list of values). If the file is already JSON, use the content directly.
  3. If $ARGUMENTS[1] is provided, use it as the plot intent description. Otherwise, ask the user what kind of plot they want and what it should show.
  4. Call the MCP tool paperbanana:generate_plot with:
    • data_json: the JSON-serialized data
    • intent: the plot description
    • iterations: 3 (default)
  5. Present the generated plot to the user.

Output Format

Present the generated plot with a summary of parameters used (data source, intent, iterations).

CLI Fallback

If the MCP tool is not available, fall back to the CLI:

paperbanana plot --data <file> --intent "<intent>"

Example

/generate-plot results.csv "Bar chart comparing model accuracy across datasets"
Weekly Installs
1
GitHub Stars
1
First Seen
6 days ago
Installed on
zencoder1
amp1
cline1
openclaw1
opencode1
cursor1