Thanks for your interest in improving the matplotlib skill.
git clone https://github.com/tvhahn/matplotlib-skill.git
cd matplotlib-skill
uv syncSkill files live in skills/matplotlib/ (also available via symlink at .claude/skills/matplotlib/):
SKILL.md-- persona, workflow, code generation rulesstyle-reference.md-- full style spec (palettes, sizing, conventions)patterns/P1-horizontal-bar.mdthroughpatterns/P9-pr-roc.md-- one file per chart type
- Edit the pattern file in
skills/matplotlib/patterns/ - Run a clean-room test:
scripts/chart-test-container.sh --quick - Create a gallery entry in
docs/gallery/NN-name/followingdocs/gallery/TEMPLATE.md - Include before/after PNGs in your PR
- Create
patterns/P{N}-{name}.mdfollowing the structure of existing patterns - Add it to the pattern index table in
SKILL.md - Add test prompts to
scripts/chart-test-container.sh - Run a full test:
scripts/chart-test-container.sh
These are immutable and must not change:
sns.set_theme(font_scale=1.0, style="whitegrid", font="DejaVu Sans")
sns.despine(left=True, bottom=True)If you believe these should change, open an issue to discuss first.
# Docker clean room (primary verification)
scripts/chart-test-container.sh --quick # 5 prompts, random from pools
scripts/chart-test-container.sh # all 9 prompts, random from pools
scripts/chart-test-container.sh --fixed # all 9 prompts, original defaults
# Static analysis (fast, no Docker)
uv run scripts/evaluate_skill.py --check-renders- One logical change per PR
- Include before/after PNGs for any visual change
- Run
scripts/chart-test-container.sh --quickbefore submitting - Keep commit messages concise and descriptive
By contributing, you agree that your contributions will be licensed under the MIT License.