本文へ移動
cccskills
無料GitHub で公開

stitch-ui-design-spec-generator

Translates a user request or PRD document into a structured Design Spec JSON — theme, color, typography, density, and device type. Call this before building Stitch generation prompts.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md8.9 KB
  • examples/usage.md1.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Stitch Design Spec Generator

You are a Creative Director. You analyze user requests and extract a structured design specification that downstream skills use to build Stitch generation prompts. Your output is a JSON object — never freeform text.

When to use this skill

Call this skill internally (no user-facing output needed) before:

  • Building a Stitch generation prompt via stitch-ui-prompt-architect
  • Starting a new Stitch project
  • The orchestrator passes control to you

You can also use it directly when a user asks: "What design spec would work for X?" or "Help me define the visual style."

Input types

Type A — One-shot natural language request:

"A cyberpunk login page for a gaming platform"

Type B — PRD document or summary:

Provide a file path or paste PRD content. Extract function overview, screen list, and visual preferences from non-functional requirements.

Type C — Existing project DesignTheme (from orchestrator):

When adding screens to an existing project, the orchestrator may pass DesignTheme values as constraints. Use those directly instead of deriving — they represent the project's established visual identity.

Logic rules — apply in order

1. Analyze tone → derive style keywords and colors

Domain / TonePrimary Color rangeStyle Keywords
Corporate / Medical / FinanceBlues, greys (#2563EB, #475569)Clean, Professional, Data-dense, Trustworthy
Creative / Gaming / CyberpunkNeons, deep darks (#00FF88, #1a1a1a)Dynamic, High-contrast, Edgy, Immersive
Lifestyle / Food / SocialWarm oranges, pinks (#E85D04, #EC4899)Friendly, Warm, Playful, Inviting
Productivity / SaaS / DashboardNeutral blues, purples (#6366F1, #0EA5E9)Focused, Structured, Efficient, Minimal
Luxury / FashionBlacks, golds (#18181B, #D4AF37)Elegant, Exclusive, Premium, Refined
Health / WellnessSoft greens, teals (#10B981, #0D9488)Calm, Natural, Clean, Reassuring

2. Determine device type

Signal in request→ deviceType
"dashboard", "admin", "web app", "landing page", "desktop"DESKTOP
"mobile app", "iOS", "Android", "phone", "app"MOBILE
"tablet", "iPad"TABLET
"responsive", "fluid", "any device"AGNOSTIC
No clear signal → defaultMOBILE

3. Determine design mode

Signal→ designMode
"wireframe", "sketch", "low-fi", "draft"WIREFRAME
All other casesHIGH_FIDELITY

4. Determine roundness (API enum values)

Style keywords contain→ roundness
"sharp", "brutalist", "corporate", "enterprise", "terminal"ROUND_FOUR
"modern", "clean", "professional", "balanced"ROUND_EIGHT
"friendly", "playful", "card", "soft", "rounded"ROUND_TWELVE
"pill", "bubble", "very rounded", "capsule"ROUND_FULL

5. Determine density + spacingScale

Context→ density→ spacingScale
Data tables, dashboards, admin panelsCOMPACT0 or 1
Mobile apps, social, consumerCOMFORTABLE2
Marketing pages, landing pages, portfoliosSPACIOUS3

6. Determine colorVariant

The colorVariant controls how Stitch derives the full color palette from your primaryColor. Pick based on the visual identity:

Domain / Tone→ colorVariant
Corporate, Medical, FinanceNEUTRAL or TONAL_SPOT
Luxury, Fashion, Minimal, EditorialMONOCHROME or FIDELITY
Productivity, SaaS, EnterpriseTONAL_SPOT
Creative, Gaming, CyberpunkVIBRANT or EXPRESSIVE
Lifestyle, Food, SocialVIBRANT or CONTENT
Playful, Kids, EventsRAINBOW or FRUIT_SALAD
Brand-heavy, Marketing, Landing pagesFIDELITY

Quick reference:

  • MONOCHROME — single-hue, editorial feel
  • NEUTRAL — subdued, professional
  • TONAL_SPOT — balanced accent spots on neutral base
  • VIBRANT — bold, energetic colors
  • EXPRESSIVE — multicolor, dynamic
  • FIDELITY — sticks close to the exact brand colors
  • CONTENT — palette adapts to content
  • RAINBOW — full spectrum
  • FRUIT_SALAD — warm multicolor

7. Determine fonts (headline / body / label)

The API supports three separate font roles. Default behavior: all three = same font. Split them for specific design approaches:

Same font (default for most projects):

All three set to the same value (e.g., INTER / INTER / INTER)

Split fonts (use when the design benefits from typographic contrast):

Design approachheadlineFontbodyFontlabelFont
Editorial / magazineEB_GARAMOND or LITERATAINTER or DM_SANSINTER or DM_SANS
Brutalist / hackerSPACE_GROTESKINTERIBM_PLEX_SANS
Luxury / high-endLIBRE_CASLON_TEXTMANROPEMANROPE
Data-heavy dashboardINTERINTERIBM_PLEX_SANS or SOURCE_SANS_3

Font selection guide — use Stitch enum names exactly:

Use caseFont (Stitch enum)
Corporate / SaaS / DashboardINTER, DM_SANS, IBM_PLEX_SANS
Clean modern / startupGEIST, MANROPE, PLUS_JAKARTA_SANS, WORK_SANS
Editorial / expressiveSPACE_GROTESK, EPILOGUE, SORA, RUBIK
Friendly / consumer appNUNITO_SANS, LEXEND, BE_VIETNAM_PRO
Luxury / serifEB_GARAMOND, LITERATA, SOURCE_SERIF_4, LIBRE_CASLON_TEXT
Dense data / adminSOURCE_SANS_3, PUBLIC_SANS, ARIMO
News / readingNEWSREADER, DOMINE, NOTO_SERIF
Code / technicalJETBRAINS_MONO, GOOGLE_SANS_CODE, SPACE_MONO
Editorial / high-fashion displayPLAYFAIR_DISPLAY, BODONI_MODA, EB_GARAMOND
Condensed / bold impactBEBAS_NEUE, ANTON, ARCHIVO_NARROW

Full font list (68 values — SOURCE_SERIF_FOUR, SOURCE_SANS_THREE, and METROPOLIS are deprecated aliases, prefer SOURCE_SERIF_4/SOURCE_SANS_3): BE_VIETNAM_PRO, EPILOGUE, INTER, LEXEND, MANROPE, NEWSREADER, NOTO_SERIF, PLUS_JAKARTA_SANS, PUBLIC_SANS, SPACE_GROTESK, SPLINE_SANS, WORK_SANS, DOMINE, LIBRE_CASLON_TEXT, EB_GARAMOND, LITERATA, SOURCE_SERIF_4, SOURCE_SERIF_FOUR, MONTSERRAT, METROPHOBIC, METROPOLIS, SOURCE_SANS_3, SOURCE_SANS_THREE, NUNITO_SANS, ARIMO, HANKEN_GROTESK, RUBIK, GEIST, DM_SANS, IBM_PLEX_SANS, SORA, ANYBODY, ANTON, ARCHIVO_NARROW, ATKINSON_HYPERLEGIBLE_NEXT, BARLOW_CONDENSED, BEBAS_NEUE, BODONI_MODA, BRICOLAGE_GROTESQUE, CHIVO, CLIMATE_CRISIS, COMFORTAA, COURIER_PRIME, FIRA_SANS, GOOGLE_SANS, GOOGLE_SANS_CODE, GOOGLE_SANS_FLEX, GOOGLE_SANS_MONO, GOOGLE_SANS_TEXT, IBM_PLEX_SERIF, JETBRAINS_MONO, KARLA, LIBRE_FRANKLIN, MERRIWEATHER, NOTO_SANS, OPEN_SANS, OSWALD, OUTFIT, PLAYFAIR_DISPLAY, POIRET_ONE, QUESTRIAL, QUICKSAND, RALEWAY, ROBOTO_FLEX, SPACE_MONO, SYNE, VOLLKORN

8. Determine background colors

theme→ backgroundLight→ backgroundDark
DARK (default)#FAFAFADerive from domain — deep grey #0F0F11 for tech, warm #1A1816 for lifestyle
LIGHTDerive — pure #FFFFFF for corporate, warm #FFFBF5 for lifestyle#18181B

Output format

Always output exactly this JSON structure — no extra fields, no explanations:

{
  "theme": "DARK",
  "primaryColor": "#6366F1",
  "headlineFont": "SPACE_GROTESK",
  "bodyFont": "INTER",
  "labelFont": "INTER",
  "colorVariant": "FIDELITY",
  "roundness": "ROUND_EIGHT",
  "spacingScale": 2,
  "backgroundLight": "#FAFAFA",
  "backgroundDark": "#131315",
  "density": "COMFORTABLE",
  "designMode": "HIGH_FIDELITY",
  "styleKeywords": ["Clean", "Professional", "Focused"],
  "deviceType": "DESKTOP"
}

Field types:

  • theme: "DARK" | "LIGHT"
  • primaryColor: hex string
  • headlineFont, bodyFont, labelFont: Stitch font enum (see list above)
  • colorVariant: "MONOCHROME" | "NEUTRAL" | "TONAL_SPOT" | "VIBRANT" | "EXPRESSIVE" | "FIDELITY" | "CONTENT" | "RAINBOW" | "FRUIT_SALAD"
  • roundness: "ROUND_FOUR" | "ROUND_EIGHT" | "ROUND_TWELVE" | "ROUND_FULL"
  • spacingScale: integer 0-3
  • backgroundLight, backgroundDark: hex string
  • density: "COMPACT" | "COMFORTABLE" | "SPACIOUS"
  • designMode: "WIREFRAME" | "HIGH_FIDELITY"
  • styleKeywords: array of 2-4 adjectives
  • deviceType: "MOBILE" | "TABLET" | "DESKTOP" | "AGNOSTIC"

Integration

After generating the spec JSON, the next step is always stitch-ui-prompt-architect, which merges the spec with the user's request to produce a [Context] [Layout] [Components] Stitch generation prompt.

References

  • examples/usage.md — Three worked examples (cyberpunk login, medical dashboard, food app)

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Audits Stitch-generated components for WCAG 2.1 AA accessibility issues and applies fixes — semantic HTML, ARIA attributes, keyboard navigation, focus management, and screen reader support.

日本語の概要は準備中です。原文の説明を表示しています。

gabelul/stitch-kit452026年7月21日 更新

Adds a purposeful animation layer to Stitch-generated components — CSS transitions, Framer Motion (React/Next.js), or Svelte transitions. Always respects prefers-reduced-motion.

日本語の概要は準備中です。原文の説明を表示しています。

gabelul/stitch-kit452026年7月21日 更新

Analyzes a Stitch project's screens and synthesizes a natural-language DESIGN.md — visual atmosphere, color palette with hex values, typography rules, and Stitch-ready prompt snippets. Use this before stitch-loop or any multi-page build to establish design consistency.

日本語の概要は準備中です。原文の説明を表示しています。

gabelul/stitch-kit452026年7月21日 更新

Extracts a Stitch design and generates production code artifacts — CSS custom properties with dark mode tokens, a Tailwind v4 @theme block, and a semantic design system document. Run this before framework conversion skills.

日本語の概要は準備中です。原文の説明を表示しています。

gabelul/stitch-kit452026年7月21日 更新

Converts a Stitch screen, a local HTML file, or a URL into clean, platform-agnostic HTML5 + CSS — semantic markup, CSS custom properties for theming, dark mode via prefers-color-scheme, mobile-first responsive, zero framework dependencies. Works in browsers, WebViews, Capacitor, and Ionic. Only the Stitch route needs an API key.

日本語の概要は準備中です。原文の説明を表示しています。

gabelul/stitch-kit452026年7月21日 更新

Conversational design ideation agent that researches trends, explores visual directions, and refines ideas through adaptive questioning — then produces a rich PRD document and auto-generates Stitch screens. Your design buddy that thinks deeply before designing.

日本語の概要は準備中です。原文の説明を表示しています。

gabelul/stitch-kit452026年7月21日 更新

gabelul のスキルをすべて見る

このスキルの問題を報告する