skills/datavis/SKILL.md
Create scientific plots and visualizations using matplotlib and seaborn
npx skillsauth add lamm-mit/scienceclaw datavisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create publication-quality scientific plots and visualizations using matplotlib and seaborn.
This skill provides data visualization capabilities for scientific data:
python3 {baseDir}/scripts/plot_data.py line --data data.csv --x time --y value --output plot.png
python3 {baseDir}/scripts/plot_data.py scatter --data data.csv --x x_col --y y_col --hue group
python3 {baseDir}/scripts/plot_data.py heatmap --data matrix.csv --output heatmap.png
python3 {baseDir}/scripts/plot_data.py bar --data data.csv --x category --y value
python3 {baseDir}/scripts/plot_data.py line --json '{"x": [1,2,3], "y": [4,5,6]}'
Line plot for continuous data.
| Parameter | Description | Default |
|-----------|-------------|---------|
| --data | CSV file path | - |
| --json | JSON data string | - |
| --x | X-axis column | Required |
| --y | Y-axis column(s), comma-separated | Required |
| --hue | Color grouping column | - |
| --style | Line style column | - |
| --markers | Add markers | False |
Scatter plot for showing relationships.
| Parameter | Description | Default |
|-----------|-------------|---------|
| --data | CSV file path | - |
| --x | X-axis column | Required |
| --y | Y-axis column | Required |
| --hue | Color grouping column | - |
| --size | Size column | - |
| --alpha | Point transparency | 0.7 |
Bar chart for categorical data.
| Parameter | Description | Default |
|-----------|-------------|---------|
| --data | CSV file path | - |
| --x | Category column | Required |
| --y | Value column | Required |
| --hue | Color grouping column | - |
| --horizontal | Horizontal bars | False |
| --error | Error bar column | - |
Heatmap for matrix data.
| Parameter | Description | Default |
|-----------|-------------|---------|
| --data | CSV file path | Required |
| --cmap | Color map | viridis |
| --annotate | Show values | False |
| --cluster | Cluster rows/columns | False |
Box plot for distributions.
| Parameter | Description | Default |
|-----------|-------------|---------|
| --data | CSV file path | - |
| --x | Grouping column | - |
| --y | Value column | Required |
| --hue | Color grouping column | - |
Violin plot for distributions.
| Parameter | Description | Default |
|-----------|-------------|---------|
| --data | CSV file path | - |
| --x | Grouping column | - |
| --y | Value column | Required |
| --hue | Color grouping column | - |
| --split | Split violins by hue | False |
Histogram for distributions.
| Parameter | Description | Default |
|-----------|-------------|---------|
| --data | CSV file path | - |
| --x | Value column | Required |
| --bins | Number of bins | auto |
| --kde | Add KDE line | False |
| --hue | Color grouping column | - |
| Option | Description | Default |
|--------|-------------|---------|
| --output | Output file path | plot.png |
| --format | Output format: png, svg, pdf | png |
| --title | Plot title | - |
| --xlabel | X-axis label | column name |
| --ylabel | Y-axis label | column name |
| --figsize | Figure size (width,height) | 10,6 |
| --style | Seaborn style | whitegrid |
| --palette | Color palette | deep |
| --dpi | Output resolution | 150 |
| --legend | Legend position | auto |
| --logx | Log scale X-axis | False |
| --logy | Log scale Y-axis | False |
python3 {baseDir}/scripts/plot_data.py line --data timeseries.csv --x date --y "temp,humidity" --title "Weather Data" --output weather.png
python3 {baseDir}/scripts/plot_data.py scatter --data experiment.csv --x dose --y response --hue treatment --title "Dose Response" --output dose_response.png
python3 {baseDir}/scripts/plot_data.py heatmap --data expression.csv --cluster --cmap RdBu_r --title "Gene Expression" --output heatmap.svg --format svg
python3 {baseDir}/scripts/plot_data.py box --data measurements.csv --x condition --y value --hue treatment --title "Treatment Effects"
python3 {baseDir}/scripts/plot_data.py histogram --data samples.csv --x measurement --bins 30 --kde --title "Distribution"
python3 {baseDir}/scripts/plot_data.py scatter --data results.csv --x x --y y --figsize 8,6 --dpi 300 --format svg --style white --output figure1.svg
--dpi 300 for high-resolution figurestools
Onboard and manage Paperclip AI for research-paper knowledge and agent orchestration
development
Perform AI-powered web searches with real-time information using Perplexity models via LiteLLM and OpenRouter. This skill should be used when conducting web searches for current information, finding recent scientific literature, getting grounded answers with source citations, or accessing information beyond the model knowledge cutoff. Provides access to multiple Perplexity models including Sonar Pro, Sonar Pro Search (advanced agentic search), and Sonar Reasoning Pro through a single OpenRouter API key.
testing
Generate a structured scientific PDF report from a JSON description. Accepts a JSON file specifying title, authors, abstract, sections (headings, text, tables, figures), and inline data panels (heatmap, bar, scatter, line). Produces a publication-style A4 PDF using reportlab with no LaTeX dependency. All figures are either loaded from PNG paths or generated on-the-fly from inline data.
development
Execute arbitrary Python code and return stdout. NumPy, pandas, scipy, matplotlib, and other scientific libraries are available.