Sandbox
@csthink/dashmotion

Claude skill for animated diagrams from text or Mermaid

Dashmotion takes a plain-English description or Mermaid source and produces a self-contained animated HTML/SVG diagram. It supports flow and architecture modes, with moving dashed lines and request dots to show execution and system journeys.

164 stars10 forksHTMLUpdated 3mo ago
Who it's for

Builders who want Claude Code to turn written ideas or Mermaid into moving diagrams they can reuse in docs and demos.

What it delivers

You can create animated diagrams without drawing them by hand or exporting GIFs.

What it does

Plain-English and Mermaid input

Accepts a natural-language prompt or Mermaid `flowchart`, `graph`, or `stateDiagram-v2` source and turns either into the same animated result.

Flow and architecture modes

Generates workflow diagrams for pipelines and state machines, or architecture diagrams with component colors, boundaries, legends, and animated request journeys.

Self-contained HTML/SVG output

Produces one dependency-free HTML file that opens in any browser and keeps vector quality.

Live refinement

Lets you ask for changes in plain language, such as highlighting a path or moving components.

Accessible animation controls

Includes reduced-motion handling, a pause/play toggle, and image roles and descriptions for assistive tech.

How to get it

  1. 1Then just ask — one sentence is enough to see it work
    Use dashmotion to draw a simple 3-step login flow.
  2. 2Flow — the left demo
    Use dashmotion to visualize our CI/CD pipeline: a commit runs lint, unit tests and integration tests in parallel; all three merge into building a Docker image; then a security scan; then a deploy to staging; then a manual approval gate — approved deploys to production and posts a Slack notification, rejected notifies the author and ends.
  3. 3Claude Code — one command
    npx skills add csthink/dashmotion -a claude-code -g
  4. 4No Claude client tells you when a skill has a new version — you pull updates yourself.…
    npx skills update dashmotion -g -y
  5. 5Check which version you're on — it lives in the skill's SKILL.md; compare it against the…
    grep '^version:' ~/.claude/skills/dashmotion/SKILL.md     # project-local: ./.claude/skills/dashmotion/SKILL.md
  6. 6Uninstall
    npx skills remove dashmotion -g         # installed via the skills CLI (drop -g if project-local)
    rm -rf ~/.claude/skills/dashmotion      # installed by unzipping (use ./.claude/... for project-local)

README

Dashmotion

English | 简体中文

version license: MIT live demo

Diagrams that move.

A Claude skill for animated technical diagrams — from plain English or Mermaid, as one self-contained HTML/SVG file.

Turn a plain-English description — or a Mermaid source — into an animated diagram: one HTML/SVG file, no dependencies, where dashed connectors stream in the direction of execution and light dots travel through the system like requests in flight. The style you see on modern infra landing pages (Diagrid, Temporal, Inngest).

Dashmotion animating a checkout request through a Kubernetes architecture — ingress → cart → payments → Postgres, plus a Kafka async event to a worker

▶ Watch real diagrams run live → — unedited skill output, not a video.

⭐ If dashmotion saved you from hand-drawing a diagram, a star helps others find it.

Two modes

Flow modeArchitecture mode
flow demoarchitecture demo

What it does

The name is the implementation: stroke-dashoffset offset animation + animateMotion paths — no libraries, no GIF rendering, no design tools.

  • Inputs (today): a natural-language description, or a Mermaid flowchart / graph / stateDiagram-v2 source — the same animated result either way.
  • Output styles (today): Flow — workflows, pipelines and state machines, where execution visibly streams from START to END through branches and merges; and Architecture — systems and topology, with semantic component colors, region/security boundaries, a legend, and the differentiator: animated request journeys, a dot hopping client → gateway → service → database and back.
  • Refine in plain language: "make the auth path stand out", "put Redis next to Postgres", "split the workers into a second diagram."
  • The output is dependency-free: one HTML file — vector, loops forever, a few KB, opens in any browser.

Quick start

Then just ask — one sentence is enough to see it work:

Use dashmotion to draw a simple 3-step login flow.

The two longer prompts below generated the demos at the top — paste either to reproduce it:

Flow — the left demo:

Use dashmotion to visualize our CI/CD pipeline: a commit runs lint, unit tests and integration tests in parallel; all three merge into building a Docker image; then a security scan; then a deploy to staging; then a manual approval gate — approved deploys to production and posts a Slack notification, rejected notifies the author and ends.

Architecture — the hero above:

Use dashmotion to draw our Kubernetes microservices platform and animate the main request path: an NGINX ingress in front; users, catalog, cart and payments services in the 'shop' namespace; a Kafka bus between the services and two async workers (email worker, analytics worker); PostgreSQL for orders and MongoDB for the catalog; Prometheus and Grafana in an observability namespace. Animate a checkout request from ingress through cart and payments to PostgreSQL, plus an async event from payments through Kafka to the email worker.

A few things worth knowing:

  • Each generation lays things out a little differently — yours won't be pixel-identical to the demo, but it's the same diagram.
  • You don't have to spell everything out: point it at a design doc ("use dashmotion to draw the architecture in docs/design.md") or just ask for a flowchart / architecture diagram of what you're building.
  • Already have the diagram as Mermaid? Paste it — see Mermaid input below.
  • Don't like the result? Say so in plain language and it refines from there.

Install

Needs a Claude plan that includes skills (Pro, Max, Team, or Enterprise).

Claude Code — one command:

npx skills add csthink/dashmotion -a claude-code -g

claude.ai — download dashmotion.zip from Releases → Settings → Capabilities → Skills → + Add → upload → toggle on.

