Skip to content
Development
Skill

/visual-report

Turns existing audit or health output, or saved recurring runs, into an HTML dashboard, SVG charts or Mermaid diagrams. Triggers: visualise the findings, dashboard, chart, graph the trends. Does not run audits (run one first); for a written brief use stakeholder-brief.

From plugin
design-system-ops
22036 skills4 commands

Claude Code

$ npx -y skills add murphytrueman/design-system-ops --skill visual-report --agent claude-code

SKILL.md

visual-report.SKILL.md
name: visual-report
description: "Turns existing audit or health output, or saved recurring runs, into an HTML dashboard, SVG charts or Mermaid diagrams. Triggers: visualise the findings, dashboard, chart, graph the trends. Does not run audits (run one first); for a written brief use stakeholder-brief."
allowed-tools: Read, Write, Grep, Glob, Bash(cat:*), Bash(find:*), Bash(head:*), Bash(ls:*), Bash(sort:*), Bash(tail:*), Bash(wc:*), Bash(npm view:*)
references:
  - ../../knowledge-notes/output-discipline.md

Visual Report

A skill for transforming audit findings, system health statuses, and saved recurring runs into visual outputs โ€” interactive HTML dashboards, SVG charts, and Mermaid diagrams โ€” that make design system health visible at a glance.

**Output type:** File creation. This skill produces HTML dashboard files, SVG chart files, or Mermaid diagram blocks that can be embedded in documentation, presentations, or shared directly.

---

Before you begin: verify references

Confirm that every path in this skill's frontmatter `references:` exists relative to this SKILL.md. If any is missing, stop: the install is incomplete, usually because a flattening installer (for example `npx skills install`) dropped the repo-root `knowledge-notes/` directory. Tell the user to reinstall by a method in `1-INSTALL.md` and run `verify-install.sh` from the install root. Proceed without the references only if the user explicitly says to, and then say in the output that it was produced without the pack's reference material.

Why this exists

Numbers in a markdown table are accurate. They are also invisible. A stakeholder will not register "System health: ๐ŸŸก Functional with two weak dimensions" from a text report. But a radar chart showing dimension statuses โ€” with red zones, amber zones, and green zones โ€” communicates instantly.

Design system health data is inherently visual. Token coverage maps, component dependency graphs, severity distribution pie charts, trend lines over time โ€” these are the natural representations of the data that audit skills produce. This skill bridges the gap between raw findings and visual communication.

Boundaries

This skill visualises existing findings โ€” it does not run audits or generate new data. If no audit output or session history exists, there is nothing to visualise; run the relevant audit skill first. If the request is for a written stakeholder summary rather than a visual artefact, use `stakeholder-brief` instead. This skill produces HTML dashboards, SVG charts, and Mermaid diagrams โ€” if the request is for a slide deck or PDF, the visual output from this skill can feed into those formats but this skill does not produce them directly.

---

Configuration

If `.ds-ops-config.yml` exists, follow the configuration-and-recurring knowledge note (`../../knowledge-notes/configuration-and-recurring.md`) for loading, integration fallbacks and recurring runs. This skill reads:

visuals:
  brand_primary: "#0052CC"           # Primary colour for charts
  brand_secondary: "#FF5630"         # Accent colour for warnings/critical
  brand_success: "#36B37E"           # Success colour
  brand_neutral: "#6B778C"           # Neutral/baseline colour
  output_format: "html"              # html, svg, or mermaid
  output_directory: ".ds-ops/visuals"

If no configuration exists, use these defaults:

  • Primary: `#2563EB` (blue)
  • Secondary: `#DC2626` (red)
  • Success: `#16A34A` (green)
  • Neutral: `#6B7280` (grey)
  • Output format: `html`
  • Output directory: `.ds-ops/visuals` (the same as the config default, so a run with and without a config file lands in the same place)

---

Input formats

This skill accepts any of these as input:

1. **Raw skill output** โ€” Copy-pasted or referenced output from any audit skill 2. **Saved reports** โ€” previous runs in `recurring.output_directory`, for trend lines 3. **System health statuses** โ€” The dimension statuses from system-health 4. **Comparison data** โ€” the trend section a recurring run adds to its report 5. **Manual data** โ€” User-provided metrics in any format (will be normalised)

---

Step 0: Determine the visual type

Based on the input data and the request, select one or more visual types:

Visual types available

| Type | Best for | Format | |---|---|---| | **Status strip** | System health dimension statuses | One tile per dimension, coloured by status | | **Severity distribution** | Audit findings by severity | Donut chart | | **Trend line** | Metric changes over time | Line chart | | **Coverage heatmap** | Token or component coverage | Grid heatmap | | **Dependency graph** | Component relationships | Mermaid flowchart | | **Comparison bar** | Before/after comparisons | Grouped bar chart | | **Action priority matrix** | Findings by effort vs. impact | Scatter plot | | **Full dashboard** | Multiple visuals on one page | HTML dashboard |

If the request is vague ("make this visual"), choose the visual type that best fits the data:

  • System health statuses โ†’ Status strip
  • Audit findings โ†’ Severity distribution + action priority matrix
  • Session history โ†’ Trend line
  • Before/after data โ†’ Comparison bar
  • Multiple data types โ†’ Full dashboard

---

Step 1: Parse and normalise the data

From audit output

Extract:

  • Finding IDs, severities, categories
  • Metric totals (violation counts, coverage percentages)
  • Component names (for dependency graphs)
  • Token tiers (for coverage heatmaps)

From saved recurring runs

Extract:

  • Dates and skill names
  • Key metrics per run (aligned for trend lines)
  • Deltas between runs, from each report's trend section

From system health

Extract:

  • The dimension statuses the report has (system-health has seven; don't assume, read them)
  • Overall health status
  • Maturity stage

Normalise all data into simple structures:

metrics: [{ label, value, max, category }]
timeseries: [{ date, metric, value }]
findings: [{ id, severity, category, effort?, impact? }]
Read more
@murphytrueman
Ships withdesign-system-ops

Claude Code skills for the work that keeps a design system alive.

Stars on GitHub

Momentum

stars in total
220
Star history of murphytrueman/design-system-ops on GitHub, a chart by star-history.com

Other skills on design-system-ops.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, orโ€ฆ

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android โ€” semantic ARIA roles and labels,โ€ฆ

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commitsโ€ฆ

react5d252k
@facebook@facebookInstall Skill

Questions about visual-report.

Which coding agents can use visual-report?
visual-report installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.