Compact Landing
Use this skill to build compact, tactile, premium landing pages with precision UI density.
It is portable across models and stacks: treat it as a visual-system recipe, not a dependency on one repo.
Preflight
Before implementing, ask the user these questions unless they already answered them or explicitly told you to choose defaults:
- What product is the page for, and what is the primary CTA?
- Which compact layout should lead: Instrument, Console, Ledger, Workbench, or Manual?
- What theme direction fits best: neutral-light, soft-dark, editorial-white, or product-tinted?
- Should corners feel sharp, balanced, or softly rounded?
- Should the page use load transitions: none, subtle fade-in/out, or staggered fade/slide?
- How much content is needed: CTA-only, concise proof, or compact product walkthrough?
If the user wants you to proceed without answering, use these defaults: Instrument layout, neutral-light theme, balanced small radii, subtle staggered fade on load, one clear CTA, one proof row group, one install/action block, and one compact detail/code section.
Style Model
Create a page that feels like a small, finished instrument:
- Use a compact composition, not a wide marketing layout.
- Keep the primary CTA visible early and repeat it only when it reduces friction.
- Use restrained neutral-white surfaces with zinc ink and tiny green/amber status accents.
- Let spacing do most hierarchy work; avoid hero drama, gradients as decoration, big cards, badges, or feature grids.
- Make every interactive element feel tactile through tiny scale-on-press, shadow depth, and stable label widths.
- Favor mono metadata, command fields, segmented controls, code cards, rows, and live micro-demos.
When exact values matter, read references/style-dna.md. Use those values as defaults, then adapt only when the product context requires it.
Build Rules
- Page shell: center content with
display: grid; place-items: center; min-height: 100dvh; overflow-x: clip.
- Main column: use
max-width: 440px, width: 100%, padding: 56px 24px; on mobile use 36px 18px 44px.
- Type: use
Geist for UI, Geist Mono for metadata/code; base 14px/1.5; global tracking -0.01em.
- Palette: use off-black zinc ink, muted zinc secondary text, white surfaces, 7% black hairlines, green success, amber busy.
- Depth: use layered shadow rings plus subtle inset highlight instead of visible borders on controls/cards.
- Radius: keep small and precise:
6px controls, 9px command fields, 10px code cards. Avoid pill-heavy UI except true status dots.
- Layout rhythm: header margin
6px, tagline margin 36px, demo rows 52px tall, section gaps 36-44px, usage head gap 12px, footer margin 44px.
- Motion: use
cubic-bezier(0.2, 0, 0, 1), 120ms press transforms, 220-300ms fades, 600ms page entrance staggered by 90ms.
- Label stability: lock animated label widths to the widest state so text rolls never shift layout.
- Microinteractions: active buttons scale to
0.96; wider command controls scale to 0.98; icon swaps animate opacity, scale 0.25 -> 1, blur 4px -> 0.
- Rows: use hairline separators and right-aligned controls; do not box every row.
- Code: small mono card with translucent white surface,
blur(8px), 12.5px/1.7, syntax accent only for keywords/strings.
- CTA clarity: use one primary action verb, one supporting action at most, and never bury the CTA below a long explanation.
- Information density: include only what helps a visitor decide or act: product name, plain promise, one proof/preview area, CTA/action block, and concise details.
Variation Rules
Every page should look related to this system but not cloned from prior outputs. Before designing, choose one composition variant and make it visible in the first screen:
- Instrument: header, tagline, live rows, install command, compact usage code.
- Console: command field first, then short promise, tabs, logs, and one tiny action row.
- Ledger: stacked hairline rows with status dots, command field embedded between row groups, code below.
- Workbench: compact two-zone layout inside the same narrow column: controls above, output/code below.
- Manual: dense title block, install command, concise steps, one live preview row.
Vary at least three details per generation: section order, row count, command placement, tab labels, micro-demo type, accent token, icon set, footer links, or copy rhythm. Keep the same compact constraints: narrow page, quiet type, small controls, hairlines, stable animated labels, restrained motion, and no generic feature grid.
Cross-Model Use
If the host model cannot load bundled references, copy the tokens and measurements from this SKILL.md first, then optionally paste references/style-dna.md for full precision.
If the target stack lacks CSS anchor positioning, use a simple active-tab background fallback. If it lacks Geist, use a clean geometric sans plus a true monospace. If JavaScript is not available, keep labels fixed-width with CSS min-width values.
Avoid
- Wide SaaS hero sections, large display headings, centered slogan stacks, three-card feature rows.
- Oversized radii, neon glow, colored gradient backgrounds, purple-blue AI styling, emojis.
- Thick borders where a shadow ring should define the surface.
- Layout shifts during text animation or number changes.
- Heavy dependencies for simple motion; use CSS transforms and opacity first.
Review Checklist
- Preflight questions were asked or the user explicitly accepted defaults.
- Primary CTA is clear in the first viewport and repeated only if useful.
- Column remains compact at desktop and mobile widths.
- The first screen clearly uses one chosen variation rather than the default sample structure.
- Text hierarchy is quiet:
h1 around 17px, section labels around 13px, row labels around 12px mono.
- All numbers use tabular numerals.
- Controls have at least tactile feedback and no
transition: all.
- Section spacing uses the tight rhythm from this skill, not generic landing-page spacing.
- Animated labels are width-locked before state changes.
- Reduced motion preserves usability.
1---2name: compact-landing3description: Apply a compact tactile UI style system for narrow product pages, package demos, developer-tool landing pages, documentation intros, and polished micro-SaaS pages. Use when an interface should feel precise, quiet, dense, and premium: centered compact layouts, tiny monospace metadata, neutral-white surfaces, width-stable animated labels, hairline separators, small tactile controls, subtle depth, restrained CSS motion, and a simple but distinct composition per page.4---56# Compact Landing78Use this skill to build compact, tactile, premium landing pages with precision UI density.9It is portable across models and stacks: treat it as a visual-system recipe, not a dependency on one repo.1011## Preflight1213Before implementing, ask the user these questions unless they already answered them or explicitly told you to choose defaults:14151. What product is the page for, and what is the primary CTA?162. Which compact layout should lead: Instrument, Console, Ledger, Workbench, or Manual?173. What theme direction fits best: neutral-light, soft-dark, editorial-white, or product-tinted?184. Should corners feel sharp, balanced, or softly rounded?195. Should the page use load transitions: none, subtle fade-in/out, or staggered fade/slide?206. How much content is needed: CTA-only, concise proof, or compact product walkthrough?2122If the user wants you to proceed without answering, use these defaults: Instrument layout, neutral-light theme, balanced small radii, subtle staggered fade on load, one clear CTA, one proof row group, one install/action block, and one compact detail/code section.2324## Style Model2526Create a page that feels like a small, finished instrument:2728- Use a compact composition, not a wide marketing layout.29- Keep the primary CTA visible early and repeat it only when it reduces friction.30- Use restrained neutral-white surfaces with zinc ink and tiny green/amber status accents.31- Let spacing do most hierarchy work; avoid hero drama, gradients as decoration, big cards, badges, or feature grids.32- Make every interactive element feel tactile through tiny scale-on-press, shadow depth, and stable label widths.33- Favor mono metadata, command fields, segmented controls, code cards, rows, and live micro-demos.3435When exact values matter, read `references/style-dna.md`. Use those values as defaults, then adapt only when the product context requires it.3637## Build Rules38391. Page shell: center content with `display: grid; place-items: center; min-height: 100dvh; overflow-x: clip`.402. Main column: use `max-width: 440px`, `width: 100%`, `padding: 56px 24px`; on mobile use `36px 18px 44px`.413. Type: use `Geist` for UI, `Geist Mono` for metadata/code; base `14px/1.5`; global tracking `-0.01em`.424. Palette: use off-black zinc ink, muted zinc secondary text, white surfaces, 7% black hairlines, green success, amber busy.435. Depth: use layered shadow rings plus subtle inset highlight instead of visible borders on controls/cards.446. Radius: keep small and precise: `6px` controls, `9px` command fields, `10px` code cards. Avoid pill-heavy UI except true status dots.457. Layout rhythm: header margin `6px`, tagline margin `36px`, demo rows `52px` tall, section gaps `36-44px`, usage head gap `12px`, footer margin `44px`.468. Motion: use `cubic-bezier(0.2, 0, 0, 1)`, 120ms press transforms, 220-300ms fades, 600ms page entrance staggered by 90ms.479. Label stability: lock animated label widths to the widest state so text rolls never shift layout.4810. Microinteractions: active buttons scale to `0.96`; wider command controls scale to `0.98`; icon swaps animate opacity, scale `0.25 -> 1`, blur `4px -> 0`.4911. Rows: use hairline separators and right-aligned controls; do not box every row.5012. Code: small mono card with translucent white surface, `blur(8px)`, `12.5px/1.7`, syntax accent only for keywords/strings.5113. CTA clarity: use one primary action verb, one supporting action at most, and never bury the CTA below a long explanation.5214. Information density: include only what helps a visitor decide or act: product name, plain promise, one proof/preview area, CTA/action block, and concise details.5354## Variation Rules5556Every page should look related to this system but not cloned from prior outputs. Before designing, choose one composition variant and make it visible in the first screen:5758- **Instrument**: header, tagline, live rows, install command, compact usage code.59- **Console**: command field first, then short promise, tabs, logs, and one tiny action row.60- **Ledger**: stacked hairline rows with status dots, command field embedded between row groups, code below.61- **Workbench**: compact two-zone layout inside the same narrow column: controls above, output/code below.62- **Manual**: dense title block, install command, concise steps, one live preview row.6364Vary at least three details per generation: section order, row count, command placement, tab labels, micro-demo type, accent token, icon set, footer links, or copy rhythm. Keep the same compact constraints: narrow page, quiet type, small controls, hairlines, stable animated labels, restrained motion, and no generic feature grid.6566## Cross-Model Use6768If the host model cannot load bundled references, copy the tokens and measurements from this `SKILL.md` first, then optionally paste `references/style-dna.md` for full precision.6970If the target stack lacks CSS anchor positioning, use a simple active-tab background fallback. If it lacks Geist, use a clean geometric sans plus a true monospace. If JavaScript is not available, keep labels fixed-width with CSS `min-width` values.7172## Avoid7374- Wide SaaS hero sections, large display headings, centered slogan stacks, three-card feature rows.75- Oversized radii, neon glow, colored gradient backgrounds, purple-blue AI styling, emojis.76- Thick borders where a shadow ring should define the surface.77- Layout shifts during text animation or number changes.78- Heavy dependencies for simple motion; use CSS transforms and opacity first.7980## Review Checklist8182- Preflight questions were asked or the user explicitly accepted defaults.83- Primary CTA is clear in the first viewport and repeated only if useful.84- Column remains compact at desktop and mobile widths.85- The first screen clearly uses one chosen variation rather than the default sample structure.86- Text hierarchy is quiet: `h1` around 17px, section labels around 13px, row labels around 12px mono.87- All numbers use tabular numerals.88- Controls have at least tactile feedback and no `transition: all`.89- Section spacing uses the tight rhythm from this skill, not generic landing-page spacing.90- Animated labels are width-locked before state changes.91- Reduced motion preserves usability.