Agent skill · Data & Analytics

blog-chart

Generate dark-mode-compatible inline SVG data visualization charts for blog posts. Supports horizontal bar, grouped bar, donut, line, lollipop, area, and radar charts with automatic platform detection (HTML vs JSX/MDX). Enforces chart type diversity, accessible markup (role=img, aria-labelledby), source attribution, and transparent backgrounds. Use when user says "blog chart", "generate chart", "data visualization", "svg chart", "blog graph", or "visualize data".

AgriciDanielgithub.com/AgriciDanielGitHub ↗
claude-codeships scriptsMIT
Install
npx skills add AgriciDaniel/claude-blog --skill blog-chart --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 10 KB
Bundled scripts: yes
Path: skills/blog-chart/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 1,566
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Blog Chart: Built-In SVG Data Visualization Generates dark-mode-compatible inline SVG charts for blog posts. Invoked internally by `blog-write` and `blog-rewrite` when chart-worthy data is identified. Not a standalone user-facing command. **Styling source of truth:** `skills/blog/references/visual-media.md` For supported chart types, prefer the deterministic CLI: ```bash python3 skills/blog-chart/scripts/generate_chart_svg.py --input chart.json --output chart.html --json ``` ## Input Format The writer or researcher passes a chart request: ``` Chart Request: - Type: horizontal bar - Title: "Quarterly Signups by Product" - Data: Product A 420, Product B 315, Product C 180 - Source: [Verified source], [publication date] - Platform: mdx (or html) ``` ## Chart Type Selection Select based on the data pattern. Prefer chart type diversity, but repeat a type when comparability or reader comprehension clearly benefits. | Data Pattern | Best Chart Type | |-------------|-----------------| | Before/after comparison | Grouped bar chart | | Ranked factors / correlations | Lollipop chart | | Parts of whole / market share | Donut chart | | Trend over time | Line chart | | Percentage improvement |

What's inside
Steps it walks through
  1. Input Format
  2. Chart Type Selection
  3. Styling Rules (Non-Negotiable)
  4. Color Palette
  5. Standard SVG Shell (HTML)
  6. JSX/MDX Shell (camelCase attributes)
  7. JSX Attribute Conversion (Required for MDX)
  8. Chart Type Construction
  9. Horizontal Bar Chart
  10. Grouped Bar Chart
  11. Donut Chart
  12. Line Chart
  13. Lollipop Chart
  14. Area Chart
Ships with 1 file
  • scripts/generate_chart_svg.py
Commands it runs
python3 skills/blog-chart/scripts/generate_chart_svg.py --input chart.json --output chart.html --json
More from claude-blog
All skills →
About this skill
What does the blog-chart skill do?

Generate dark-mode-compatible inline SVG data visualization charts for blog posts. Supports horizontal bar, grouped bar, donut, line, lollipop, area, and radar charts with automatic platform detection (HTML vs JSX/MDX). Enforces chart type diversity, accessible markup (role=img, aria-labelledby), source attribution, and transparent backgrounds. Use when user says "blog chart", "generate chart", "data visualization", "svg chart", "blog graph", or "visualize data".

How do I install it?

Run `npx skills add AgriciDaniel/claude-blog --skill blog-chart --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From AgriciDaniel/claude-blog, a repository with 1,566 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going