Diagram Drawing
by cpantus
Creates animated diagrams and professional infographics using Chart.js 4.x with: Auto-activates when user mentions: diagram, chart, graph, infographic, visualization, data visualization, data viz, line chart, bar chart, pie chart
Skill Details
Repository Files
1 file in this skill directory
name: "diagram-drawing" description: "Creates animated diagrams and professional infographics using Chart.js 4.x with: Auto-activates when user mentions: diagram, chart, graph, infographic, visualization, data visualization, data viz, line chart, bar chart, pie chart"
Diagram Drawing
MANDATORY PRE-WORK CHECKLIST
YOU MUST complete this checklist BEFORE applying this skill:
[ ] 1. Read Task Decomposition Override Section
- WHY: Understand the PROHIBITED sequence (Generic approach with default fonts/colors)
- WHY: Understand the MANDATORY sequence (Design-First Data Visualization with 3 decisions)
- CONSEQUENCE: Skipping = generic "AI slop" diagrams with Inter/Roboto + rainbow gradients
[ ] 2. Acknowledge Output Format Requirement
- FORMAT REQUIRED:
Diagram Drawing Applied: - Design Theme: [Theme + rationale] - Typography: [Font family + sizing hierarchy] - Color Strategy: [Palette approach + values] - WHY: Hook validation requires this exact format
- CONSEQUENCE: Missing acknowledgment = architecture violation
[ ] 3. Identify Diagram-Specific Requirements
- Design Theme: Choose distinctive theme (NOT generic Material Design - use Technical/Editorial/Minimal/Bold)
- Typography Hierarchy: ≥12px labels, NO Inter/Roboto/Arial alone (use IBM Plex Sans, Space Grotesk, Source Sans)
- Animation Strategy: ≤2 seconds initial reveal, respects prefers-reduced-motion, GPU-accelerated
- Export Format: SVG preferred (scalable), PNG for raster needs, PDF for print
- Accessibility: Alt text, ARIA labels, keyboard navigation, colorblind-safe palettes
- WHY: Generic themes + poor typography + excessive animation = unprofessional diagrams undermining credibility
- CONSEQUENCE: Ignoring = charts that look auto-generated, fail accessibility standards, hurt brand perception
[ ] 4. Check for Multi-Skill Compositions (v5.5.0)
- IF diagram-drawing + data-visualization-designer + design-excellence loaded:
- YOU MUST apply all three skills in conjunction (not isolation)
- Composition: visual-design-excellence (3.2x quality improvement)
- This skill = Chart.js implementation, data-viz = truthful design, design-excellence = aesthetics
- CONSEQUENCE: Single-skill usage when composition available = suboptimal quality
✅ ALL BOXES CHECKED = Ready to proceed to Task Decomposition Override ❌ SKIPPING THIS CHECKLIST = Claiming "Diagram Drawing Applied" while generating generic charts
Task Decomposition Override (v5.4.0)
When this skill applies (diagram/chart/infographic request), DO NOT use your default task decomposition.
❌ PROHIBITED SEQUENCE (Generic approach - low quality):
- TodoWrite for planning
- Gather requirements
- Create generic SVG/Canvas/PNG
- Use default fonts (Inter, Roboto, Arial)
- Use rainbow gradients or generic colors
✅ MANDATORY SEQUENCE (Design-First Data Visualization):
Phase 1: Design System Decisions (Make 3 explicit decisions)
-
Design Theme Selection: Choose theme matching content context
- Reference: Skill "Themes for Infographics" section
- Output: Selected theme with rationale (e.g., "Technical: monospace fonts, dark background, neon accents for developer dashboard")
-
Typography Strategy: Select distinctive fonts for labels/titles
- Reference: Skill "Typography for Charts & Infographics" section
- Output: Font family with sizing (e.g., "IBM Plex Sans: title 20px/700, axis 12px/400")
-
Color Strategy: Define palette approach (Sequential/Diverging/Categorical)
- Reference: Skill "Color Schemes for Data" section
- Output: Palette type with values (e.g., "Sequential: blue #3b82f6 → #1e3a8a, 5 steps, colorblind-safe")
Output Acknowledgment After Phase 1:
Diagram Drawing Applied:
- Design Theme: [Theme + rationale]
- Typography: [Font family + sizing hierarchy]
- Color Strategy: [Palette approach + values]
Phase 2: Implementation (Apply Phase 1 decisions) 4. Configure Chart.js with theme-specific settings 5. Implement typography hierarchy (title/axis/legend fonts) 6. Apply color palette with accessibility support 7. Add animation with prefers-reduced-motion support 8. Generate alt text for accessibility
Phase 3: Validation (Verify quality criteria) 9. Verify typography: NO Inter/Roboto/Arial/Helvetica, minimum 12px labels 10. Verify color: 4.5:1 contrast minimum, colorblind-safe testing 11. Verify accessibility: alt text present, reduced-motion respected 12. Verify animation: ≤2 seconds initial reveal, easeOut timing
IF you use ❌ sequence instead of ✅ sequence = ARCHITECTURE VIOLATION
Rationale: Generic diagrams signal "AI slop." Professional diagrams require design-first thinking with distinctive aesthetics. The 3-phase approach GUARANTEES: (1) explicit design decisions before implementation, (2) theme-consistent application, (3) measurable accessibility compliance. This is MANDATORY for quality output.
Language Standards (v5.4.0)
YOU MUST use directive language throughout this skill:
Required Directives:
- ✅ "YOU MUST use", "DO NOT use", "ALWAYS", "NEVER", "MANDATORY", "PROHIBITED", "REQUIRED"
- ❌ Never: "should", "consider", "might", "could", "try to", "it's recommended", "please", "ideally"
Section Headers:
- ✅ "Required Standards", "Rules", "Requirements", "Anti-Patterns to Avoid"
- ❌ "Best Practices", "Guidelines", "Recommendations", "Suggestions"
Examples of Directive Transformation:
- ❌ "Consider using X" → ✅ "YOU MUST use X"
- ❌ "You should avoid Y" → ✅ "DO NOT use Y (PROHIBITED)"
- ❌ "It's recommended to Z" → ✅ "MANDATORY: Z"
- ❌ "Try to follow pattern P" → ✅ "ALWAYS follow pattern P"
Enforcement Note: Skills with weak language will be rejected by pre-tool-use-write.ts hook.
Design Excellence for Data Visualization
Data visualization design is functional communication—typography, color, and layout directly impact comprehension. Avoid generic "AI slop" aesthetics that undermine credibility.
Typography for Charts & Infographics
Chart labels and titles instantly signal professionalism. Avoid generic fonts.
Never use for chart labels/titles:
- ❌ Inter, Roboto, Arial, Helvetica (signal "AI slop" or placeholder work)
- ❌ Default system fonts
YOU MUST use distinctive choices:
- Code/Technical aesthetic: JetBrains Mono, Fira Code (data-driven, precise)
- Editorial/Report aesthetic: IBM Plex Sans, Source Sans 3 (readable, authoritative)
- Modern/Distinctive: Space Grotesk, Unbounded (memorable, confident)
Typography principles for data viz:
- Readability first: Minimum 12px for axis labels, 14px+ for titles
- Weight hierarchy: Title (700-800), axis labels (400-500), annotations (300-400)
- Consistency: Use same font family throughout chart (not multiple fonts)
- Alignment: Left-align y-axis labels, center titles, bottom-align x-axis labels
Color Schemes for Data
Color communicates meaning and directs attention in data visualization.
Semantic data colors (follow conventions):
- Positive/Growth: Green (#10b981, #22c55e)
- Negative/Decline: Red (#ef4444, #dc2626)
- Neutral/Baseline: Blue (#3b82f6, #2563eb)
- Warning/Attention: Orange/Yellow (#f59e0b, #eab308)
Accessibility requirements:
- Don't rely on color alone: Use patterns/textures + color for differentiation
- Contrast: Background-to-foreground ratio 4.5:1 minimum
- Colorblind-safe palettes: Use tools like ColorBrewer, avoid red-green-only combinations
- Test: Simulate deuteranopia (red-green), protanopia (red-green), tritanopia (blue-yellow)
Palette strategies:
- Sequential (single hue progression): Low to high intensity → quantity/magnitude
- Diverging (two hues from center): Negative ← neutral → positive
- Categorical (distinct hues): Unordered categories (use 5-7 max for clarity)
Avoid:
- ❌ Rainbow gradients (hard to interpret value)
- ❌ Clichéd purple-to-pink gradients (signal generic AI output)
- ❌ Too many colors (>7 in single chart = cognitive overload)
- ❌ Low saturation pastels (hard to differentiate)
Themes for Infographics
Commit to a cohesive aesthetic that matches content context.
Theme inspiration:
- Corporate/Professional: Clean, trustworthy, muted colors, sans-serif, grid layouts
- Technical/Developer: Monospace fonts, terminal aesthetics, dark backgrounds, neon accents
- Editorial/Report: Serif titles, authoritative, newspaper-inspired, strong hierarchy
- Cyberpunk: Neon accents (#00ff00, #ff00ff), dark backgrounds, glitch effects
- Retro/Vintage: Muted 70s palette, textured backgrounds, nostalgic typography
Motion & Animation for Charts
Animation guides attention and reveals data progressively.
Purposeful chart animations:
- Initial reveal: Stagger data point appearance (not all at once)
- Data updates: Smooth transitions when values change (300-600ms duration)
- Hover interactions: Immediate feedback (<100ms), subtle scale/highlight
- Progress indicators: Show loading state while chart renders
Respect reduced motion:
animation: {
duration: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? 0 : 800
}
Avoid:
- ❌ Overly long animations (>2 seconds for initial reveal)
- ❌ Bouncing/elastic easing (unprofessional for data viz)
- ❌ Continuous looping animations (distracting)
- ❌ Ignoring
prefers-reduced-motionaccessibility setting
Chart.js Technical Reference
Usage
renderDiagram({
type: 'line' | 'bar' | 'pie' | 'doughnut' | 'scatter' | 'bubble' | 'radar',
data: {
labels: string[],
datasets: Array<{
label: string,
data: number[]
}>
},
export: {
format: 'png' | 'svg' | 'pdf',
width: number,
height: number
}
})
Features
- 5 chart types: line, bar, pie, scatter, radar
- 3 export formats: PNG (1x/2x), SVG, PDF
- 5 presets: default, minimal, bold, print, dark
- Auto alt text: Generates descriptive text with trends
- Accessibility: Reduced motion support, contrast checking
- Performance: Data decimation for large datasets
Example Chart.js Configuration
options: {
plugins: {
title: {
display: true,
text: 'Monthly Revenue Growth',
font: {
family: 'IBM Plex Sans',
size: 20,
weight: '700'
},
color: '#e2e8f0'
},
legend: {
labels: {
font: {
family: 'IBM Plex Sans',
size: 14,
weight: '500'
}
}
}
},
scales: {
x: {
grid: { color: 'rgba(100, 116, 139, 0.1)' },
ticks: { font: { family: 'IBM Plex Sans', size: 12 } }
},
y: {
grid: { color: 'rgba(100, 116, 139, 0.1)' },
ticks: { font: { family: 'IBM Plex Sans', size: 12 } }
}
},
animation: {
duration: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? 0 : 800,
easing: 'easeOutQuart'
}
}
Resources (Progressive Loading)
Typography: Load @resources/typography-for-data.md for:
- Font pairing strategies
- Hierarchy principles
- Accessibility guidelines
Themes: Load @resources/chart-theme-gallery.md for:
- 5 complete theme configurations
- Copy-paste Chart.js configs
- Color palette definitions
Examples: Load @resources/diagram-examples.md for:
- Production-ready examples
- Before/after comparisons
- Anti-pattern demonstrations
Accessibility: Load @resources/wcag-compliance-charts.md for:
- WCAG 2.1 AA compliance checklist
- Color contrast requirements
- Screen reader compatibility
Anti-Patterns to Avoid
Typography:
- ❌ Inter, Roboto, Arial, Helvetica for chart labels
- ❌ Multiple font families in single chart
- ❌ Tiny labels (<10px)
- ❌ All-caps titles
Color:
- ❌ Rainbow gradients
- ❌ Purple-to-pink gradients
- ❌ Red-green only (colorblind unfriendly)
- ❌ Low contrast (<3:1)
Animation:
- ❌ Bouncing/elastic easing
- ❌ Continuous loops
- ❌ Ignoring prefers-reduced-motion
- ❌ >2 second animations
Structure:
- ❌ Too many data points (>50 without grouping)
- ❌ Missing axis labels
- ❌ No legend for multiple datasets
- ❌ Distracting backgrounds
Related Skills
Xlsx
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Analyzing Financial Statements
This skill calculates key financial ratios and metrics from financial statement data for investment analysis
Data Storytelling
Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or building executive presentations.
Team Composition Analysis
This skill should be used when the user asks to "plan team structure", "determine hiring needs", "design org chart", "calculate compensation", "plan equity allocation", or requests organizational design and headcount planning for a startup.
Startup Financial Modeling
This skill should be used when the user asks to "create financial projections", "build a financial model", "forecast revenue", "calculate burn rate", "estimate runway", "model cash flow", or requests 3-5 year financial planning for a startup.
Kpi Dashboard Design
Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns. Use when building business dashboards, selecting metrics, or designing data visualization layouts.
Dbt Transformation Patterns
Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.
Startup Metrics Framework
This skill should be used when the user asks about "key startup metrics", "SaaS metrics", "CAC and LTV", "unit economics", "burn multiple", "rule of 40", "marketplace metrics", or requests guidance on tracking and optimizing business performance metrics.
