agentsclimarketplace

Interactive styler

Skill Abhiramdadi17/interactive-styler

Use when the user asks to build, design, redesign, or restyle a webpage, page, landing page, UI, or component and would benefit from choosing the look visually rather than from a prose description of options. Renders live, clickable style previews (vibes, palettes, typography, components, animations) inline and captures the picks as real design tokens for the build.From its SKILL.md

Install
npx -y skills add Abhiramdadi17/interactive-styler

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 23 days oldThe repository was created 23 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.9 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Interactive Styler

Overview

Instead of describing styles in words ("we could use a soft glassy look with rounded cards…"), show them. This skill renders live, clickable previews inline using the show_widget tool. The user sees real rendered components, clicks the one they want, and the click sends their choice straight back to chat via sendPrompt(). Their picks are captured as concrete CSS-variable design tokens that get wired into the actual build — so what they saw is literally what they get.

Core principle: a picked preview beats a described option. Never make the user imagine a style you could just render.

When to Use

  • User asks to build/design/restyle any webpage, page, or UI component.
  • User says "show me options", "give me styles to pick from", or invokes /interactive-styler.
  • Any moment in a build where you'd otherwise write "we could go with X, Y, or Z" for a visual choice.

When NOT to use: backend/logic-only work, copy edits, or when the user says "just build it" / "skip the picker". Text choices (framework, data model, scope) stay in the terminal — this is for visual decisions only.

The one-line opt-in (required first step)

When a UI build request arrives, do not silently start pickers and do not silently start coding. Ask exactly one short question first:

"Want to pick the styling visually (I'll render clickable previews), or should I just build it?"

If they choose visual → run the funnel. If "just build" → proceed normally, no widgets. This gate is cheap and prevents both surprise-widgets and surprise-coding.

Before your first widget

Call mcp__visualize__read_me once (silently — do not narrate it) to load the widget contract, then render. Every widget:

  • Uses CSS variables for color so it respects the user's light/dark theme; transparent page background; no outer padding.
  • Calls the global sendPrompt(text) to return the user's choice as a chat message.
  • Follows the templates in references/widget-patterns.md — read that file before building your first picker so pickers stay consistent and fast.

The staged funnel

Move one stage at a time. Each stage renders 3–4 options with exactly one marked ⭐ Recommended (your pick + a one-line why). After each stage, apply the choice and offer the next — the user can stop at any point with "good enough, build it."

StageWidgetSelectionSeeded from
1. VibeMini mock-pages, one per vibesingle-click → sendsreferences/vibe-presets.md (6 presets) + a "✏️ Create my own" option
2. Palette & typeSwatch rows + font-pairing samplessingle-click → sendschosen vibe's tokens
3. ComponentsGallery: 3 buttons, 3 cards, 3 nav, etc.multi-select toggle → Confirm button sends allchosen vibe + palette
4. AnimationsLive-playing hover / transition / loading cellsmulti-select toggle → Confirmchosen vibe
↺ Assembled previewA small real page built from picks so farview only, re-rendered after each stageall picks

Stage 1 custom vibe: if the user picks "✏️ Create my own", ask them to describe it in words ("dark, moody, neon accents, sharp corners"), generate a full token set for it, render its mock-page like a preset, and drop it into the funnel. If they like it, offer to append it to references/vibe-presets.md for reuse.

Assembled preview: after every stage, re-render one widget that is a small but real page (hero + card + button + nav) using the accumulated tokens, so the user sees their choices combined, not just in isolation. This is the payoff — always keep it current.

Every widget carries two escape hatches

Include these as buttons in every picker so the user is never trapped in the funnel:

  • ⭐ Just use your recommendationssendPrompt("Use your recommended styling and build it")
  • Skip / build nowsendPrompt("Skip the rest of the picker and build with current selections")

When you receive either, stop rendering pickers and proceed to the build with the best current token set.

Capturing picks → real code

This is what makes the skill honest. Each option in a widget is backed by a concrete token block (see references/vibe-presets.md for the shape: --bg, --surface, --text, --accent, --radius, --shadow, --font-sans, --ease, etc.).

  1. When a sendPrompt selection arrives, record the exact tokens behind that option into a running style spec (keep it in your working notes / a :root { } block).
  2. Build the real site using those same variables — do not eyeball or re-invent values. The preview and the product share one token set.
  3. Put the final tokens in a single :root { } (or theme file) in the actual project so the choices are centralized and easy to tweak later.

Common mistakes

  • Describing instead of rendering. If you catch yourself typing "we could use…" for a visual choice, render a widget instead.
  • Skipping the opt-in. Always ask the one-line question first; never auto-spawn widgets or auto-code.
  • Widgets without sendPrompt. A preview the user can't click to choose is just decoration. Wire every option.
  • Forgetting the assembled preview. Isolated components hide clashes; the combined preview is the point.
  • Re-inventing token values at build time. Wire the picked tokens verbatim, or the build won't match the preview.
  • No escape hatch. Every widget must offer "use recommendations" and "build now".

What ships with it: 32 files

548.7 KB alongside SKILL.md, 2 of them executable

demo/

docs/

references/

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.