返回 Skill 列表
extension
分类: 内容与媒体无需 API Key

generate-plot

在从数据文件创建统计图表时使用此技能。触发词包括“绘制这些数据”、“制作图表”、“将此CSV绘制成图”或“可视化这些结果”。适用于需要条形图、散点图、折线图或其他类似可视化的CSV、JSON或表格数据。不要用于从文本生成方法论图(请使用generate-diagram)或图表评分(请使用evaluate-diagram)。

person作者: jakexiaohubgithub

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"