Why -a claude-code, and global vs. project?
  • -a claude-code writes a plain copy (into ~/.claude/skills/ with -g, or ./.claude/skills/ without). The bare npx skills add csthink/dashmotion makes a symlink instead, and Claude Code's symlink handling is rough — the link may not get created, a symlinked skill doesn't appear in /skills (claude-code#14836), and npx skills update won't refresh it. A copy lists in /skills and updates cleanly. If the CLI ever prompts copy-vs-symlink, choose copy (or pass --copy). Other agents (Cursor, Codex, …) read ~/.agents/skills/ directly and work fine with the bare command.
  • Global (-g) lives in ~/.claude/skills/, available everywhere. Project-local (no -g) lives in ./.claude/skills/ — scoped to that one directory, and handy to commit alongside a repo so your team gets the skill.

Prefer the zip on Claude Code? rm -rf ~/.claude/skills/dashmotion && unzip dashmotion.zip -d ~/.claude/skills/ — clear the folder first when upgrading so old files don't linger.

Upgrading, auto-update & uninstall

No Claude client tells you when a skill has a new version — you pull updates yourself. On Claude Code, one command refreshes it in place:

npx skills update dashmotion -g -y

Name the skill: a bare npx skills update -g -y updates every globally-installed skill, not just dashmotion — which may pull updates into others you didn't mean to touch. Drop -g for a project-local install; re-running the install command works too. On claude.ai there's no in-place update — delete the old skill and upload the new dashmotion.zip.

Check which version you're on — it lives in the skill's SKILL.md; compare it against the latest release (npx skills list shows the path, not the version):

grep '^version:' ~/.claude/skills/dashmotion/SKILL.md     # project-local: ./.claude/skills/dashmotion/SKILL.md

Hands-off: auto-update on every session (Claude Code) — add a SessionStart hook so Claude Code refreshes the skill each time it starts. In ~/.claude/settings.json:

{
  "hooks": {
    "SessionStart": [
      { "matcher": "startup", "hooks": [
        { "type": "command", "command": "npx skills update dashmotion -g -y >/dev/null 2>&1 || true" }
      ] }
    ]
  }
}

It costs a short network call at startup and silently keeps you on the latest tag. Widen the command to npx skills update -g -y to auto-update all your global skills.

Uninstall:

npx skills remove dashmotion -g         # installed via the skills CLI (drop -g if project-local)
rm -rf ~/.claude/skills/dashmotion      # installed by unzipping (use ./.claude/... for project-local)

Mermaid input

Already have the diagram as Mermaid? Paste it — dashmotion turns a static flowchart/graph or stateDiagram-v2 source into the same moving diagram, no redrawing. Topology and labels are kept exactly; only the layout and colors are recomputed.

Use dashmotion to animate this mermaid diagram:

```mermaid
flowchart TB
    A[Receive ticket] --> B{Severity?}
    B -->|P1| C[Page on-call]
    B -->|P2| D[Create incident]
    C --> E[Mitigate]
    D --> E
```

…becomes a moving flowchart — dashed connectors stream from Receive ticket through the Severity? decision, fan out, and merge into Mitigate, with a dot riding the path:

A Mermaid flowchart converted into an animated dashmotion diagram

What to expect:

  • Preserved exactly: every node and label, every edge and edge label, subgraph containment, and edge kinds — --> animates, -.-> becomes a dotted async edge, ==> marks the main path and gets the traveling dot.
  • Recomputed by design: layout (always top-down — LR sources are re-laid out; structure is preserved, geometry is not) and colors (classDef/style/linkStyle are replaced by dashmotion's semantic palette).
  • Subgraphs that name system components (namespaces, VPCs, tiers) route to architecture mode with boundaries and request journeys; plain process subgraphs stay in flow mode.
  • Other mermaid types (sequence, class, ER, gantt) aren't supported — dashmotion says so instead of guessing a lossy conversion.

Why not just a GIF?

GIFDashmotion (SVG/CSS)
File sizeMBsKBs
Sharpnessfixed resolutionvector, infinite zoom
Editablere-render everythingask Claude to change one box
Loopframe-perfect workfree
Convert to GIF laterone command (timecut) or screen-record

Accessibility

All CSS animation is gated behind @media (prefers-reduced-motion: no-preference); SMIL dots are removed by script under reduced motion; every diagram ships a visible pause/play toggle and role="img" + <title>/<desc>.

FAQ

Can I install this alongside architecture-diagram-generator? Yes — tested side by side. Animation intent ("make the request path move") routes to dashmotion; plain static architecture requests stay with Cocoon's skill. No file conflicts.

How it works, and more

The animation technique, the deterministic layout engine, the repo layout, and exporting to GIF/MP4 are in docs/how-it-works.md. Version history is in CHANGELOG.md.

Credits

Skill packaging pattern and the static architecture design system build on Cocoon-AI/architecture-diagram-generator (MIT). Visual style inspired by the workflow animations on diagrid.io.

License

MIT

Files in the repo

Repository payload10 top-level entries
  • docs
  • eval
  • examples
  • skills
  • .gitignore
  • CHANGELOG.md
  • CLAUDE.md
  • LICENSE
  • README.md
  • README.zh-CN.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More skills

obra/
superpowers

An agentic skills framework & software development methodology that works.

285k
1 add

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.

117k
1 add
Vincentwei1021/
anything2explainer

Topic in, narrated explainer video out. A Claude Code / Codex skill that turns any topic into a black-canvas motion-graphics explainer video with TTS voiceover, subtitles and a chapter progress bar. Chinese or English; every frame drawn in code with Remotion.

666

Open-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)

71k