html-visual — Claude Code skill: what it does, how to install
Generates an interactive single-file HTML visualization: mockup, ERD, flowchart, chart or slides. Useful when you want a schema or dataset rendered instead of described.
npx skills add 2ykwang/agent-skills --skill html-visual -a claude-codeWhat html-visual does
The first word of the argument picks the type: mockup, wireframe, erd, flow, chart, slides, arch, dashboard, timeline, mindmap, kanban or table. Output is one HTML file named like erd-{name}.html. Point it at a file, as in /html-visual erd schema.prisma, and it reads the schema and builds the diagram from it. An existing HTML file gets edited, not regenerated.
Each type behaves differently. In ERDs and flowcharts the arrows follow nodes as you drag them. Kanban cards move between columns, and tables sort and filter. Charts run on Chart.js or D3.js, while slides use Reveal.js from a CDN plus highlight.js. Timelines and mindmaps use Mermaid, D3.js or plain SVG. Before handing the file over, the skill looks for curly quotes in attributes, unclosed tags and overlapping nodes.
Put the type first. If the first word matches nothing, the skill guesses from your request and names the file visual-{name}.html. Words like "our" or "current" make it read the project code before drawing anything. It ends by telling you to open {filename}.
What it helps with
- draw an ERD from a
schema.prismafile - sketch a wireframe of a screen before building it
- turn business logic into a flowchart with branches
- plot a dataset as a chart or a dashboard with KPI cards
- build slides with highlighted code blocks
Example prompts for the agent
/html-visual erd schema.prisma- Use html-visual to make a mobile mockup of a login form
/html-visual flow our current payment flow
How to install html-visual
1Skills CLI (Vercel)
npx skills add 2ykwang/agent-skills --skill html-visual -a claude-code2Manually: put the files in place
~/.claude/skills/html-visual/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/html-visual/
1Skills CLI (Vercel)
npx skills add 2ykwang/agent-skills --skill html-visual -a codex2Manually: put the files in place
.agents/skills/html-visual/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add 2ykwang/agent-skills --skill html-visual -a cursor2Manually: put the files in place
.cursor/skills/html-visual/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install 2ykwang/agent-skills html-visual2Manually: put the files in place
.github/skills/html-visual/SKILL.md1Skills CLI (Vercel)
npx skills add 2ykwang/agent-skills --skill html-visual -a gemini-cli2Platform CLI
gemini skills install https://github.com/2ykwang/agent-skills --path skills/html-visualManually: put the files in place
.devin/skills/html-visual/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add 2ykwang/agent-skills --skill html-visual -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about html-visual
How do I install html-visual in Claude Code?
Run npx skills add 2ykwang/agent-skills --skill html-visual -a claude-code. The skill file lands at ~/.claude/skills/html-visual/SKILL.md.
What does html-visual do?
It turns a request or a file (schema, spec, data) into an interactive HTML page: mockup, ERD, flowchart, chart, slides, kanban and other types. Everything ends up in a single file.
Which agents does html-visual support?
Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode. Each one has its own install command.
Source text
SKILL.md · MIT
---
name: html-visual
version: 0.0.2
category: design-frontend
description: "Generate an interactive single-file HTML visualization — mockup, wireframe, ERD, flowchart, chart, slides, architecture diagram, dashboard, timeline, mindmap, kanban, or table. Use when the user wants something rendered rather than described: a UI mockup or wireframe, a database schema as an ERD, business logic as a flowchart, data as a chart, or content as slides. Also use when they point at a file (schema, spec, data) and ask to see it visualized."
argument-hint: "[type] <content>"
---
# HTML Visualization
## Input
```text
$ARGUMENTS
```
## Instructions
Visualize the user's request as an **interactive single HTML file**.
First, read `references/common-rules.md` to review common rules.
### Type Determination
Determine the type from the first word of `$ARGUMENTS`.
| Argument | Type | Filename Pattern |
|----------|------|-----------------|
| `mockup` | UI mockup (high-fidelity) | `mockup-{name}.html` |
| `wireframe` | Wireframe (low-fidelity, hand-drawn style) | `wireframe-{name}.html` |
| `erd` | ERD | `erd-{name}.html` |
| `flow` | Flowchart / Sequence diagram | `flow-{name}.html` |
| `chart` | Data chart | `chart-{name}.html` |
| `slides` | Presentation | `slides-{name}.html` |
| `arch` | Architecture diagram | `arch-{name}.html` |
| `dashboard` | Composite dashboard | `dashboard-{name}.html` |
| `timeline` | Timeline / Gantt chart | `timeline-{name}.html` |
| `mindmap` | Mindmap | `mindmap-{name}.html` |
| `kanban` | Kanban board | `kanban-{name}.html` |
| `table` | Interactive data table | `table-{name}.html` |
**No match**: Infer the type from the request content. If unable to infer, ask the user.
When inferred, use `visual-{name}.html` as the filename.
**`{name}` rule**: Extract the core noun from the request and convert to kebab-case. e.g., "user login form" → `login-form`, "payment flow" → `payment-flow`.
### Input Handling
- **File path provided**: Read and analyze the file, then visualize.
e.g., `/html-visual erd schema.prisma` → Analyze the Prisma schema to auto-generate ERD
- **Existing HTML modification**: Read and modify the existing file. Do not recreate from scratch.
- **Natural language only**: Infer the type, then generate.
### Context Gathering
- **Description is sufficient**: Generate immediately (e.g., "simple login form mockup")
- **Project code reference needed**: Read code/schema/API first (e.g., "our project's ERD", "current payment flow")
- Criterion: If the request contains project context references like "our", "current", "project's", read the code first.
### Type-Specific Guides
#### mockup
- Device frame: Actual device frame shape for mobile/tablet UI
- Multiple screens: Side-by-side layout + screen labels
- Placeholder data: Realistic data matching project context
- Tab/swipe for screen transitions
#### wireframe
- Hand-drawn (sketch) style: Slightly irregular lines, hand-drawn feel
- Black-and-white or grayscale. Minimal color
- Text areas shown as gray blocks (no "Lorem ipsum")
- Focus on layout and information structure, exclude visual details
#### erd
- Entity boxes with attribute lists. Distinguish PK/FK
- Relationship lines: 1:1, 1:N, N:M notation. Auto-track on node drag
- Include relationship type legend
#### flow
- Node types: Start/End (circle), Process (rectangle), Decision (diamond)
- Directional arrows. Auto-track on node drag
- Display branch conditions on connection lines
#### chart
- Auto-select appropriate chart type for the data (bar, line, pie, scatter, etc.)
- Axis labels + units, hover tooltips, legend
- Use Chart.js or D3.js
#### slides
- Reveal.js CDN-based
- Slide transition animations
- Code block highlighting (highlight.js)
- Speaker notes support (toggle with S key)
#### arch
- Separate system components by layer/zone (Frontend / Backend / DB / External)
- Label communication lines with protocols (HTTP, gRPC, pub/sub, etc.)
- Zoom/pan support
- D3.js force-directed or direct SVG generation
#### dashboard
- Arrange multiple charts/metrics in grid layout
- KPI cards at the top (numbers + change rates)
- Cross-chart interaction: Click one → filter others
#### timeline
- Horizontal or vertical timeline
- Event nodes + date labels
- Zoom/scroll for period navigation
- Use Mermaid gantt or D3.js
#### mindmap
- Radial expansion from center node
- Node collapse/expand
- Use Mermaid mindmap or direct SVG generation
#### kanban
- Columns: TODO / In Progress / Done (customizable)
- Drag and drop cards between columns
- Display labels/tags on cards
#### table
- Sort by clicking column headers (ascending/descending)
- Search/filter at the top
- Pagination or virtual scroll
- Cell highlight, row selection
### Procedure
1. **Identify type + target**. Ask if ambiguous. Read the file if a path is provided.
2. **Context gathering decision**. Determine if project context is needed. If so, read relevant code/docs.
3. **Read `references/common-rules.md`**. Review common principles, aesthetics, CDN, and error prevention rules.
4. **Read `references/html-boilerplate.md`**. Start from the base HTML template.
5. **Generate HTML following the type-specific guide**.
6. **Validate**: Review the generated HTML.
- No smart quotes (curly quotes) in HTML attributes
- No unclosed tags
- No overlapping nodes/elements
- If issues found, fix and re-validate
7. **Instruct to `open {filename}`**.
© 2ykwang · MIT · 2ykwang/agent-skills