https://github.com/dazhiyang/scientific-plotting-skill
AI skill: publication-ready ggplot2 / plotnine figures, vector PDF, Wong + viridis.
https://github.com/dazhiyang/scientific-plotting-skill
colorblind cursor-rules ggplot2 latex pdf plotnine scientific-publications scientific-visualization
Last synced: 16 days ago
JSON representation
AI skill: publication-ready ggplot2 / plotnine figures, vector PDF, Wong + viridis.
- Host: GitHub
- URL: https://github.com/dazhiyang/scientific-plotting-skill
- Owner: dazhiyang
- License: mit
- Created: 2026-04-18T04:57:12.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-18T05:55:16.000Z (2 months ago)
- Last Synced: 2026-04-18T07:10:13.992Z (2 months ago)
- Topics: colorblind, cursor-rules, ggplot2, latex, pdf, plotnine, scientific-publications, scientific-visualization
- Homepage:
- Size: 18.6 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📊 Scientific Publication Plotter (AI Skill)
[](https://github.com/dazhiyang/scientific-plotting-skill/blob/main/LICENSE)
[](SKILL.md)
[]()
[](https://github.com/dazhiyang/scientific-plotting-skill)
## Overview
This repo ships **one** skill file, [`SKILL.md`](SKILL.md). Point your coding agent at it when you want **publication-style** figures: **ggplot2** in R or **plotnine** in Python, **vector PDF**, journal-friendly widths (**85 mm** / **180 mm**), **Wong** discrete colors, **viridis** with quantile splits for continuous color, and typography rules (single font size, **no plot title**—caption in the manuscript instead).
No bundled scripts: the agent generates code in your project from the rules in `SKILL.md`.
---
## Features
| | |
| :--- | :--- |
| 📏 **Sizing** | Default **85 mm** single column, **180 mm** when you need double column; prefer **flat** figures unless x and y are the same quantity. |
| 🔤 **Typography** | **Times** serif, **one** point size for **all** figure text; **no** plot title or subtitle on the canvas. |
| 📄 **Export** | **Vector PDF** (or EPS); raster only as an optional preview. |
| 🎨 **Color** | **Wong** order for discrete (≤8); **viridis** family + **equal-count quantiles** for continuous fields. |
| 🌐 **Stack** | **ggplot2** (R) and **plotnine** (Python) only for the figure code. |
| 🗺️ **Heavy plots** | Guidance for **dense scatter** (e.g. **scattermore** in R) and **low-resolution** map outlines so PDFs stay light. |
---
## Example prompts
Use wording close to your real task so the agent picks up the skill:
- *“Read `SKILL.md` and plot this CSV for my manuscript—single column PDF, ggplot2.”*
- *“Publication-style plotnine figure, Wong colors, vector output.”*
- *“Journal figure: 85 mm wide, no title, Times, save PDF.”*
---
## How to use
### 🖱️ Cursor
1. 📋 Copy **`SKILL.md`** into your **`.cursor/rules/`** folder.
2. ✏️ Rename it to **`SKILL.mdc`**.
3. 💬 Ask the AI to follow the skill (e.g. *“Plot my data for the manuscript.”*).
### 🤖 Claude Code, Copilot, and other agents
1. 📁 Add **`SKILL.md`** at the **root** of your project (or path your agent reads).
2. 💬 Ask the model to use it (e.g. *“Read `SKILL.md` and plot the attached data.”*).
### 🛸 Google Antigravity
Antigravity loads **Agent Skills** from a folder that contains `SKILL.md` (see Google’s [Authoring Antigravity Skills](https://codelabs.developers.google.com/getting-started-with-antigravity-skills) codelab). This repo’s `SKILL.md` includes YAML **frontmatter** (`name`, `description`) so the agent can match plotting tasks.
**Project-only (recommended)**
1. 📂 Create e.g. **`.agent/skills/scientific-publication-plotter/`** in your repo.
2. 📋 Copy **`SKILL.md`** there (path must end with **`SKILL.md`**).
3. 💬 Ask for a manuscript-style figure in chat; the skill should load when the request matches the description.
**All projects on this machine**
1. 📂 Create **`~/.gemini/antigravity/skills//`** and place **`SKILL.md`** inside.
**Optional — rules UI:** **Agent Manager → ⋮ → Additional options → Customizations** for **`GEMINI.md`** / **`AGENTS.md`** ([Antigravity rules](https://antigravity.codes/blog/user-rules)). Pasting the body of `SKILL.md` there is possible; **`.agent/skills/…`** keeps the skill **on-demand**.
---
## License
MIT — see [`LICENSE`](LICENSE).