By RubenBranco
Download and generate plots from Weights & Biases runs (skill + CLI scripts)
This skill comes from a personal necessity. I use Claude and Codex a lot to crunch experiment analysis, and I couldn't find a skill that could download plots from W&B. W&B does have an MCP but it doesn't download plots, only data, as far as I know.
Disclaimer: This was 99.9% vibe-coded using Claude Code and Codex.
Download and generate plots from Weights & Biases runs. This repository ships a skill and CLI scripts for:
The implementation lives in skills/wandb-plot/.
This repo is a Claude Code plugin (manifest at .claude-plugin/plugin.json) and uses the skill file at skills/wandb-plot/SKILL.md.
The easiest way to install this plugin is through the marketplace:
Add the marketplace (one-time setup):
/plugin marketplace add RubenBranco/WANDB-Plot-Skill
Install the plugin:
/plugin install wandb-plot
That's it! The plugin will be automatically installed and ready to use.
If you want to install directly from this repository:
git clone https://github.com/RubenBranco/WANDB-Plot-Skill.git
cc --plugin-dir /path/to/WANDB-Plot-Skill
After installing the plugin (either method), you'll need to install Python dependencies from skills/wandb-plot/ (see "Python Package" section below).
See .codex/INSTALL.md for detailed Codex installation instructions.
Using uv (recommended):
cd skills/wandb-plot
uv pip install -e .
Using pip (fallback):
cd skills/wandb-plot
pip install -r requirements.txt
Use a non-interactive auth method:
export WANDB_API_KEY=your_key_here
# Run scripts from within the package directory
cd skills/wandb-plot
# 1. List projects for your default entity
python3 scripts/list_projects.py --limit 10
# 2. List available runs in a project
python3 scripts/list_runs.py my-org/my-project --limit 10
# 3. View available metrics for a specific run
python3 scripts/list_metrics.py my-org/my-project run-id-123
# 4. Try downloading existing plots (faster)
python3 scripts/download_plots.py my-org/my-project run-id-123
# 5. Generate plots from raw data
python3 scripts/generate_plots.py my-org/my-project run-id-123 --metrics loss,accuracy
# 6. Compare runs with W&B-style EMA smoothing (default)
python3 scripts/generate_plots.py my-org/my-project run-a,run-b --metrics reward/total_mean --ema-weight 0.99 --viewport-scale 1000
# 7. Group outputs by metric prefix
python3 scripts/generate_plots.py my-org/my-project run-a,run-b --metrics rewards/total_mean,rewards/total_std --output /path/to/folder --group-by-prefix
# 8. Plot all metrics (excludes system metrics unless --include-system is set)
python3 scripts/generate_plots.py my-org/my-project run-a,run-b --all-metrics --output /path/to/folder --group-by-prefix
Default output directory:
wandb_plots/
└── <entity>_<project>/
└── <run_name>_<run_id>/
├── loss.png
├── accuracy.png
└── metadata.json
# Run tests from within the package directory
cd skills/wandb-plot
# Install dev dependencies
uv pip install -e ".[dev]"
# Run unit tests (no network)
pytest tests/ -v -m "not integration"
# Run integration tests (requires WANDB_API_KEY)
pytest tests/ -v -m integration
skills/wandb-plot/SKILL.mdOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub joshuarweaver/cascade-ai-ml-engineering --plugin rubenbranco-wandb-plot-skillAuthor manim-slides 5.6.0 presentations and convert to RevealJS HTML / PPTX / PDF.
Create data visualizations and plots
ML experiment tracking with metrics logging and run comparison
MCP server for advanced data visualization and plotting operations
Site generation skills for the OpenDataHub Skills Registry
Discovers experiments from git/output folders, collects images and metrics, generates PowerPoint presentations.
Ultra-compressed communication mode. Cuts 65% of output tokens (measured) while keeping full technical accuracy by speaking like a caveman.