Agent Skills

chart

Interactive web charts: line, bar, candle, scatter, with HTML and screenshot output. Use when visualizing data for analysis or BI (e.g. plot BTC vs gold last year, bar chart of revenue by quarter, compare two return series).

Install

npx skills add https://github.com/starchild-ai-agent/official-skills --skill chart
SKILL.md

Chart — Project-Based Interactive Charting

Generate interactive chart pages with Apache ECharts. Each chart lives in a dedicated project folder under output/chart-html/, making it easy to reuse and iterate.

When to Use

Any time the user wants a visual chart: price charts, comparisons, dashboards, business analytics, etc.

Architecture

  • ECharts (CDN) for rendering
  • ECharts native export (getDataURL) + canvas merge for reliable PNG output
  • Project-based storage: one folder per chart project
  • No gallery mode: all artifacts stay in the project folder

Project Structure (Required)

Each chart project should follow:

output/chart-html/
  <project-name>/
    index.html        # chart page
    generate.py       # generation script (for reproducibility)
    README.md         # title / description / data source notes
    data.json         # data snapshot
    screenshot.png    # saved image

Example folder name: btc-90d-20260401

Workflow

Step 1: Pick template or custom layout

Available templates:

Template Best for
line.html Time-series trends, multi-series comparisons
bar.html Category comparisons, rankings
pie.html Composition / share breakdown
candlestick.html OHLCV price charts
scatter.html Correlation, distribution
dashboard.html KPI cards + 2×2 multi-chart grid
radar.html Multi-dimension scoring
heatmap.html Matrix / calendar intensity
dual-axis.html Two series with very different scales (e.g. market cap vs stablecoin supply) — left and right Y axes, each with its own label color
multi-panel.html Stacked panels sharing one X axis (e.g. price + volume + RSI) — single ECharts instance, tooltip/zoom synced across all panels
waterfall.html Incremental contribution breakdown (e.g. P&L attribution, budget variance) — positive/negative bars stacked on a floating base

Step 2: Create project folder

Use create_project(name, description, data_sources) from scripts/build_chart.py.

Step 3: Build and save chart page

Use either:

  • build_chart(template_name, ...)
  • build_chart_custom(...)

Then save as index.html in the project folder:

  • save_chart(html, project_dir=project_dir)

Step 4: Save reproducible assets

Also save:

  • save_generate_script(script_content, project_dir) → generate.py
  • save_data(data, project_dir) → data.json
  • project README is created by create_project(...)

Step 5: Serve preview

Use project-root serving (recommended):

preview_serve(
  title="Chart Preview",
  dir="skills/chart/scripts",
  command="python3 chart_server.py /data/workspace/output/chart-html 7860",
  port=7860
)

Then open: /preview/<id>/<project-name>/index.html

Important behavior in v3.0.1:

  • chart_server.py now rewrites preview-prefixed static paths internally (/preview/<id>/... → /...) before filesystem lookup.
  • This guarantees the preview iframe resolves the real project index.html instead of falling back to root directory listing.
  • Keep project pages under output/chart-html/<project>/index.html (do not serve output/chart-html directly as a static preview without chart_server.py).

Step 6: Export image

Two modes:

  1. User wants web page + image: click "💾 Save Image" in page toolbar, saves to current project as screenshot.png
  2. User wants image only: call screenshot_chart(project_dir) (Playwright) and send screenshot.png directly

Toolbar Requirements

Every chart page must include these buttons:

<div class="actions">
  <button onclick="downloadPNG(this)">📥 Download PNG</button>
  <button onclick="copyToClipboard(this)">📋 Copy Image</button>
  <button onclick="saveToProject(this)">💾 Save Image</button>
</div>

Do not include gallery entry.

Key Files

File Purpose
skills/chart/scripts/base-styles.css Base dark theme CSS
skills/chart/scripts/base-export.js Export helpers: download/copy/save-to-project
skills/chart/scripts/build_chart.py Project creation, HTML build, data/script save, screenshot
skills/chart/scripts/chart_server.py Static server + /save-chart API
skills/chart/templates/*.html Reusable chart templates
output/chart-html/<project>/* All generated chart artifacts

Notes

  • Embed data directly in HTML (const DATA = ...) to avoid iframe CORS issues.
  • For multi-chart pages, register all chart instances in window.CHART_INSTANCES.
  • Use meaningful project names (topic-range-date) for easy lookup.

Related skills

researchmattpocock575KInvestigate a question against high-trust primary sources and capture the findings as a Markdown file in the repo. Use when the user wants a topic researched, docs or API facts gathered, or reading legwork delegated to a background agent.paper-context-resolverlllllllama451KRigor Paper Context helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacing Renv-and-assets-bootstraplllllllama450KRigor Setup skill for README-first deep learning repo reproduction. Use when the task is specifically to prepare a conservative conda-first environment, checkpoint and dataset path assumptions, cache location hints, and setup notes before any run on a README-documented repository. Do not use for repo scanning, full orchestration, paper interpretation, final run reporting, or generic environment setup that is not tied to a specific reproduction target.ai-research-explorelllllllama311KRigor Explore compatible skill slug for meaningful and potentially novel deep learning research candidates. Use when the researcher has chosen the task family, dataset, benchmark, evaluation method, provided SOTA references, and wants candidate-only exploration on top of `current_research` with auditable repo understanding, idea gating, fair comparison, and governed experiments written to `explore_outputs/`. Do not use for README-first trusted reproduction, open-ended direction finding, narrow c

Search skills and MCP servers

Fuzzy search across 23,137 skills and servers