Skip to content

Commit 743599b

Browse files
feat: enhance documentation with colorblind-safe color palettes
- Added colorblind-safe color options for various plotting libraries - Updated font size guidelines for text elements in the style guide - Revised Python version requirement in development documentation - Clarified reserved documentation sections for future use
1 parent 3343bf7 commit 743599b

14 files changed

Lines changed: 171 additions & 2171 deletions

agentic/commands/update.md

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,24 @@ For each updated library, edit `plots/{spec_id}/metadata/{library}.yaml`:
133133
| `updated` | Current UTC timestamp in ISO 8601 (e.g., `2026-02-10T14:30:00+00:00`) |
134134
| `generated_by` | Get from `CLAUDE_MODEL` env var, or detect via `claude --version` / model name |
135135
| `python_version` | Get from `uv run python --version` |
136-
| `library_version` | Get from `uv run python -c "from importlib.metadata import version; print(version('{package}'))"` where `{package}` is the pip package name. Mapping: `highcharts``highcharts-core`, `letsplot``lets-plot`, all others → same as `{library}` |
136+
| `library_version` | Get from `uv run python -c "from importlib.metadata import version; print(version('{package}'))"` where `{package}` is the pip package name (see mapping table below) |
137137
| `quality_score` | Set to `null` (CI review will fill this) |
138138
| All other fields | **Keep unchanged** (including `review`, `impl_tags`, `preview_url`, etc.) |
139139

140+
**Library → Pip Package Mapping:**
141+
142+
| Library | Pip Package Name |
143+
|---------|-----------------|
144+
| matplotlib | `matplotlib` |
145+
| seaborn | `seaborn` |
146+
| plotly | `plotly` |
147+
| bokeh | `bokeh` |
148+
| altair | `altair` |
149+
| plotnine | `plotnine` |
150+
| pygal | `pygal` |
151+
| highcharts | `highcharts-core` |
152+
| letsplot | `lets-plot` |
153+
140154
#### 5c. Update Implementation Header
141155

142156
For each updated library, ensure the implementation file starts with:
@@ -186,10 +200,12 @@ if [ -f "plots/{spec_id}/implementations/.update-preview/{library}/plot.html" ];
186200
fi
187201
```
188202

189-
Update `preview_url` and `preview_thumb` in the metadata YAML to point to the staging URLs:
203+
Update `preview_url` and `preview_thumb` in the metadata YAML to point to the **production** URLs
204+
(matching `impl-generate.yml` — production URLs are set from the start, `impl-merge.yml` promotes
205+
GCS files from staging to production on merge):
190206

191-
- `preview_url`: `https://storage.googleapis.com/pyplots-images/staging/{spec_id}/{library}/plot.png`
192-
- `preview_thumb`: `https://storage.googleapis.com/pyplots-images/staging/{spec_id}/{library}/plot_thumb.png`
207+
- `preview_url`: `https://storage.googleapis.com/pyplots-images/plots/{spec_id}/{library}/plot.png`
208+
- `preview_thumb`: `https://storage.googleapis.com/pyplots-images/plots/{spec_id}/{library}/plot_thumb.png`
193209

194210
#### 5f. Clean Up Preview Directory
195211

@@ -315,6 +331,20 @@ like.
315331
- **Quality criteria** (`prompts/quality-criteria.md`)
316332
- **The specification** (`plots/{SPEC_ID}/specification.md`)
317333

334+
**Common conflict types:**
335+
336+
| Conflict | Example | Rule Source |
337+
|----------|---------|-------------|
338+
| KISS violation | "Add a function to generate data" | `plot-generator.md` |
339+
| Wrong output format | "Save as SVG" | `plot-generator.md` |
340+
| Cross-library plotting | "Use matplotlib in plotnine" | `plot-generator.md` |
341+
| Controversial data | "Use election results as data" | `plot-generator.md` |
342+
| Spec mismatch | "Make it a bar chart" when spec says scatter | `specification.md` |
343+
| Title format | Custom title without spec-id | `plot-generator.md` |
344+
| Library-specific | Violates a rule in library file | `library/{LIBRARY}.md` |
345+
346+
If none of these apply, proceed to Step 3.
347+
318348
If you detect a conflict, **DO NOT proceed with the change.** Instead, report the conflict to `update-lead` via `SendMessage`:
319349

320350
```
@@ -342,10 +372,17 @@ Edit `plots/{SPEC_ID}/implementations/{LIBRARY}.py`:
342372
- KISS structure: imports → data → plot → save
343373
- Preserve review strengths, fix weaknesses
344374
- Address the user's specific request: **{DESCRIPTION}**
345-
- If no specific request was given, focus on fixing review weaknesses and improving quality score
346-
347-
If the specification itself needs changes to make the plot better, also edit `plots/{SPEC_ID}/specification.md` and
348-
explain what you changed and why.
375+
- If no specific request was given, perform a comprehensive review across these dimensions:
376+
1. **Code Quality** — Cleanliness, variable names, unnecessary complexity, helpful comments
377+
2. **Data Choice** — Realistic data that showcases the plot type well, shows ALL features (e.g., outliers for boxplots, multiple trends for line charts), appropriate ranges/scales
378+
3. **Visual Design** — Colors, legibility at 4800x2700 canvas, layout balance, grid subtlety, marker sizing for data density
379+
4. **Spec Compliance** — Point-by-point check against `specification.md`
380+
5. **Library Feature Usage** (LF-01) — Does the code leverage distinctive library strengths? Basic usage is not enough
381+
6. **Code Transferability** — Can a user easily adapt this to their own data? Clear separation of data vs. plot logic? Meaningful variable names?
382+
- **No changes for the sake of changes:** If you find nothing meaningful to improve, report "no improvements needed" and leave the code unchanged. Do not make cosmetic or unnecessary changes just to show activity.
383+
384+
If the specification genuinely needs changes to improve the result, edit `plots/{SPEC_ID}/specification.md` and
385+
explain what you changed and why. Do not edit the spec just for the sake of change.
349386

350387
### Step 4: Generate Locally
351388

0 commit comments

Comments
 (0)