Python Executor
cortega26/chile-hub
Execute Python code in a safe sandboxed environment via [inference.sh](https://inference.sh).
Builds interactive Vega-Lite charts from uploaded data: analyzes the fields, picks five to ten fitting chart types, and produces a React artifact with the data embedded inline.
$ npx skills add oaustegard/claude-skills --skill charting-vega-lite -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install oaustegard/claude-skills charting-vega-lite --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/charting-vega-lite .claude/skills/charting-vega-lite && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "charting-vega-lite" agent skill from https://github.com/oaustegard/claude-skills/tree/main/charting-vega-lite into .claude/skills/charting-vega-lite/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "charting-vega-lite", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/oaustegard/claude-skills/tree/main/charting-vega-liteType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add oaustegard/claude-skills --skill charting-vega-lite -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install oaustegard/claude-skills charting-vega-lite --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/charting-vega-lite .agents/skills/charting-vega-lite && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "charting-vega-lite" agent skill from https://github.com/oaustegard/claude-skills/tree/main/charting-vega-lite into .agents/skills/charting-vega-lite/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "charting-vega-lite", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add oaustegard/claude-skills --skill charting-vega-lite -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install oaustegard/claude-skills charting-vega-lite --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/charting-vega-lite .cursor/skills/charting-vega-lite && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "charting-vega-lite" agent skill from https://github.com/oaustegard/claude-skills/tree/main/charting-vega-lite into .cursor/skills/charting-vega-lite/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "charting-vega-lite", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/oaustegard/claude-skills.git --path charting-vega-lite--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add oaustegard/claude-skills --skill charting-vega-lite -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install oaustegard/claude-skills charting-vega-lite --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/charting-vega-lite .gemini/skills/charting-vega-lite && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "charting-vega-lite" agent skill from https://github.com/oaustegard/claude-skills/tree/main/charting-vega-lite into .gemini/skills/charting-vega-lite/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "charting-vega-lite", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install oaustegard/claude-skills charting-vega-liteInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add oaustegard/claude-skills --skill charting-vega-lite -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/charting-vega-lite .github/skills/charting-vega-lite && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "charting-vega-lite" agent skill from https://github.com/oaustegard/claude-skills/tree/main/charting-vega-lite into .github/skills/charting-vega-lite/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "charting-vega-lite", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add oaustegard/claude-skills --skill charting-vega-lite -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install oaustegard/claude-skills charting-vega-lite --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/charting-vega-lite .opencode/skills/charting-vega-lite && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "charting-vega-lite" agent skill from https://github.com/oaustegard/claude-skills/tree/main/charting-vega-lite into .opencode/skills/charting-vega-lite/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "charting-vega-lite", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
charting-vega-liteBuilds interactive Vega-Lite charts from uploaded data: analyzes the fields, picks five to ten fitting chart types, and produces a React artifact with the data embedded inline.
This skill turns an uploaded data file into a set of interactive Vega-Lite visualizations. Its main workflow runs a data-analysis script to get field types, statistics, suggested charts and sample rows, falling back to manual pandas analysis if the script fails. The agent then reads column names and samples to judge what the data represents, such as biomedical, financial, sensor or e-commerce data, and what questions an analyst would ask of it.
From the suggestions it selects five to ten meaningful chart types using readability filters: skipping pie charts with more than 7 categories, aggregating heatmaps with over 50 categories per axis, and considering facets for more than 10 line series. Specs are built programmatically and wrapped in a React artifact. A key constraint is that Claude artifacts cannot fetch data files, so data is embedded as an inline JavaScript constant. The skill ships templates for area, bar, heatmap, line, pie and scatter charts, a ChartExplorer component, and reference guides on chart types, customization and advanced charts.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 63d432e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Vega-Lite Interactive Charts loads about 2.1k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 114 tokens; SKILL.md has 758 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from oaustegard/claude-skills at commit 63d432e, republished under its MIT licence (© oaustegard). 758 words, ~2,095 tokens.
.claude/skills/charting-vega-lite/SKILL.md (or your agent's skills folder). This skill also uses 19 other files; get the full folder from GitHub.This skill creates interactive Vega-Lite visualizations from uploaded data. The workflow:
Claude artifacts cannot use fetch() for computer:// URLs.
All data must be embedded as an inline JavaScript constant:
const DATA = [ /* embedded data array */ ];
// Later in chart specs:
spec.data = { values: DATA };DO NOT:
This is the only pattern that works in Claude's artifact environment.
Execute this sequence when user uploads data without specifying chart type:
python /mnt/skills/user/charting-vega-lite/scripts/analyze_data.py /mnt/user-data/uploads/<filename>Extract from output:
fields[] (with types and statistics)suggested_charts[] (suggested chart types with encodings)sample_data (first 10 rows for understanding context)If script fails: Use manual pandas analysis
import pandas as pd
df = pd.read_csv('/mnt/user-data/uploads/<filename>')
# Classify: numeric→quantitative, datetime→temporal, <20 unique→nominalRead sample data and column names to infer what the data represents:
Ask: What questions would someone analyzing this data want answered?
Examples:
Filter analyze_data.py suggestions based on context and readability:
Apply readability filters:
Prioritize charts that answer domain questions:
Don't suggest charts just because data types match - choose charts that reveal insights.
Build specs programmatically using analyze_data.py encodings:
For each suggested chart type, construct spec using:
assets/templates/ for basic types (bar, line, scatter, pie, heatmap, area)references/spec-builder-patterns.md for variations (histogram, boxplot, grouped-bar, etc.)references/vega-lite-examples-inventory.md for uncommon typesStructure each chart as:
{"type": "Chart Name", "reason": "Why this chart", "spec": {/* vega-lite spec */}}Load data, read template, replace __DATA__ and __CHART_SPECS__ placeholders, write using bash heredoc.
[View chart explorer](computer:///mnt/user-data/outputs/ChartExplorer.jsx)
Created 7 contextually relevant charts for your data.When user specifies chart type (e.g., "make a bar chart"):
python /mnt/skills/user/charting-vega-lite/scripts/analyze_data.py /mnt/user-data/uploads/<filename>Check requirements:
If data doesn't fit:
Use templates or programmatic builders based on chart type complexity.
Same pattern as Primary Workflow step 5, but with single chart.
Common failures:
Using fetch() in artifacts
Chart doesn't render
spec.data = {values: DATA}Generic/random chart suggestions
Scripts:
scripts/analyze_data.py - analyze structure, suggest 8-12 chart typesComponents:
assets/components/ChartExplorer.jsx - multi-chart explorer templateTemplates:
assets/templates/*.json - 6 basic chart templates (bar, line, scatter, pie, heatmap, area)References - Progressive Disclosure:
Read spec-builder-patterns.md when building charts programmatically (histogram, boxplot, grouped/stacked bars, multi-line, etc.)
Read vega-lite-examples-inventory.md when user requests uncommon chart type not in spec-builder-patterns
Read chart-types.md when validating specific chart requirements or user asks "what chart should I use for..."
Read advanced-charts.md for complete specs of specialized charts (sankey, waterfall, violin plots, complex layered compositions)
Read contextual-chart-selection.md for extended domain examples if unfamiliar with data domain (biomedical, financial, IoT, etc.)
Read online-resources.md to fetch Vega-Lite docs for advanced features (custom selections, transforms, conditional encoding)
User uploads assay data CSV (51 assays, 74 samples)
# 1. Analyze
python /mnt/skills/user/charting-vega-lite/scripts/analyze_data.py /mnt/user-data/uploads/assay_data.csv
# 2. Understand context: Multi-analyte immunoassay
# Questions: Which biomarkers strongest? Patterns across samples? Variability?
# 3. Build contextual charts (5-7 specs)
# Bar: Mean signal by assay
# Heatmap: Sample × Assay
# Box plot: Signal distribution by assay
# Histogram: Overall signal distribution
# etc.
# 4. Load data and template
df = pd.read_csv('/mnt/user-data/uploads/assay_data.csv')
data = df.to_dict(orient='records')
template = open('/mnt/skills/user/charting-vega-lite/assets/components/ChartExplorer.jsx').read()
# 5. Replace placeholders and write
artifact = template.replace('__DATA__', json.dumps(data)).replace('__CHART_SPECS__', json.dumps(charts))
# Use bash heredoc to avoid XML conflicts in tool parameters
# 6. Provide linkView chart explorer
Created 7 charts for your assay data - bar charts show biomarker signals, heatmap reveals sample patterns, box plots display variability.
© oaustegard, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 19 other files (scripts, references, assets) in charting-vega-lite of oaustegard/claude-skills.
Open the folder on GitHubat commit 63d432e
Vega-Lite Interactive Charts next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Vega-Lite Interactive Charts this skilloaustegard/claude-skills | 150 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Python Executorcortega26/chile-hub | 113 | 2 repos | ~1.5k | Automated safety check: Pass | MIT | |
| Analytics Data AnalysisMindrally/skills | 271 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Pandas ProJeffallan/claude-skills | 12k | 1 repos | ~1.5k | Automated safety check: Pass | MIT | |
| Raccoon DataanalysisSenseTime-Copilot/raccoon-dataanalysis-skill | 137 | — | ~1.9k | Automated safety check: Pass | None | |
| Statistical Data Analysislingzhi227/agent-research-skills | 390 | — | ~886 | Automated safety check: Pass | None |
cortega26/chile-hub
Execute Python code in a safe sandboxed environment via [inference.sh](https://inference.sh).
Mindrally/skills
Best practices for analytics, data analysis, and visualization using Python, pandas, matplotlib, seaborn, and Jupyter notebooks.
Jeffallan/claude-skills
Handles pandas DataFrame work: cleaning, merging, groupby aggregation, pivots, time-series resampling and memory tuning, with checks on dtypes, shapes and nulls.
SenseTime-Copilot/raccoon-dataanalysis-skill
Raccoon (小浣熊) Data Analysis - Remote code interpreter and data visualization service powered by SenseTime.
lingzhi227/agent-research-skills
Writes statistical analysis code for experimental data, runs it through a four-round review, and reports effect sizes, p-values and confidence intervals.
Ali-Marandi/ClimateDataAnalyzer
Build an auditable release-evidence workflow for a desktop or packaged application.
oaustegard/claude-skills
Builds self-contained single-file HTML pages such as reports, decks, postmortems, flowcharts and prototypes from a small spec using a bundled Python composer and templates.
oaustegard/claude-skills
Routes, triages, flags and rates a piece of text with a probability for every option: which department or queue a ticket goes to, which intent a message expresses, whether a yes/no condition holds…
oaustegard/claude-skills
Rewrites model-sounding prose into plain technical writing and checks that every claim survives, for PR text, docs, commit messages and similar drafts.
oaustegard/claude-skills
Guides building standards-based Preact apps with native-first choices, HTM syntax, import maps and vendored ESM, from single-file demos to larger builds.
oaustegard/claude-skills
Deprecated sampler that captures short windows of the Bluesky firehose, clusters trending terms and builds an HTML report; replaced by the browsing-bluesky skill.
oaustegard/claude-skills
Has a fresh-context adversary attack a blog post, recommendation, analysis brief or piece of code before you ship it, using a profile suited to that kind of artifact.
Categories
Builds interactive Vega-Lite charts from uploaded data: analyzes the fields, picks five to ten fitting chart types, and produces a React artifact with the data embedded inline. This skill turns an uploaded data file into a set of interactive Vega-Lite visualizations. Its main workflow runs a data-analysis script to get field types, statistics, suggested charts and sample rows, falling back to manual pandas analysis if the script fails.
Vega-Lite Interactive Charts fits situations like: visualizing an uploaded CSV with several suitable chart types; requesting a specific chart type such as a boxplot or stacked bar; producing portable Vega-Lite JSON specs with embedded data.
Run `npx skills add oaustegard/claude-skills --skill charting-vega-lite -a claude-code`. Or copy the skill folder (charting-vega-lite in oaustegard/claude-skills) into .claude/skills/charting-vega-lite in your project. Claude Code loads it when a task matches its description.
Run `npx skills add oaustegard/claude-skills --skill charting-vega-lite -a codex`. Or copy the skill folder (charting-vega-lite in oaustegard/claude-skills) into .agents/skills/charting-vega-lite in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add oaustegard/claude-skills --skill charting-vega-lite -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/charting-vega-lite, .gemini/skills/charting-vega-lite, .github/skills/charting-vega-lite and .opencode/skills/charting-vega-lite in your project.
Going by SKILL.md and its folder, Vega-Lite Interactive Charts needs the command-line tools its instructions call (python). Our summary lists: Python with pandas for the data analysis script.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Vega-Lite Interactive Charts is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 16k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Vega-Lite Interactive Charts: Python Executor (cortega26/chile-hub, 113 stars), Analytics Data Analysis (Mindrally/skills, 271 stars), Pandas Pro (Jeffallan/claude-skills, 12k stars) and Raccoon Dataanalysis (SenseTime-Copilot/raccoon-dataanalysis-skill, 137 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
oaustegard (a GitHub user) maintains it in oaustegard/claude-skills, which has 150 GitHub stars. The repository holds 67 skills in this directory. The repository was last updated on October 10, 2026.
Source: oaustegard/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.