From quickshow
Create distinctive, production-grade frontend interfaces — rendered live in a floating QuickShow HUD panel and refined through a tight markup feedback loop. Use when the user asks for a landing page, hero, dashboard, web component, marketing site, brand portal, identity sketch, or any visual design they want to see and react to rather than describe. Generates creative, polished code that avoids generic AI aesthetics.
How this skill is triggered — by the user, by Claude, or both
Slash command
/quickshow:frontend-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill turns Claude into a designer with a tight feedback loop:
This skill turns Claude into a designer with a tight feedback loop: render → user annotates → re-render. The point is for the user to see and draw on what they're shown, not chat about it. Implement real working HTML/CSS/JS with exceptional attention to aesthetic detail and creative choices — and ship it through QuickShow so the user can react visually.
The creative-direction guidance below is adapted from Anthropic's
frontend-design skill (~/.claude/plugins/.../frontend-design/).
The QuickShow rendering surface and feedback loop are this skill's
addition.
show_html. Pick a name you'll reuse for the
life of this design session (e.g. "design",
"coffee-coop-hero"). Set width to match the design's intended
canvas: 1280 for desktop, 800 for narrower content, 375 for
mobile mocks. Without width, the canvas defaults to ~400pt —
too narrow for most designs.enable_markup_events() at the start
of the session. The response includes the exact Monitor /
tail -F command — start it so markup events stream as
notifications.markup_sent event lands with an artifact UUID.markup_dismissed event lands.markup_sent: call get_markup(artifact_id). Inspect the
annotated image literally — red strokes are the user's marks
(circles, arrows, scribbles, X-outs). Read them, decide what
they mean, and iterate with another show_html call against the
same name. Write one sentence describing what you changed.markup_dismissed: ask what direction the user wants
next.Before coding, commit to a BOLD aesthetic direction:
CRITICAL: choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work — the key is intentionality, not intensity.
If the brief is open-ended, decide based on the subject and tell the user up front which direction you're trying. Don't average across options.
@font-face { src: url('data:font/woff2;base64,...'); }.NEVER use generic AI-generated aesthetics — overused fonts (Inter, Roboto, Arial), cliched color schemes (purple gradients on white), predictable layouts, cookie-cutter components. Vary across generations: different fonts, different palettes, different aesthetics. Never converge on common choices (Space Grotesk, for example) across runs.
Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist designs need restraint, precision, and attention to spacing, typography, and subtle detail. Elegance comes from executing the vision well, not from holding back.
Claude is capable of extraordinary creative work. Don't hold back.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>…</title>
<style>
:root { --ink: #0a0a0a; --paper: #f6f4ee; --accent: #d83a2c; }
html, body { margin: 0; padding: 0;
background: var(--paper); color: var(--ink);
font-family: -apple-system, "Helvetica Neue", system-ui, sans-serif;
font-feature-settings: "ss01", "case"; }
/* … real design styles here … */
</style>
</head>
<body>
<!-- Real layout, real copy, real hierarchy. -->
<script>
// Optional. Inline only. No external imports.
</script>
</body>
</html>
<link> to Google Fonts, no Tailwind
CDN, no jsdelivr, no unpkg, no remote <img>. Network requests
silently fail.@font-face { src: url('data:font/woff2;base64,...'); }.data:image/png;base64,... for raster.width argument on show_html to
match the design canvas (typically 800–1600). The HUD adds pan +
zoom around it.If the user gives you an open-ended ask:
markup_sent with no annotations as "approved
as-is" — confirm and offer next steps.Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub zolat/quickshow --plugin quickshow