From smart-blog-skills
Generates dark-mode-compatible inline SVG charts (bar, donut, line, area, radar, lollipop) for blog posts with accessible markup and auto-detection of HTML vs JSX/MDX.
How this skill is triggered — by the user, by Claude, or both
Slash command
/smart-blog-skills:chartThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generates dark-mode-compatible inline SVG charts for blog posts. Invoked
Generates dark-mode-compatible inline SVG charts for blog posts. Invoked
internally by write and rewrite when chart-worthy data is identified.
Styling source of truth: references/visual-media.md
Select based on the data pattern. Diversity is mandatory - never repeat a type within one post.
| 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 | Horizontal bar chart |
| Distribution / range | Area chart |
| Multi-dimensional scoring | Radar chart |
All charts must work on both dark and light backgrounds:
Text elements: fill="currentColor"
Grid lines: stroke="currentColor" opacity="0.08"
Axis lines: stroke="currentColor" opacity="0.3"
Background: transparent (no fill on root SVG)
Subtitle text: fill="currentColor" opacity="0.45"
Source text: fill="currentColor" opacity="0.35"
Label text: fill="currentColor" opacity="0.8"
| Color | Hex | Use Case |
|---|---|---|
| Orange | #f97316 | Primary / highest value |
| Sky Blue | #38bdf8 | Secondary / comparison |
| Purple | #a78bfa | Tertiary / special category |
| Green | #22c55e | Quaternary / positive indicator |
<svg
viewBox="0 0 560 380"
style="max-width: 100%; height: auto; font-family: 'Inter', system-ui, sans-serif"
role="img"
aria-label="Chart description with key data point"
>
<title>Chart Title</title>
<desc>Description for screen readers with all key data points and source</desc>
<!-- Chart content -->
<text x="280" y="372" text-anchor="middle" font-size="10" fill="currentColor" opacity="0.35">
Source: Source Name (Year)
</text>
</svg>
<svg
viewBox="0 0 560 380"
style={{maxWidth: '100%', height: 'auto', fontFamily: "'Inter', system-ui, sans-serif"}}
role="img"
aria-label="Chart description"
>
<title>Chart Title</title>
<desc>Description for screen readers</desc>
<text x="280" y="372" textAnchor="middle" fontSize="10" fill="currentColor" opacity="0.35">
Source: Source Name (Year)
</text>
</svg>
| HTML | JSX |
|---|---|
stroke-width | strokeWidth |
text-anchor | textAnchor |
font-size | fontSize |
font-weight | fontWeight |
class | className |
style="..." | style={{...}} |
Wrap every chart in a <figure> element:
HTML:
<figure>
<svg viewBox="0 0 560 380" style="max-width: 100%; height: auto;" role="img" aria-label="[description]">
<title>[Chart Title]</title>
<desc>[Full description for screen readers]</desc>
<!-- chart content -->
<text x="280" y="372" text-anchor="middle" font-size="10" fill="currentColor" opacity="0.35">
Source: [Source Name] ([Year])
</text>
</svg>
</figure>
currentColor)role="img" and aria-label present on <svg><title> and <desc> present inside <svg>0 0 560 380 (standard) or justified alternativenpx claudepluginhub rainday/smart-blog-skills --plugin smart-blog-skillsGenerates dark-mode-compatible inline SVG data visualization charts for blog posts. Supports bar, donut, line, lollipop, area, and radar charts with accessible markup and automatic platform detection.
Generate dark-mode-compatible inline SVG charts for nexus-agents docs from quantitative data like CLI metrics, fitness scores, and pass-rates.
Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG via Apache ECharts v6 and headless Chromium. Offers 5 style presets, highlight annotations, and retina quality output.