anthropics/skills180kfrontend-design
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
前端开发
把这段话发给 Claude Code、Codex 或 Cursor。智能体会先检查安全性,你确认后才安装。
读取 https://funcoding.ai/skills/plugin87/ux-ui-agent-skills/data-dashboard/install.md ,按里面的步骤帮我安装这个 Skill。
Step 0 — is the kit here? This skill reads files from the kit. Check once:
ls ${CLAUDE_SKILL_DIR}/../../../tokens >/dev/null 2>&1 && echo KIT_OK || echo KIT_MISSINGOnKIT_MISSINGonly the skill folders were installed, which is whatnpx skills adddoes. Say so plainly, point the user atnpx ux-ui-agent-skills initor the plugin install, and stop. Do not guess the contents of a file you could not open.
A dashboard is the hardest screen to keep honest: it is dense, it is mostly
non-text, and almost every default makes it worse. This is the recipe that
produced ${CLAUDE_SKILL_DIR}/../../../examples/showcase/ and ${CLAUDE_SKILL_DIR}/../../../examples/terminal/, both of which pass every
gate in both themes.
Answer these in one line each, or /grill-me them out of the user:
Four equal stat cards is the single loudest tell that nobody designed this. Compose in bands, each a different shape:
| Band | Content | Why |
|---|---|---|
| 1 | Hero metric at 3x body size + its own chart, spanning most of the width | The eye lands once |
| 2 | Two or three secondary figures, stacked or narrow | Quiet by construction |
| 3 | Three different chart shapes side by side (donut, ranked bars, sparklines) | Variety reads as intent |
| 4 | A table that really sorts, plus a feed or log | Detail after summary |
| 5 | A footer line that ends the page | A page must end on purpose |
Use a 12-column grid with explicit spans (span 8 / span 4), collapsing to 6
then 1. Never repeat(auto-fit, …) for the primary bands - it produces exactly
the equal-card wall you are avoiding.
All of these are plain inline SVG with viewBox, sized by CSS, filled from
--color-chart-*. No chart library, no runtime dependency.
| Chart | Geometry | Use it for |
|---|---|---|
| Bar / column | <rect> per bucket, rx for a soft corner | Discrete periods |
| Candlestick | <line> wick + <rect> body per period, class by up/down | OHLC price |
| Volume | Bars under the price chart, same x-scale, opacity:.45 | Conviction behind a move |
| Moving average | <polyline> over the candles, 2px, round joins | Trend through noise |
| Line / sparkline | <polyline>, pathLength="1" for a draw animation | Trend in a cell |
| Area / stacked area | <path> per band: forward along the top, reverse along the previous baseline, close | Composition over time |
| Depth | Two cumulative area paths mirrored around the mid | Book liquidity |
| Waterfall | Floating <rect> per step + dashed connectors between levels | Attribution |
| Donut | <circle> with stroke-dasharray and rotate() per segment | Share of a whole, 3-5 slices |
| Radial gauge | Same trick, stroke-linecap:round, 270-degree sweep | One value against a limit |
| Scatter / bubble | <circle>, radius = third dimension | Two measures plus weight |
| Correlation matrix | HTML table, cell tint via color-mix | Pairwise relationships |
| Heatmap | HTML table or <rect> grid, tint by value | Cohorts, calendars |
| Order book | HTML table with a depth bar per row | Bids and asks |
Generate the geometry, do not hand-place it. Write a small deterministic script (a seeded walk) that emits the SVG elements, then paste the output in. Hand-typed coordinates drift and cannot be regenerated.
Gates cannot catch a chart that is drawn beautifully and means nothing. Check by hand:
role="img" plus either aria-label or <title>+<desc>
referenced by aria-labelledby. Say what the chart shows, not that it is a
chart: "Range 182.06 to 200.10, closing at 187.84" beats "price chart".+ and an arrow; red with a
-. Up and down also carry a word in the table cell.<caption> (use .sr-only when the panel header already says it),
scope="col" / scope="row", and aria-sort only if clicking really sorts.verify_interactive.mjs clicks them and checks.Every one of these was found on a screen that looked finished. The first group a gate caught; the ones marked "no gate sees it" were caught by opening the screenshot and looking, which is why that step is not optional:
--color-chart-4
measured 2.65:1 in dark. Chart colours are tuned for large filled shapes.calc(var(--duration-fast) * 0.6 * n), never a
typed millisecond.align-content: start on the field and an
explicit block-size on the control. Measure the heights in the render - the
difference is obvious in a screenshot and invisible in the markup.grid-template-rows:auto minmax(0,1fr), and that child's own tracks go
minmax(<min>,1fr) so its rows grow too), or the rows share it out
(align-content:space-between), or the short column earns another panel.
Screenshot the row and look at the bottom edge of each panel; this never shows
up in the markup.auto-fit silently drops a column, and no gate sees it. Three gauges in a
panel about 340px wide with minmax(min(100%,7rem),1fr) resolved to two tracks
and orphaned the third beside an empty cell. When the count is fixed and
meaningful, write repeat(3,minmax(0,1fr)) and give narrow widths their own rule.aria-label is a row
of anonymous bars to everyone looking at it. Put the labels under the bars -
lay the plot out on an even pitch inside its viewBox so a matching grid of
labels lines up without a second coordinate system..sr-only needs a positioned ancestor. Inside a scroller it otherwise
resolves against the initial containing block, lands outside the viewport, and
inflates the document's scroll width by hundreds of pixels.prefers-reduced-motion. Give a radar sweep a wedge, not a 1px line..c4 as both a
four-column span and the fourth chart colour painted an entire panel pink.node ${CLAUDE_SKILL_DIR}/../../../scripts/measure_render.mjs <file> && node ${CLAUDE_SKILL_DIR}/../../../scripts/measure_render.mjs --dark <file>
node ${CLAUDE_SKILL_DIR}/../../../scripts/verify_states.mjs <file> && node ${CLAUDE_SKILL_DIR}/../../../scripts/axe_audit.mjs --dark <file>
node ${CLAUDE_SKILL_DIR}/../../../scripts/verify_responsive.mjs <file> --scale=1.25
node ${CLAUDE_SKILL_DIR}/../../../scripts/verify_interactive.mjs <file>
node ${CLAUDE_SKILL_DIR}/../../../scripts/slop_tells.mjs --strict <file> && node ${CLAUDE_SKILL_DIR}/../../../scripts/taste_audit.mjs --strict <file>
Then screenshot it and look, in both themes, at 1600 and 390 wide. The gates will pass a chart that is drawn wrong. A correlation matrix that is not symmetric is 16/16 green and still embarrassing.
Worked references, both gate-verified: ${CLAUDE_SKILL_DIR}/../../../examples/showcase/index.html (revenue
console) and ${CLAUDE_SKILL_DIR}/../../../examples/terminal/index.html (trading desk, ten chart types).
anthropics/skills180kGuidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
前端开发
anthropics/skills180kSuite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
前端开发
addyosmani/agent-skills103kGuides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.
前端开发
addyosmani/agent-skills103kBuilds production-quality, accessible, responsive user-facing UIs. Use when building or modifying interfaces and pages, creating components, implementing layouts, meeting WCAG accessibility requirements, managing state, or when the output needs to look and feel production-quality rather than AI-generated.
前端开发
addyosmani/agent-skills103kOptimizes application performance across frontend, backend, queries, and databases. Use when performance requirements exist, when you suspect performance regressions, when Core Web Vitals or load times need improvement, when N+1 query patterns need fixing, or when profiling reveals bottlenecks.
前端开发
nexu-io/open-design100kOpenDesign's feature business case for the plugin marketplace: the user pain, options, tradeoffs, and the measure of success. Built as a decision-grade product management deck for PM, eng, design, leadership.
前端开发