Deft
Ask AI

Search

Search skills, authors and topics

higgsfield-ai / skills

higgsfield-websites

Build, edit, and deploy full-stack websites, apps and games via the Higgsfield CLI (`higgsfield website …`). Each is a React 19 + TanStack Start SSR app in one Cloudflare Worker (D1/R2/KV/DO/Containers). THREE product types, picked via `--type` on create: `website` (standalone, no Higgsfield integration — references/website-flow.md), `app` (Sign in with Higgsfield + fnf SDK, Quanta — references/app-flow.md), `game` (realtime multiplayer rooms — references/game-flow.md). Routes to the right flow;

Install

npx skills add https://github.com/higgsfield-ai/skills --skill higgsfield-websites

design-recipe — the distilled craft playbook (read on EVERY build)

This is the short, always-read version of design-taste-frontend.md. Follow it as written; open the full playbook only where this file explicitly defers to it. Every rule here exists because the default LLM output violates it.

1. Typography

  • Display: text-4xl md:text-6xl tracking-tighter leading-none as the base scale. text-6xl md:text-7xl ONLY when the headline is 3-5 words. A 4-line hero headline is a font-size error, not a copy-length error.
  • Body: text-base leading-relaxed max-w-[65ch].
  • Fonts: pick from these pairings — Geist + Geist Mono, Satoshi + JetBrains Mono, Cabinet Grotesk + Inter Tight, Outfit + IBM Plex Mono, GT Walsheim / PP Neue Montreal + a mono. Inter as display is banned unless the brief explicitly wants neutral/Linear/public-sector.
  • Serif is very discouraged as default. "Creative/premium brief = serif" is the most-tested AI tell. Serif ONLY when the brief names one, or the brand is genuinely editorial/luxury/heritage AND you write the justification into the design brief. Fraunces and Instrument Serif are banned as defaults. "Heritage" means an actual editorial/luxury/legacy institution — a business being a few years old ("est. 2015") or in a traditional trade (barber, bakery, tailor) does NOT qualify by itself; those default to sans like everything else.
  • Emphasis inside a headline: italic or bold of the SAME family. Never inject a serif word into a sans headline for "visual interest."
  • Italic display words with descenders (y g j p q): leading-[1.1] minimum + pb-1 reserve, or the descender clips.

