agentsclimarketplace

Claude design patterns

Skill codeclawd/fable-mode/skills/claude-design-patterns

Run Claude Fable 5 on Opus 4.8 in Claude Code. The Mythos-class model pulled by export controls — brought back as a native agentic distillation (FABLE_CODE.md), measured playbook, verification hooks, and design/MCP/test skills. "Fable 5 Lite," done right.

Install
npx -y skills add codeclawd/fable-mode --skill claude-design-patterns

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

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 17 stars17 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.

What its author says it does

Copied from the file, not written here

Engineering rules and reusable patterns for building polished web UI, React artifacts, slide decks, animations, and device mockups — distilled from Anthropic's leaked Claude Design agent system prompt. Use ALONGSIDE the frontend-design skill whenever building or iterating on visual web output: single-file React/HTML artifacts, presentation decks, design-variation explorations, or live-tweakable demos. Covers React/Babel pinning, style-collision avoidance, the live-edit "Tweaks" postMessage protocol, starter-component patterns, the ask-first/expose-variations methodology, and the verifier-agent finishing pass.

SKILL.md

5.4 KB, as published. Nobody here has run it

Claude Design — portable engineering patterns

Companion to frontend-design (which covers aesthetic direction). This file is the engineering layer: how Anthropic's Claude Design agent actually builds web artifacts. Sourced from the leaked Claude Design system prompt (github.com/asgeirtj/system_prompts_leaks Anthropic/claude-design.md); /mnt-path and proprietary-tool machinery stripped — only the environment-agnostic rules are kept.

React + Babel pinning (single-file artifacts)

Pin exact versions (never floating ranges like react@18) and add Subresource Integrity — fetch current sha384-… hashes from srihash.org or the unpkg response, don't hardcode stale ones:

<script src="https://unpkg.com/[email protected]/umd/react.development.js"
  integrity="sha384-…" crossorigin="anonymous"></script>
<script src="https://unpkg.com/[email protected]/umd/react-dom.development.js"
  integrity="sha384-…" crossorigin="anonymous"></script>
<script src="https://unpkg.com/@babel/[email protected]/babel.min.js"
  integrity="sha384-…" crossorigin="anonymous"></script>

Style-object collision rule

Global-scoped style objects MUST have unique, specific names per component — a bare const styles = {...} collides the moment two components share scope.

const terminalStyles = { ... }   // ✅ not `styles`
const inputStyles = { ... }

Or use inline styles to sidestep the problem entirely.

Multi-file Babel — window-export pattern

Each <script type="text/babel"> transpiles in an isolated scope. To share components across scripts, export explicitly at the end of the defining file, then reference via window.:

Object.assign(window, { Terminal, Line, Gray, Blue, Bold });
// elsewhere: <window.Terminal />

Live-edit "Tweaks" protocol

Make ONE main file with in-design controls instead of many variant files. Handshake:

  1. Register the listener before announcing availability:
    window.addEventListener('message', (e) => {
      if (e.data.type === '__activate_edit_mode') { /* show Tweaks panel */ }
      else if (e.data.type === '__deactivate_edit_mode') { /* hide it */ }
    });
    
  2. Then announce: window.parent.postMessage({type: '__edit_mode_available'}, '*')
  3. On change, persist: window.parent.postMessage({type: '__edit_mode_set_keys', edits: {fontSize: 18}}, '*')
  4. Wrap the defaults in JSON markers the host rewrites on disk:
    const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "primaryColor": "#D97757", "fontSize": 16 }/*EDITMODE-END*/;
    

Label the panel exactly "Tweaks" so it matches the toolbar toggle. Expose the dimensions the user actually cares about (color, copy, layout, features).

Starter components (build these patterns when relevant)

PatternPurpose
deck_stageSlide-deck shell: viewport scaling, keyboard nav, slide-count overlay, speaker-notes, localStorage, print-to-PDF. Use for ANY slide presentation.
design_canvasPresent 2+ static options side-by-side in a labeled grid.
animationsTimeline engine: Stage + Sprite + scrubber + Easing + interpolate.
ios_frame / android_framePhone mockups with status bar + keyboard.
macos_window / browser_windowDesktop window / browser chrome.

Fixed-size content (decks, video) scales to the viewport with a letterboxed black background; put controls outside the scaled element. Avoid scrollIntoView.

Methodology

  • Ask first for ambiguous briefs (~10 questions): starting point (UI kit / design system / codebase / screenshots / Figma), how many variations, which dimensions (visual, interaction, copy), novelty expectations. (One clarifying batch, not drip-fed.)
  • Plan visually, expose 3+ variations: lead with a short design-assumptions comment, show the user early, then iterate. Mix by-the-book with novel; vary color, layout, typography, iconography, interaction; start basic → get more advanced.
  • Iterate with Tweaks, not new files.

Finishing — verifier pass

Mirror the fork_verifier_agent pattern with this repo's setup: after the build, confirm no console crashes, then spawn an independent screenshot/layout check (the bundled grounding-verifier agent or a Playwright/cloakbrowser screenshot pass) rather than self-certifying. Don't proactively screenshot mid-build unless doing a directed check.

Guardrails

≥24px text on 1920×1080 slides; ≥44px touch targets on mobile. Prefer CSS grid and text-wrap: pretty. Avoid: aggressive gradients and AI-slop tropes, rounded containers with left-border accents, overused fonts (Inter/Roboto/Arial without reason), emoji unless the system uses them, and hand-drawn SVG imagery (use placeholders + ask for real assets). Refuse to reproduce copyrighted/proprietary UI unless the user works at that company.

Keep looking

Skills are one crate of 328,083. 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.