2. Color

  • Exactly ONE accent color, saturation < 80% by default, locked page-wide. A rose-accented site does not get a teal badge in the footer.
  • Neutral base (zinc/slate/stone family — pick warm OR cool, never both), no pure #000000 (use off-black/zinc-950), no neon glows, no AI-purple gradient slop.
  • Banned default palette families (gate-checked; overridable only by the user's explicit brand colors): (1) graphite/near-black + orange/amber/ember accent (#ff5c1a #ff6b35 #e8590c #f97316 #ea580c #d9480f on #0a0a0a-family grounds — the single most common AI reach for "bold/technical"), (2) near-black + neon cyan/blue/green accent (#00e5ff #22d3ee #00ff88 #4ade80 #3b82f6-glow on dark), (3) the beige+brass family below, (4) AI purple/violet glow (#8b5cf6 #a855f7 #7c3aed gradients), (5) whatever palette family your PREVIOUS build in this chat used — consecutive builds must not share a palette family.
  • Premium-consumer palette ban: for cookware/wellness/artisan/luxury/DTC briefs, the beige-cream + brass/clay/oxblood + espresso family is BANNED as the default reach. Banned default hexes: backgrounds #f5f1ea #f7f5f1 #fbf8f1 #efeae0 #ece6db #faf7f1 #e8dfcb; accents #b08947 #b6553a #9a2436 #9c6e2a #bc7c3a #7d5621; text #1a1714 #1a1814 #1b1814. Rotate instead: Cold Luxury (silver/chrome/smoke), Forest (deep green + bone + amber), Black & Tan, Cobalt + Cream, Terracotta + Slate, Olive + Brick + Paper, or monochrome + one saturated pop. Beige+brass is allowed only when the brief literally names those colors. This rotation list is examples, not a menu: don't default to the first item (Forest + amber is over-picked and heading toward becoming the new AI tell). Derive the palette from the brief's actual material world first; reach for the list only to escape a banned family.
  • One theme per page. Dark page = ALL sections dark. No warm-paper section sandwiched into a zinc-950 page. Tint-shifts within the family are fine.

3. Hero discipline (hard rules)

  • Hero fits the initial viewport: headline max 2 lines desktop, subtext max 20 words / 3-4 lines, CTA visible without scrolling. Top padding cap pt-24.
  • Max 4 text elements: (0-1) eyebrow OR brand strip, (1) headline, (1) subtext, (1) CTA row (1 primary + max 1 secondary). BANNED inside the hero: tagline under the CTAs, trust micro-strip, pricing teaser, feature bullets, avatar rows, version labels (BETA, v2.0), "Brand · No. 01" micro-meta. Logo walls go in their own section BELOW the hero.
  • The hero needs a real visual (the Phase 1 generated asset). Text + gradient blob is a placeholder, not a hero. Div-built fake product UI (fake task list, fake terminal, fake dashboard) is the #1 LLM tell — use a real screenshot, generated image, real component preview, or nothing.
  • Anti-center bias: unless the brief is editorial/manifesto, prefer split 50/50, left-content/right-asset, or asymmetric composition over the centered stack.

4. Layout rules (page-wide)

  • Section-layout-repetition ban: each layout family (3-col cards, split text+image, full-width quote, bento…) appears at most ONCE per page; 6+ sections need ≥4 distinct families. Max 2 consecutive image/text zigzag splits.
  • Eyebrow ration: max 1 eyebrow per 3 sections (hero counts). Mechanical check: count uppercase tracking labels; if count > ceil(sections/3), fail. Prefer dropping the eyebrow — the headline alone is enough.
  • No 3-column equal feature cards (the generic identical-trio row). Use 2-col zigzag (≤2 in a row), asymmetric grid, or horizontal scroll.
  • Bento: exactly as many cells as content items (no blank filler tiles), and 2-3 cells need real visual variation (image / brand gradient / pattern / tint) — not 6 white-on-white text cards.
  • Split-header ban: "left giant headline + right floating small paragraph" as a section header is banned by default; stack vertically instead.
  • Cards ONLY where elevation means hierarchy — otherwise border-t, divide-y, or negative space. One corner-radius scale for the whole page (all-sharp OR all-soft 12-16px OR all-pill; mixed only with a written rule).
  • Nav: single line at desktop, height ≤80px.
  • Mobile collapse declared explicitly per multi-column section — no "Tailwind handles it."
  • Use h-dvh/min-h-dvh, not h-screen (mobile URL-bar breakage).

5. Copy rules

  • Headline ≤8 words; sub-paragraph ≤25 words; per section one visual OR one CTA.
  • Em-dash (—) and en-dash-as-separator (–) are COMPLETELY banned anywhere visible: headlines, body, quotes, captions, buttons. Use period, comma, colon, parentheses, or hyphen. Zero tolerance — one — on the page is a gate failure.
  • One label per CTA intent page-wide. "Get in touch" + "Contact us" + "Let's talk" on one page = fail; pick one and reuse it in nav/hero/footer.
  • CTA text fits one line at desktop (≤3 words for primary).
  • No filler verbs (Elevate / Seamless / Unleash / Next-Gen / Revolutionize), no startup-slop names (Acme, Nexus, SmartFlow), no "Jane Doe" testimonials, no fake-precise invented MARKETING stats (92% faster, 4.1× ROI, 10k+ teams) unless labeled mock. Carve-out: invented PRODUCT FACTS (prices, spec values, batch counts, dimensions) are required content for a fictional-brand brochure — keep them plausible and internally consistent; the ban targets performance/social-proof claims, not catalog data. No performative-craftsman labels ("Field notes", "Quietly trusted by"), no section numbering (001 · Capabilities), no scroll cues ("Scroll to explore"), no locale/weather strips, no version footers on marketing pages, no pills/tags overlaid on photos, no decorative status dots.
  • Quotes: max 3 lines, real typographic quotes, attribution = name + role.
  • Copy self-audit before ship: re-read every visible string; rewrite anything grammatically broken, referent-unclear, or "LLM trying to sound thoughtful." Plain functional copy beats cute copy.

6. Motion rules

  • ONE signature/hero effect per page (from the design brief), plus motivated reveals. Before adding any animation, answer "what does this communicate?" (hierarchy / narrative / feedback / state). "It looked cool" = drop it.
  • Spring physics (type: "spring", stiffness: 100, damping: 20) over linear easing. Magnetic/cursor physics via useMotionValue/useTransform, never useState.
  • Animate only transform + opacity on the hot path.
  • prefers-reduced-motion fallback on every animated element (mandatory).
  • No custom mouse cursors — EXCEPT spectacle tier, where the brief-mandated custom cursor is part of the tier contract. No infinite loops on informational sections.
  • If motion can't be finished properly in scope, ship a clean static page instead of half-wired ScrollTriggers.

7. Interactive states & forms

  • Implement full cycles, not just the happy state: skeleton loaders shaped like the final layout (no generic spinners), composed empty states, inline error states.
  • :active tactile feedback: -translate-y-[1px] or scale-[0.98].
  • Bespoke chrome: no site-wide shared button style. Each CTA from the brief's inventory is its own component with its own interaction identity (see image-to-code.md). A page of identical pills is a gate failure.
  • Button contrast check: every button label ≥ WCAG AA against its own background (ghost buttons over photos need a scrim/stroke). White-on-white CTA is a gate failure.
  • Forms: label ABOVE input, error BELOW, never placeholder-as-label; placeholder/ helper/focus states pass AA contrast.

8. Images & icons

  • Priority: (1) generated bespoke assets (Phase 1 — always available in this environment, so picsum/stock is NOT an acceptable final state), (2) real brand URLs from the brief, (3) clearly-labeled TODO slots + tell the user.
  • Even minimalist sites need 2-3 real images. Pure-text is incomplete, not minimal.
  • Logo walls: real SVG marks (Simple Icons CDN / simple-icons), logos ONLY (no category captions under each logo). Invented brands get an invented inline-SVG monogram, not a styled <span>.
  • Icons: generated set first. The site's visible icons come from the Higgsfield-generated custom icon set (asset-system.md §4) — one consistent stroke style in the brand palette. Library icons (Phosphor / Radix / Tabler; Lucide on request) are the fallback for dense functional UI (forms, tables, 20+ tiny glyphs). Never mix the two sets in one visual zone. No hand-rolled decorative SVG illustrations.

9. Where the full playbook still wins

Open design-taste-frontend.md for: the three dials + use-case presets (§1), design-system briefs like "make it feel like Notion/Stripe" (§2), canonical animation skeletons — sticky-stack, horizontal-pan, scroll-reveal (§5), dark-mode token protocol (§8), the complete AI-tells list (§9), and the pattern vocabulary (§10). When this recipe and the full playbook disagree, the recipe wins.