diff --git a/.agents/skills/design-taste-frontend/SKILL.md b/.agents/skills/design-taste-frontend/SKILL.md new file mode 100644 index 000000000..ccc3a2f84 --- /dev/null +++ b/.agents/skills/design-taste-frontend/SKILL.md @@ -0,0 +1,226 @@ +--- +name: design-taste-frontend +description: Senior UI/UX Engineer. Architect digital interfaces overriding default LLM biases. Enforces metric-based rules, strict component architecture, CSS hardware acceleration, and balanced design engineering. +--- + +# High-Agency Frontend Skill + +## 1. ACTIVE BASELINE CONFIGURATION +* DESIGN_VARIANCE: 8 (1=Perfect Symmetry, 10=Artsy Chaos) +* MOTION_INTENSITY: 6 (1=Static/No movement, 10=Cinematic/Magic Physics) +* VISUAL_DENSITY: 4 (1=Art Gallery/Airy, 10=Pilot Cockpit/Packed Data) + +**AI Instruction:** The standard baseline for all generations is strictly set to these values (8, 6, 4). Do not ask the user to edit this file. Otherwise, ALWAYS listen to the user: adapt these values dynamically based on what they explicitly request in their chat prompts. Use these baseline (or user-overridden) values as your global variables to drive the specific logic in Sections 3 through 7. + +## 2. DEFAULT ARCHITECTURE & CONVENTIONS +Unless the user explicitly specifies a different stack, adhere to these structural constraints to maintain consistency: + +* **DEPENDENCY VERIFICATION [MANDATORY]:** Before importing ANY 3rd party library (e.g. `framer-motion`, `lucide-react`, `zustand`), you MUST check `package.json`. If the package is missing, you MUST output the installation command (e.g. `npm install package-name`) before providing the code. **Never** assume a library exists. +* **Framework & Interactivity:** React or Next.js. Default to Server Components (`RSC`). + * **RSC SAFETY:** Global state works ONLY in Client Components. In Next.js, wrap providers in a `"use client"` component. + * **INTERACTIVITY ISOLATION:** If Sections 4 or 7 (Motion/Liquid Glass) are active, the specific interactive UI component MUST be extracted as an isolated leaf component with `'use client'` at the very top. Server Components must exclusively render static layouts. +* **State Management:** Use local `useState`/`useReducer` for isolated UI. Use global state strictly for deep prop-drilling avoidance. +* **Styling Policy:** Use Tailwind CSS (v3/v4) for 90% of styling. + * **TAILWIND VERSION LOCK:** Check `package.json` first. Do not use v4 syntax in v3 projects. + * **T4 CONFIG GUARD:** For v4, do NOT use `tailwindcss` plugin in `postcss.config.js`. Use `@tailwindcss/postcss` or the Vite plugin. +* **ANTI-EMOJI POLICY [CRITICAL]:** NEVER use emojis in code, markup, text content, or alt text. Replace symbols with high-quality icons (Radix, Phosphor) or clean SVG primitives. Emojis are BANNED. +* **Responsiveness & Spacing:** + * Standardize breakpoints (`sm`, `md`, `lg`, `xl`). + * Contain page layouts using `max-w-[1400px] mx-auto` or `max-w-7xl`. + * **Viewport Stability [CRITICAL]:** NEVER use `h-screen` for full-height Hero sections. ALWAYS use `min-h-[100dvh]` to prevent catastrophic layout jumping on mobile browsers (iOS Safari). + * **Grid over Flex-Math:** NEVER use complex flexbox percentage math (`w-[calc(33%-1rem)]`). ALWAYS use CSS Grid (`grid grid-cols-1 md:grid-cols-3 gap-6`) for reliable structures. +* **Icons:** You MUST use exactly `@phosphor-icons/react` or `@radix-ui/react-icons` as the import paths (check installed version). Standardize `strokeWidth` globally (e.g., exclusively use `1.5` or `2.0`). + + +## 3. DESIGN ENGINEERING DIRECTIVES (Bias Correction) +LLMs have statistical biases toward specific UI cliché patterns. Proactively construct premium interfaces using these engineered rules: + +**Rule 1: Deterministic Typography** +* **Display/Headlines:** Default to `text-4xl md:text-6xl tracking-tighter leading-none`. + * **ANTI-SLOP:** Discourage `Inter` for "Premium" or "Creative" vibes. Force unique character using `Geist`, `Outfit`, `Cabinet Grotesk`, or `Satoshi`. + * **TECHNICAL UI RULE:** Serif fonts are strictly BANNED for Dashboard/Software UIs. For these contexts, use exclusively high-end Sans-Serif pairings (`Geist` + `Geist Mono` or `Satoshi` + `JetBrains Mono`). +* **Body/Paragraphs:** Default to `text-base text-gray-600 leading-relaxed max-w-[65ch]`. + +**Rule 2: Color Calibration** +* **Constraint:** Max 1 Accent Color. Saturation < 80%. +* **THE LILA BAN:** The "AI Purple/Blue" aesthetic is strictly BANNED. No purple button glows, no neon gradients. Use absolute neutral bases (Zinc/Slate) with high-contrast, singular accents (e.g. Emerald, Electric Blue, or Deep Rose). +* **COLOR CONSISTENCY:** Stick to one palette for the entire output. Do not fluctuate between warm and cool grays within the same project. + +**Rule 3: Layout Diversification** +* **ANTI-CENTER BIAS:** Centered Hero/H1 sections are strictly BANNED when `LAYOUT_VARIANCE > 4`. Force "Split Screen" (50/50), "Left Aligned content/Right Aligned asset", or "Asymmetric White-space" structures. + +**Rule 4: Materiality, Shadows, and "Anti-Card Overuse"** +* **DASHBOARD HARDENING:** For `VISUAL_DENSITY > 7`, generic card containers are strictly BANNED. Use logic-grouping via `border-t`, `divide-y`, or purely negative space. Data metrics should breathe without being boxed in unless elevation (z-index) is functionally required. +* **Execution:** Use cards ONLY when elevation communicates hierarchy. When a shadow is used, tint it to the background hue. + +**Rule 5: Interactive UI States** +* **Mandatory Generation:** LLMs naturally generate "static" successful states. You MUST implement full interaction cycles: + * **Loading:** Skeletal loaders matching layout sizes (avoid generic circular spinners). + * **Empty States:** Beautifully composed empty states indicating how to populate data. + * **Error States:** Clear, inline error reporting (e.g., forms). + * **Tactile Feedback:** On `:active`, use `-translate-y-[1px]` or `scale-[0.98]` to simulate a physical push indicating success/action. + +**Rule 6: Data & Form Patterns** +* **Forms:** Label MUST sit above input. Helper text is optional but should exist in markup. Error text below input. Use a standard `gap-2` for input blocks. + +## 4. CREATIVE PROACTIVITY (Anti-Slop Implementation) +To actively combat generic AI designs, systematically implement these high-end coding concepts as your baseline: +* **"Liquid Glass" Refraction:** When glassmorphism is needed, go beyond `backdrop-blur`. Add a 1px inner border (`border-white/10`) and a subtle inner shadow (`shadow-[inset_0_1px_0_rgba(255,255,255,0.1)]`) to simulate physical edge refraction. +* **Magnetic Micro-physics (If MOTION_INTENSITY > 5):** Implement buttons that pull slightly toward the mouse cursor. **CRITICAL:** NEVER use React `useState` for magnetic hover or continuous animations. Use EXCLUSIVELY Framer Motion's `useMotionValue` and `useTransform` outside the React render cycle to prevent performance collapse on mobile. +* **Perpetual Micro-Interactions:** When `MOTION_INTENSITY > 5`, embed continuous, infinite micro-animations (Pulse, Typewriter, Float, Shimmer, Carousel) in standard components (avatars, status dots, backgrounds). Apply premium Spring Physics (`type: "spring", stiffness: 100, damping: 20`) to all interactive elements—no linear easing. +* **Layout Transitions:** Always utilize Framer Motion's `layout` and `layoutId` props for smooth re-ordering, resizing, and shared element transitions across state changes. +* **Staggered Orchestration:** Do not mount lists or grids instantly. Use `staggerChildren` (Framer) or CSS cascade (`animation-delay: calc(var(--index) * 100ms)`) to create sequential waterfall reveals. **CRITICAL:** For `staggerChildren`, the Parent (`variants`) and Children MUST reside in the identical Client Component tree. If data is fetched asynchronously, pass the data as props into a centralized Parent Motion wrapper. + +## 5. PERFORMANCE GUARDRAILS +* **DOM Cost:** Apply grain/noise filters exclusively to fixed, pointer-event-none pseudo-elements (e.g., `fixed inset-0 z-50 pointer-events-none`) and NEVER to scrolling containers to prevent continuous GPU repaints and mobile performance degradation. +* **Hardware Acceleration:** Never animate `top`, `left`, `width`, or `height`. Animate exclusively via `transform` and `opacity`. +* **Z-Index Restraint:** NEVER spam arbitrary `z-50` or `z-10` unprompted. Use z-indexes strictly for systemic layer contexts (Sticky Navbars, Modals, Overlays). + +## 6. TECHNICAL REFERENCE (Dial Definitions) + +### DESIGN_VARIANCE (Level 1-10) +* **1-3 (Predictable):** Flexbox `justify-center`, strict 12-column symmetrical grids, equal paddings. +* **4-7 (Offset):** Use `margin-top: -2rem` overlapping, varied image aspect ratios (e.g., 4:3 next to 16:9), left-aligned headers over center-aligned data. +* **8-10 (Asymmetric):** Masonry layouts, CSS Grid with fractional units (e.g., `grid-template-columns: 2fr 1fr 1fr`), massive empty zones (`padding-left: 20vw`). +* **MOBILE OVERRIDE:** For levels 4-10, any asymmetric layout above `md:` MUST aggressively fall back to a strict, single-column layout (`w-full`, `px-4`, `py-8`) on viewports `< 768px` to prevent horizontal scrolling and layout breakage. + +### MOTION_INTENSITY (Level 1-10) +* **1-3 (Static):** No automatic animations. CSS `:hover` and `:active` states only. +* **4-7 (Fluid CSS):** Use `transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1)`. Use `animation-delay` cascades for load-ins. Focus strictly on `transform` and `opacity`. Use `will-change: transform` sparingly. +* **8-10 (Advanced Choreography):** Complex scroll-triggered reveals or parallax. Use Framer Motion hooks. NEVER use `window.addEventListener('scroll')`. + +### VISUAL_DENSITY (Level 1-10) +* **1-3 (Art Gallery Mode):** Lots of white space. Huge section gaps. Everything feels very expensive and clean. +* **4-7 (Daily App Mode):** Normal spacing for standard web apps. +* **8-10 (Cockpit Mode):** Tiny paddings. No card boxes; just 1px lines to separate data. Everything is packed. **Mandatory:** Use Monospace (`font-mono`) for all numbers. + +## 7. AI TELLS (Forbidden Patterns) +To guarantee a premium, non-generic output, you MUST strictly avoid these common AI design signatures unless explicitly requested: + +### Visual & CSS +* **NO Neon/Outer Glows:** Do not use default `box-shadow` glows or auto-glows. Use inner borders or subtle tinted shadows. +* **NO Pure Black:** Never use `#000000`. Use Off-Black, Zinc-950, or Charcoal. +* **NO Oversaturated Accents:** Desaturate accents to blend elegantly with neutrals. +* **NO Excessive Gradient Text:** Do not use text-fill gradients for large headers. +* **NO Custom Mouse Cursors:** They are outdated and ruin performance/accessibility. + +### Typography +* **NO Inter Font:** Banned. Use `Geist`, `Outfit`, `Cabinet Grotesk`, or `Satoshi`. +* **NO Oversized H1s:** The first heading should not scream. Control hierarchy with weight and color, not just massive scale. +* **Serif Constraints:** Use Serif fonts ONLY for creative/editorial designs. **NEVER** use Serif on clean Dashboards. + +### Layout & Spacing +* **Align & Space Perfectly:** Ensure padding and margins are mathematically perfect. Avoid floating elements with awkward gaps. +* **NO 3-Column Card Layouts:** The generic "3 equal cards horizontally" feature row is BANNED. Use a 2-column Zig-Zag, asymmetric grid, or horizontal scrolling approach instead. + +### Content & Data (The "Jane Doe" Effect) +* **NO Generic Names:** "John Doe", "Sarah Chan", or "Jack Su" are banned. Use highly creative, realistic-sounding names. +* **NO Generic Avatars:** DO NOT use standard SVG "egg" or Lucide user icons for avatars. Use creative, believable photo placeholders or specific styling. +* **NO Fake Numbers:** Avoid predictable outputs like `99.99%`, `50%`, or basic phone numbers (`1234567`). Use organic, messy data (`47.2%`, `+1 (312) 847-1928`). +* **NO Startup Slop Names:** "Acme", "Nexus", "SmartFlow". Invent premium, contextual brand names. +* **NO Filler Words:** Avoid AI copywriting clichés like "Elevate", "Seamless", "Unleash", or "Next-Gen". Use concrete verbs. + +### External Resources & Components +* **NO Broken Unsplash Links:** Do not use Unsplash. Use absolute, reliable placeholders like `https://picsum.photos/seed/{random_string}/800/600` or SVG UI Avatars. +* **shadcn/ui Customization:** You may use `shadcn/ui`, but NEVER in its generic default state. You MUST customize the radii, colors, and shadows to match the high-end project aesthetic. +* **Production-Ready Cleanliness:** Code must be extremely clean, visually striking, memorable, and meticulously refined in every detail. + +## 8. THE CREATIVE ARSENAL (High-End Inspiration) +Do not default to generic UI. Pull from this library of advanced concepts to ensure the output is visually striking and memorable. When appropriate, leverage **GSAP (ScrollTrigger/Parallax)** for complex scrolltelling or **ThreeJS/WebGL** for 3D/Canvas animations, rather than basic CSS motion. **CRITICAL:** Never mix GSAP/ThreeJS with Framer Motion in the same component tree. Default to Framer Motion for UI/Bento interactions. Use GSAP/ThreeJS EXCLUSIVELY for isolated full-page scrolltelling or canvas backgrounds, wrapped in strict useEffect cleanup blocks. + +### The Standard Hero Paradigm +* Stop doing centered text over a dark image. Try asymmetric Hero sections: Text cleanly aligned to the left or right. The background should feature a high-quality, relevant image with a subtle stylistic fade (darkening or lightening gracefully into the background color depending on if it is Light or Dark mode). + +### Navigation & Menüs +* **Mac OS Dock Magnification:** Nav-bar at the edge; icons scale fluidly on hover. +* **Magnetic Button:** Buttons that physically pull toward the cursor. +* **Gooey Menu:** Sub-items detach from the main button like a viscous liquid. +* **Dynamic Island:** A pill-shaped UI component that morphs to show status/alerts. +* **Contextual Radial Menu:** A circular menu expanding exactly at the click coordinates. +* **Floating Speed Dial:** A FAB that springs out into a curved line of secondary actions. +* **Mega Menu Reveal:** Full-screen dropdowns that stagger-fade complex content. + +### Layout & Grids +* **Bento Grid:** Asymmetric, tile-based grouping (e.g., Apple Control Center). +* **Masonry Layout:** Staggered grid without fixed row heights (e.g., Pinterest). +* **Chroma Grid:** Grid borders or tiles showing subtle, continuously animating color gradients. +* **Split Screen Scroll:** Two screen halves sliding in opposite directions on scroll. +* **Curtain Reveal:** A Hero section parting in the middle like a curtain on scroll. + +### Cards & Containers +* **Parallax Tilt Card:** A 3D-tilting card tracking the mouse coordinates. +* **Spotlight Border Card:** Card borders that illuminate dynamically under the cursor. +* **Glassmorphism Panel:** True frosted glass with inner refraction borders. +* **Holographic Foil Card:** Iridescent, rainbow light reflections shifting on hover. +* **Tinder Swipe Stack:** A physical stack of cards the user can swipe away. +* **Morphing Modal:** A button that seamlessly expands into its own full-screen dialog container. + +### Scroll-Animations +* **Sticky Scroll Stack:** Cards that stick to the top and physically stack over each other. +* **Horizontal Scroll Hijack:** Vertical scroll translates into a smooth horizontal gallery pan. +* **Locomotive Scroll Sequence:** Video/3D sequences where framerate is tied directly to the scrollbar. +* **Zoom Parallax:** A central background image zooming in/out seamlessly as you scroll. +* **Scroll Progress Path:** SVG vector lines or routes that draw themselves as the user scrolls. +* **Liquid Swipe Transition:** Page transitions that wipe the screen like a viscous liquid. + +### Galleries & Media +* **Dome Gallery:** A 3D gallery feeling like a panoramic dome. +* **Coverflow Carousel:** 3D carousel with the center focused and edges angled back. +* **Drag-to-Pan Grid:** A boundless grid you can freely drag in any compass direction. +* **Accordion Image Slider:** Narrow vertical/horizontal image strips that expand fully on hover. +* **Hover Image Trail:** The mouse leaves a trail of popping/fading images behind it. +* **Glitch Effect Image:** Brief RGB-channel shifting digital distortion on hover. + +### Typography & Text +* **Kinetic Marquee:** Endless text bands that reverse direction or speed up on scroll. +* **Text Mask Reveal:** Massive typography acting as a transparent window to a video background. +* **Text Scramble Effect:** Matrix-style character decoding on load or hover. +* **Circular Text Path:** Text curved along a spinning circular path. +* **Gradient Stroke Animation:** Outlined text with a gradient continuously running along the stroke. +* **Kinetic Typography Grid:** A grid of letters dodging or rotating away from the cursor. + +### Micro-Interactions & Effects +* **Particle Explosion Button:** CTAs that shatter into particles upon success. +* **Liquid Pull-to-Refresh:** Mobile reload indicators acting like detaching water droplets. +* **Skeleton Shimmer:** Shifting light reflections moving across placeholder boxes. +* **Directional Hover Aware Button:** Hover fill entering from the exact side the mouse entered. +* **Ripple Click Effect:** Visual waves rippling precisely from the click coordinates. +* **Animated SVG Line Drawing:** Vectors that draw their own contours in real-time. +* **Mesh Gradient Background:** Organic, lava-lamp-like animated color blobs. +* **Lens Blur Depth:** Dynamic focus blurring background UI layers to highlight a foreground action. + +## 9. THE "MOTION-ENGINE" BENTO PARADIGM +When generating modern SaaS dashboards or feature sections, you MUST utilize the following "Bento 2.0" architecture and motion philosophy. This goes beyond static cards and enforces a "Vercel-core meets Dribbble-clean" aesthetic heavily reliant on perpetual physics. + +### A. Core Design Philosophy +* **Aesthetic:** High-end, minimal, and functional. +* **Palette:** Background in `#f9fafb`. Cards are pure white (`#ffffff`) with a 1px border of `border-slate-200/50`. +* **Surfaces:** Use `rounded-[2.5rem]` for all major containers. Apply a "diffusion shadow" (a very light, wide-spreading shadow, e.g., `shadow-[0_20px_40px_-15px_rgba(0,0,0,0.05)]`) to create depth without clutter. +* **Typography:** Strict `Geist`, `Satoshi`, or `Cabinet Grotesk` font stack. Use subtle tracking (`tracking-tight`) for headers. +* **Labels:** Titles and descriptions must be placed **outside and below** the cards to maintain a clean, gallery-style presentation. +* **Pixel-Perfection:** Use generous `p-8` or `p-10` padding inside cards. + +### B. The Animation Engine Specs (Perpetual Motion) +All cards must contain **"Perpetual Micro-Interactions."** Use the following Framer Motion principles: +* **Spring Physics:** No linear easing. Use `type: "spring", stiffness: 100, damping: 20` for a premium, weighty feel. +* **Layout Transitions:** Heavily utilize the `layout` and `layoutId` props to ensure smooth re-ordering, resizing, and shared element state transitions. +* **Infinite Loops:** Every card must have an "Active State" that loops infinitely (Pulse, Typewriter, Float, or Carousel) to ensure the dashboard feels "alive". +* **Performance:** Wrap dynamic lists in `` and optimize for 60fps. **PERFORMANCE CRITICAL:** Any perpetual motion or infinite loop MUST be memoized (React.memo) and completely isolated in its own microscopic Client Component. Never trigger re-renders in the parent layout. + +### C. The 5-Card Archetypes (Micro-Animation Specs) +Implement these specific micro-animations when constructing Bento grids (e.g., Row 1: 3 cols | Row 2: 2 cols split 70/30): +1. **The Intelligent List:** A vertical stack of items with an infinite auto-sorting loop. Items swap positions using `layoutId`, simulating an AI prioritizing tasks in real-time. +2. **The Command Input:** A search/AI bar with a multi-step Typewriter Effect. It cycles through complex prompts, including a blinking cursor and a "processing" state with a shimmering loading gradient. +3. **The Live Status:** A scheduling interface with "breathing" status indicators. Include a pop-up notification badge that emerges with an "Overshoot" spring effect, stays for 3 seconds, and vanishes. +4. **The Wide Data Stream:** A horizontal "Infinite Carousel" of data cards or metrics. Ensure the loop is seamless (using `x: ["0%", "-100%"]`) with a speed that feels effortless. +5. **The Contextual UI (Focus Mode):** A document view that animates a staggered highlight of a text block, followed by a "Float-in" of a floating action toolbar with micro-icons. + +## 10. FINAL PRE-FLIGHT CHECK +Evaluate your code against this matrix before outputting. This is the **last** filter you apply to your logic. +- [ ] Is global state used appropriately to avoid deep prop-drilling rather than arbitrarily? +- [ ] Is mobile layout collapse (`w-full`, `px-4`, `max-w-7xl mx-auto`) guaranteed for high-variance designs? +- [ ] Do full-height sections safely use `min-h-[100dvh]` instead of the bugged `h-screen`? +- [ ] Do `useEffect` animations contain strict cleanup functions? +- [ ] Are empty, loading, and error states provided? +- [ ] Are cards omitted in favor of spacing where possible? +- [ ] Did you strictly isolate CPU-heavy perpetual animations in their own Client Components? diff --git a/.agents/skills/full-output-enforcement/SKILL.md b/.agents/skills/full-output-enforcement/SKILL.md new file mode 100644 index 000000000..d983bbcf0 --- /dev/null +++ b/.agents/skills/full-output-enforcement/SKILL.md @@ -0,0 +1,49 @@ +--- +name: full-output-enforcement +description: Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output. +--- + +# Full-Output Enforcement + +## Baseline + +Treat every task as production-critical. A partial output is a broken output. Do not optimize for brevity — optimize for completeness. If the user asks for a full file, deliver the full file. If the user asks for 5 components, deliver 5 components. No exceptions. + +## Banned Output Patterns + +The following patterns are hard failures. Never produce them: + +**In code blocks:** `// ...`, `// rest of code`, `// implement here`, `// TODO`, `/* ... */`, `// similar to above`, `// continue pattern`, `// add more as needed`, bare `...` standing in for omitted code + +**In prose:** "Let me know if you want me to continue", "I can provide more details if needed", "for brevity", "the rest follows the same pattern", "similarly for the remaining", "and so on" (when replacing actual content), "I'll leave that as an exercise" + +**Structural shortcuts:** Outputting a skeleton when the request was for a full implementation. Showing the first and last section while skipping the middle. Replacing repeated logic with one example and a description. Describing what code should do instead of writing it. + +## Execution Process + +1. **Scope** — Read the full request. Count how many distinct deliverables are expected (files, functions, sections, answers). Lock that number. +2. **Build** — Generate every deliverable completely. No partial drafts, no "you can extend this later." +3. **Cross-check** — Before output, re-read the original request. Compare your deliverable count against the scope count. If anything is missing, add it before responding. + +## Handling Long Outputs + +When a response approaches the token limit: + +- Do not compress remaining sections to squeeze them in. +- Do not skip ahead to a conclusion. +- Write at full quality up to a clean breakpoint (end of a function, end of a file, end of a section). +- End with: + +``` +[PAUSED — X of Y complete. Send "continue" to resume from: next section name] +``` + +On "continue", pick up exactly where you stopped. No recap, no repetition. + +## Quick Check + +Before finalizing any response, verify: +- No banned patterns from the list above appear anywhere in the output +- Every item the user requested is present and finished +- Code blocks contain actual runnable code, not descriptions of what code would do +- Nothing was shortened to save space diff --git a/.agents/skills/gpt-taste/SKILL.md b/.agents/skills/gpt-taste/SKILL.md new file mode 100644 index 000000000..03ed209b8 --- /dev/null +++ b/.agents/skills/gpt-taste/SKILL.md @@ -0,0 +1,74 @@ +--- +name: gpt-taste +description: Elite UX/UI & Advanced GSAP Motion Engineer. Enforces Python-driven true randomization for layout variance, strict AIDA page structure, wide editorial typography (bans 6-line wraps), gapless bento grids, strict GSAP ScrollTriggers (pinning, stacking, scrubbing), inline micro-images, and massive section spacing. +--- + +# CORE DIRECTIVE: AWWWARDS-LEVEL DESIGN ENGINEERING +You are an elite, award-winning frontend design engineer. Standard LLMs possess severe statistical biases: they generate massive 6-line wrapped headings by using narrow containers, leave ugly empty gaps in bento grids, use cheap meta-labels ("QUESTION 05", "SECTION 01"), output invisible button text, and endlessly repeat the same Left/Right layouts. + +Your goal is to aggressively break these defaults. Your outputs must be highly creative, perfectly spaced, motion-rich (GSAP), mathematically flawless in grid execution, and heavily rely on varied, high-end assets. + +DO NOT USE EMOJIS IN YOUR CODE, COMMENTS, OR OUTPUT. Maintain strictly professional formatting. + +## 1. PYTHON-DRIVEN TRUE RANDOMIZATION (BREAKING THE LOOP) +LLMs are inherently lazy and always pick the first layout option. To prevent this, you MUST simulate a Python script execution in your `` before writing any UI code. +Use a deterministic seed (e.g., character count of the user prompt modulo math) to simulate `random.choice()` and strictly select: +- 1 Hero Architecture (from Section 3) +- 1 Typography Stack (Satoshi, Cabinet Grotesk, Outfit, or Geist. NEVER Inter) +- 3 Unique Component Architectures (from Section 6) +- 2 Advanced GSAP Paradigms (from Section 5) +You are forbidden from defaulting to the same UI twice. You must follow the exact output of your simulated Python randomization. + +## 2. AIDA STRUCTURE & SPACING +Every page MUST begin with a highly creative, premium Navigation Bar (e.g., floating glass pill, or minimal split nav). +The rest of the page MUST follow the AIDA framework: +- **Attention (Hero):** Cinematic, clean, wide layout. +- **Interest (Features/Bento):** High-density, mathematically perfect grid or interactive typographic components. +- **Desire (GSAP Scroll/Media):** Pinned sections, horizontal scroll, or text-reveals. +- **Action (Footer/Pricing):** Massive, high-contrast CTA and clean footer links. +**SPACING RULE:** Add huge vertical padding between all major sections (e.g., `py-32 md:py-48`). Sections must feel like distinct, cinematic chapters. Do not cramp elements together. + +## 3. HERO ARCHITECTURE & THE 2-LINE IRON RULE +The Hero must breathe. It must NOT be a narrow, 6-line text wall. +- **The Container Width Fix:** You MUST use ultra-wide containers for the H1 (e.g., `max-w-5xl`, `max-w-6xl`, `w-full`). Allow the words to flow horizontally. +- **The Line Limit:** The H1 MUST NEVER exceed 2 to 3 lines. 4, 5, or 6 lines is a catastrophic failure. Make the font size smaller (`clamp(3rem, 5vw, 5.5rem)`) and the container wider to ensure this. +- **Hero Layout Options (Randomly Assigned via Python):** + 1. *Cinematic Center (Highly Preferred):* Text perfectly centered, massive width. Below the text, exactly two high-contrast CTAs. Below the CTAs or behind everything, a stunning, full-bleed background image with a dark radial wash. + 2. *Artistic Asymmetry:* Text offset to the left, with an artistic floating image overlapping the text from the bottom right. + 3. *Editorial Split:* Text left, image right, but with massive negative space. +- **Button Contrast:** Buttons must be perfectly legible. Dark background = white text. Light background = dark text. Invisible text is a failure. +- **BANNED IN HERO:** Do NOT use arbitrary floating stamp/badge icons on the text. Do NOT use pill-tags under the hero. Do NOT place raw data/stats in the hero. + +## 4. THE GAPLESS BENTO GRID +- **Zero Empty Space in Grids:** LLMs notoriously leave blank, dead cells in CSS grids. You MUST use Tailwind's `grid-flow-dense` (`grid-auto-flow: dense`) on every Bento Grid. You must mathematically verify that your `col-span` and `row-span` values interlock perfectly. No grid shall have a missing corner or empty void. +- **Card Restraint:** Do not use too many cards. 3 to 5 highly intentional, beautifully styled cards are better than 8 messy ones. Fill them with a mix of large imagery, dense typography, or CSS effects. + +## 5. ADVANCED GSAP MOTION & HOVER PHYSICS +Static interfaces are strictly forbidden. You must write real GSAP (`@gsap/react`, `ScrollTrigger`). +- **Hover Physics:** Every clickable card and image must react. Use `group-hover:scale-105 transition-transform duration-700 ease-out` inside `overflow-hidden` containers. +- **Scroll Pinning (GSAP Split):** Pin a section title on the left (`ScrollTrigger pin: true`) while a gallery of elements scrolls upwards on the right side. +- **Image Scale & Fade Scroll:** Images must start small (`scale: 0.8`). As they scroll into view, they grow to `scale: 1.0`. As they scroll out of view, they smoothly darken and fade out (`opacity: 0.2`). +- **Scrubbing Text Reveals:** Opacity of central paragraph words starts at 0.1 and scrubs to 1.0 sequentially as the user scrolls. +- **Card Stacking:** Cards overlap and stack on top of each other dynamically from the bottom as the user scrolls down. + +## 6. COMPONENT ARSENAL & CREATIVITY +Select components from this arsenal based on your randomization: +- **Inline Typography Images:** Embed small, pill-shaped images directly INSIDE massive headings. Example: `I shape digital spaces.` +- **Horizontal Accordions:** Vertical slices that expand horizontally on hover to reveal content and imagery. +- **Infinite Marquee (Trusted Partners):** Smooth, continuously scrolling rows of authentic `@phosphor-icons/react` or large typography. +- **Feedback/Testimonial Carousel:** Clean, overlapping portrait images next to minimalist typography quotes, controlled by subtle arrows. + +## 7. CONTENT, ASSETS & STRICT BANS +- **The Meta-Label Ban:** BANNED FOREVER are labels like "SECTION 01", "SECTION 04", "QUESTION 05", "ABOUT US". Remove them entirely. They look cheap and unprofessional. +- **Image Context & Style:** Use `https://picsum.photos/seed/{keyword}/1920/1080` and match the keyword to the vibe. Apply sophisticated CSS filters (`grayscale`, `mix-blend-luminosity`, `opacity-90`, `contrast-125`) so they do not look like boring stock photos. +- **Creative Backgrounds:** Inject subtle, professional ambient design. Use deep radial blurs, grainy mesh gradients, or shifting dark overlays. Avoid flat, boring colors. +- **Horizontal Scroll Bug:** Wrap the entire page in `
` to absolutely prevent horizontal scrollbars caused by off-screen animations. + +## 8. MANDATORY PRE-FLIGHT +Before writing ANY React/UI code, you MUST output a `` block containing: +1. **Python RNG Execution:** Write a 3-line mock Python output showing the deterministic selection of your Hero Layout, Component Arsenal, GSAP animations, and Fonts based on the prompt's character count. +2. **AIDA Check:** Confirm the page contains Navigation, Attention (Hero), Interest (Bento), Desire (GSAP), Action (Footer). +3. **Hero Math Verification:** Explicitly state the `max-w` class you are applying to the H1 to GUARANTEE it will flow horizontally in 2-3 lines. Confirm NO stamp icons or spam tags exist. +4. **Bento Density Verification:** Prove mathematically that your grid columns and rows leave zero empty spaces and `grid-flow-dense` is applied. +5. **Label Sweep & Button Check:** Confirm no cheap meta-labels ("QUESTION 05") exist, and button text contrast is perfect. +Only output the UI code after this rigorous verification is complete. diff --git a/.agents/skills/high-end-visual-design/SKILL.md b/.agents/skills/high-end-visual-design/SKILL.md new file mode 100644 index 000000000..4038f41ec --- /dev/null +++ b/.agents/skills/high-end-visual-design/SKILL.md @@ -0,0 +1,98 @@ +--- +name: high-end-visual-design +description: Teaches the AI to design like a high-end agency. Defines the exact fonts, spacing, shadows, card structures, and animations that make a website feel expensive. Blocks all the common defaults that make AI designs look cheap or generic. +--- + +# Agent Skill: Principal UI/UX Architect & Motion Choreographer (Awwwards-Tier) + +## 1. Meta Information & Core Directive +- **Persona:** `Vanguard_UI_Architect` +- **Objective:** You engineer $150k+ agency-level digital experiences, not just websites. Your output must exude haptic depth, cinematic spatial rhythm, obsessive micro-interactions, and flawless fluid motion. +- **The Variance Mandate:** NEVER generate the exact same layout or aesthetic twice in a row. You must dynamically combine different premium layout archetypes and texture profiles while strictly adhering to the elite "Apple-esque / Linear-tier" design language. + +## 2. THE "ABSOLUTE ZERO" DIRECTIVE (STRICT ANTI-PATTERNS) +If your generated code includes ANY of the following, the design instantly fails: +- **Banned Fonts:** Inter, Roboto, Arial, Open Sans, Helvetica. (Assume premium fonts like `Geist`, `Clash Display`, `PP Editorial New`, or `Plus Jakarta Sans` are available). +- **Banned Icons:** Standard thick-stroked Lucide, FontAwesome, or Material Icons. Use only ultra-light, precise lines (e.g., Phosphor Light, Remix Line). +- **Banned Borders & Shadows:** Generic 1px solid gray borders. Harsh, dark drop shadows (`shadow-md`, `rgba(0,0,0,0.3)`). +- **Banned Layouts:** Edge-to-edge sticky navbars glued to the top. Symmetrical, boring 3-column Bootstrap-style grids without massive whitespace gaps. +- **Banned Motion:** Standard `linear` or `ease-in-out` transitions. Instant state changes without interpolation. + +## 3. THE CREATIVE VARIANCE ENGINE +Before writing code, silently "roll the dice" and select ONE combination from the following archetypes based on the prompt's context to ensure the output is uniquely tailored but always premium: + +### A. Vibe & Texture Archetypes (Pick 1) +1. **Ethereal Glass (SaaS / AI / Tech):** Deepest OLED black (`#050505`), radial mesh gradients (e.g., subtle glowing purple/emerald orbs) in the background. Vantablack cards with heavy `backdrop-blur-2xl` and pure white/10 hairlines. Wide geometric Grotesk typography. +2. **Editorial Luxury (Lifestyle / Real Estate / Agency):** Warm creams (`#FDFBF7`), muted sage, or deep espresso tones. High-contrast Variable Serif fonts for massive headings. Subtle CSS noise/film-grain overlay (`opacity-[0.03]`) for a physical paper feel. +3. **Soft Structuralism (Consumer / Health / Portfolio):** Silver-grey or completely white backgrounds. Massive bold Grotesk typography. Airy, floating components with unbelievably soft, highly diffused ambient shadows. + +### B. Layout Archetypes (Pick 1) +1. **The Asymmetrical Bento:** A masonry-like CSS Grid of varying card sizes (e.g., `col-span-8 row-span-2` next to stacked `col-span-4` cards) to break visual monotony. + - **Mobile Collapse:** Falls back to a single-column stack (`grid-cols-1`) with generous vertical gaps (`gap-6`). All `col-span` overrides reset to `col-span-1`. +2. **The Z-Axis Cascade:** Elements are stacked like physical cards, slightly overlapping each other with varying depths of field, some with a subtle `-2deg` or `3deg` rotation to break the digital grid. + - **Mobile Collapse:** Remove all rotations and negative-margin overlaps below `768px`. Stack vertically with standard spacing. Overlapping elements cause touch-target conflicts on mobile. +3. **The Editorial Split:** Massive typography on the left half (`w-1/2`), with interactive, scrollable horizontal image pills or staggered interactive cards on the right. + - **Mobile Collapse:** Converts to a full-width vertical stack (`w-full`). Typography block sits on top, interactive content flows below with horizontal scroll preserved if needed. + +**Mobile Override (Universal):** Any asymmetric layout above `md:` MUST aggressively fall back to `w-full`, `px-4`, `py-8` on viewports below `768px`. Never use `h-screen` for full-height sections — always use `min-h-[100dvh]` to prevent iOS Safari viewport jumping. + +## 4. HAPTIC MICRO-AESTHETICS (COMPONENT MASTERY) + +### A. The "Double-Bezel" (Doppelrand / Nested Architecture) +Never place a premium card, image, or container flatly on the background. They must look like physical, machined hardware (like a glass plate sitting in an aluminum tray) using nested enclosures. +- **Outer Shell:** A wrapper `div` with a subtle background (`bg-black/5` or `bg-white/5`), a hairline outer border (`ring-1 ring-black/5` or `border border-white/10`), a specific padding (e.g., `p-1.5` or `p-2`), and a large outer radius (`rounded-[2rem]`). +- **Inner Core:** The actual content container inside the shell. It has its own distinct background color, its own inner highlight (`shadow-[inset_0_1px_1px_rgba(255,255,255,0.15)]`), and a mathematically calculated smaller radius (e.g., `rounded-[calc(2rem-0.375rem)]`) for concentric curves. + +### B. Nested CTA & "Island" Button Architecture +- **Structure:** Primary interactive buttons must be fully rounded pills (`rounded-full`) with generous padding (`px-6 py-3`). +- **The "Button-in-Button" Trailing Icon:** If a button has an arrow (`↗`), it NEVER sits naked next to the text. It must be nested inside its own distinct circular wrapper (e.g., `w-8 h-8 rounded-full bg-black/5 dark:bg-white/10 flex items-center justify-center`) placed completely flush with the main button's right inner padding. + +### C. Spatial Rhythm & Tension +- **Macro-Whitespace:** Double your standard padding. Use `py-24` to `py-40` for sections. Allow the design to breathe heavily. +- **Eyebrow Tags:** Precede major H1/H2s with a microscopic, pill-shaped badge (`rounded-full px-3 py-1 text-[10px] uppercase tracking-[0.2em] font-medium`). + +## 5. MOTION CHOREOGRAPHY (FLUID DYNAMICS) +Never use default transitions. All motion must simulate real-world mass and spring physics. Use custom cubic-beziers (e.g., `transition-all duration-700 ease-[cubic-bezier(0.32,0.72,0,1)]`). + +### A. The "Fluid Island" Nav & Hamburger Reveal +- **Closed State:** The Navbar is a floating glass pill detached from the top (`mt-6`, `mx-auto`, `w-max`, `rounded-full`). +- **The Hamburger Morph:** On click, the 2 or 3 lines of the hamburger icon must fluidly rotate and translate to form a perfect 'X' (`rotate-45` and `-rotate-45` with absolute positioning), not just disappear. +- **The Modal Expansion:** The menu should open as a massive, screen-filling overlay with a heavy glass effect (`backdrop-blur-3xl bg-black/80` or `bg-white/80`). +- **Staggered Mask Reveal:** The navigation links inside the expanded state do not just appear. They fade in and slide up from an invisible box (`translate-y-12 opacity-0` to `translate-y-0 opacity-100`) with a staggered delay (`delay-100`, `delay-150`, `delay-200` for each item). + +### B. Magnetic Button Hover Physics +- Use the `group` utility. On hover, do not just change the background color. +- Scale the entire button down slightly (`active:scale-[0.98]`) to simulate physical pressing. +- The nested inner icon circle should translate diagonally (`group-hover:translate-x-1 group-hover:-translate-y-[1px]`) and scale up slightly (`scale-105`), creating internal kinetic tension. + +### C. Scroll Interpolation (Entry Animations) +- Elements never appear statically on load. As they enter the viewport, they must execute a gentle, heavy fade-up (`translate-y-16 blur-md opacity-0` resolving to `translate-y-0 blur-0 opacity-100` over 800ms+). +- For JavaScript-driven scroll reveals, use `IntersectionObserver` or Framer Motion's `whileInView`. Never use `window.addEventListener('scroll')` — it causes continuous reflows and kills mobile performance. + +## 6. PERFORMANCE GUARDRAILS +- **GPU-Safe Animation:** Never animate `top`, `left`, `width`, or `height`. Animate exclusively via `transform` and `opacity`. Use `will-change: transform` sparingly and only on elements that are actively animating. +- **Blur Constraints:** Apply `backdrop-blur` only to fixed or sticky elements (navbars, overlays). Never apply blur filters to scrolling containers or large content areas — this causes continuous GPU repaints and severe mobile frame drops. +- **Grain/Noise Overlays:** Apply noise textures exclusively to fixed, `pointer-events-none` pseudo-elements (`position: fixed; inset: 0; z-index: 50`). Never attach them to scrolling containers. +- **Z-Index Discipline:** Do not use arbitrary `z-50` or `z-[9999]`. Reserve z-indexes strictly for systemic layers: sticky nav, modals, overlays, tooltips. + +## 7. EXECUTION PROTOCOL +When generating UI code, follow this exact sequence: +1. **[SILENT THOUGHT]** Roll the Variance Engine (Section 3). Choose your Vibe and Layout Archetypes based on the prompt's context to ensure a unique output. +2. **[SCAFFOLD]** Establish the background texture, macro-whitespace scale, and massive typography sizes. +3. **[ARCHITECT]** Build the DOM strictly using the "Double-Bezel" (Doppelrand) technique for all major cards, inputs, and feature grids. Use exaggerated squircle radii (`rounded-[2rem]`). +4. **[CHOREOGRAPH]** Inject the custom `cubic-bezier` transitions, the staggered navigation reveals, and the button-in-button hover physics. +5. **[OUTPUT]** Deliver flawless, pixel-perfect React/Tailwind/HTML code. Do not include basic, generic fallbacks. + +## 8. PRE-OUTPUT CHECKLIST +Evaluate your code against this matrix before delivering. This is the last filter. +- [ ] No banned fonts, icons, borders, shadows, layouts, or motion patterns from Section 2 are present +- [ ] A Vibe Archetype and Layout Archetype from Section 3 were consciously selected and applied +- [ ] All major cards and containers use the Double-Bezel nested architecture (outer shell + inner core) +- [ ] CTA buttons use the Button-in-Button trailing icon pattern where applicable +- [ ] Section padding is at minimum `py-24` — the layout breathes heavily +- [ ] All transitions use custom cubic-bezier curves — no `linear` or `ease-in-out` +- [ ] Scroll entry animations are present — no element appears statically +- [ ] Layout collapses gracefully below `768px` to single-column with `w-full` and `px-4` +- [ ] All animations use only `transform` and `opacity` — no layout-triggering properties +- [ ] `backdrop-blur` is only applied to fixed/sticky elements, never to scrolling content +- [ ] The overall impression reads as "$150k agency build", not "template with nice fonts" diff --git a/.agents/skills/industrial-brutalist-ui/SKILL.md b/.agents/skills/industrial-brutalist-ui/SKILL.md new file mode 100644 index 000000000..f5375b908 --- /dev/null +++ b/.agents/skills/industrial-brutalist-ui/SKILL.md @@ -0,0 +1,92 @@ +--- +name: industrial-brutalist-ui +description: Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints. +--- + +# SKILL: Industrial Brutalism & Tactical Telemetry UI + +## 1. Skill Meta +**Name:** Industrial Brutalism & Tactical Telemetry Interface Engineering +**Description:** Advanced proficiency in architecting web interfaces that synthesize mid-century Swiss Typographic design, industrial manufacturing manuals, and retro-futuristic aerospace/military terminal interfaces. This discipline requires absolute mastery over rigid modular grids, extreme typographic scale contrast, purely utilitarian color palettes, and the programmatic simulation of analog degradation (halftones, CRT scanlines, bitmap dithering). The objective is to construct digital environments that project raw functionality, mechanical precision, and high data density, deliberately discarding conventional consumer UI patterns. + +## 2. Visual Archetypes +The design system operates by merging two distinct but highly compatible visual paradigms. **Pick ONE per project and commit to it. Do not alternate or mix both modes within the same interface.** + +### 2.1 Swiss Industrial Print +Derived from 1960s corporate identity systems and heavy machinery blueprints. +* **Characteristics:** High-contrast light modes (newsprint/off-white substrates). Reliance on monolithic, heavy sans-serif typography. Unforgiving structural grids outlined by visible dividing lines. Aggressive, asymmetric use of negative space punctuated by oversized, viewport-bleeding numerals or letterforms. Heavy use of primary red as an alert/accent color. + +### 2.2 Tactical Telemetry & CRT Terminal +Derived from classified military databases, legacy mainframes, and aerospace Heads-Up Displays (HUDs). +* **Characteristics:** Dark mode exclusivity. High-density tabular data presentation. Absolute dominance of monospaced typography. Integration of technical framing devices (ASCII brackets, crosshairs). Application of simulated hardware limitations (phosphor glow, scanlines, low bit-depth rendering). + +## 3. Typographic Architecture +Typography is the primary structural and decorative infrastructure. Imagery is secondary. The system demands extreme variance in scale, weight, and spacing. + +### 3.1 Macro-Typography (Structural Headers) +* **Classification:** Neo-Grotesque / Heavy Sans-Serif. +* **Optimal Web Fonts:** Neue Haas Grotesk (Black), Inter (Extra Bold/Black), Archivo Black, Roboto Flex (Heavy), Monument Extended. +* **Implementation Parameters:** + * **Scale:** Deployed at massive scales using fluid typography (e.g., `clamp(4rem, 10vw, 15rem)`). + * **Tracking (Letter-spacing):** Extremely tight, often negative (`-0.03em` to `-0.06em`), forcing glyphs to form solid architectural blocks. + * **Leading (Line-height):** Highly compressed (`0.85` to `0.95`). + * **Casing:** Exclusively uppercase for structural impact. + +### 3.2 Micro-Typography (Data & Telemetry) +* **Classification:** Monospace / Technical Sans. +* **Optimal Web Fonts:** JetBrains Mono, IBM Plex Mono, Space Mono, VT323, Courier Prime. +* **Implementation Parameters:** + * **Scale:** Fixed and small (`10px` to `14px` / `0.7rem` to `0.875rem`). + * **Tracking:** Generous (`0.05em` to `0.1em`) to simulate mechanical typewriter spacing or terminal matrices. + * **Leading:** Standard to tight (`1.2` to `1.4`). + * **Casing:** Exclusively uppercase. Used for all metadata, navigation, unit IDs, and coordinates. + +### 3.3 Textural Contrast (Artistic Disruption) +* **Classification:** High-Contrast Serif. +* **Optimal Web Fonts:** Playfair Display, EB Garamond, Times New Roman. +* **Implementation Parameters:** Used exceedingly sparingly. Must be subjected to heavy post-processing (halftone filters, 1-bit dithering) to degrade vector perfection and create textural juxtaposition against the clean sans-serifs. + +## 4. Color System +The color architecture is uncompromising. Gradients, soft drop shadows, and modern translucency are strictly prohibited. Colors simulate physical media or primitive emissive displays. + +**CRITICAL: Choose ONE substrate palette per project and use it consistently. Never mix light and dark substrates within the same interface.** + +### If Swiss Industrial Print (Light): +* **Background:** `#F4F4F0` or `#EAE8E3` (Matte, unbleached documentation paper). +* **Foreground:** `#050505` to `#111111` (Carbon Ink). +* **Accent:** `#E61919` or `#FF2A2A` (Aviation/Hazard Red). This is the ONLY accent color. Used for strike-throughs, thick structural dividing lines, or vital data highlights. + +### If Tactical Telemetry (Dark): +* **Background:** `#0A0A0A` or `#121212` (Deactivated CRT. Avoid pure `#000000`). +* **Foreground:** `#EAEAEA` (White phosphor). This is the primary text color. +* **Accent:** `#E61919` or `#FF2A2A` (Aviation/Hazard Red). Same red, same rules. +* **Terminal Green (`#4AF626`):** Optional. Use ONLY for a single specific UI element (e.g., one status indicator or one data readout) — never as a general text color. If it doesn't serve a clear purpose, omit it entirely. + +## 5. Layout and Spatial Engineering +The layout must appear mathematically engineered. It rejects conventional web padding in favor of visible compartmentalization. + +* **The Blueprint Grid:** Strict adherence to CSS Grid architectures. Elements do not float; they are anchored precisely to grid tracks and intersections. +* **Visible Compartmentalization:** Extensive utilization of solid borders (`1px` or `2px solid`) to delineate distinct zones of information. Horizontal rules (`
`) frequently span the entire container width to segregate operational units. +* **Bimodal Density:** Layouts oscillate between extreme data density (tightly packed monospace metadata clustered together) and vast expanses of calculated negative space framing macro-typography. +* **Geometry:** Absolute rejection of `border-radius`. All corners must be exactly 90 degrees to enforce mechanical rigidity. + +## 6. UI Components and Symbology +Standard web UI conventions are replaced with utilitarian, industrial graphic elements. + +* **Syntax Decoration:** Utilization of ASCII characters to frame data points. + * *Framing:* `[ DELIVERY SYSTEMS ]`, `< RE-IND >` + * *Directional:* `>>>`, `///`, `\\\\` +* **Industrial Markers:** Prominent integration of registration (`®`), copyright (`©`), and trademark (`™`) symbols functioning as structural geometric elements rather than legal text. +* **Technical Assets:** Integration of crosshairs (`+`) at grid intersections, repeating vertical lines (barcodes), thick horizontal warning stripes, and randomized string data (e.g., `REV 2.6`, `UNIT / D-01`) to simulate active mechanical processes. + +## 7. Textural and Post-Processing Effects +To prevent the design from appearing purely digital, simulated analog degradation is engineered into the frontend via CSS and SVG filters. + +* **Halftone and 1-Bit Dithering:** Transforming continuous-tone images or large serif typography into dot-matrix patterns. Achieved via pre-processing or CSS `mix-blend-mode: multiply` overlays combined with SVG radial dot patterns. +* **CRT Scanlines:** For terminal interfaces, applying a `repeating-linear-gradient` to the background to simulate horizontal electron beam sweeps (e.g., `repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.1) 2px, rgba(0,0,0,0.1) 4px)`). +* **Mechanical Noise:** A global, low-opacity SVG static/noise filter applied to the DOM root to introduce a unified physical grain across both dark and light modes. + +## 8. Web Engineering Directives +1. **Grid Determinism:** Utilize `display: grid; gap: 1px;` with contrasting parent/child background colors to generate mathematically perfect, razor-thin dividing lines without complex border declarations. +2. **Semantic Rigidity:** Construct the DOM using precise semantic tags (``, ``, ``, ``, `
`) to accurately reflect the technical nature of the telemetry. +3. **Typography Clamping:** Implement CSS `clamp()` functions exclusively for macro-typography to ensure massive text scales aggressively while maintaining structural integrity across viewports. diff --git a/.agents/skills/minimalist-ui/SKILL.md b/.agents/skills/minimalist-ui/SKILL.md new file mode 100644 index 000000000..44ead27ef --- /dev/null +++ b/.agents/skills/minimalist-ui/SKILL.md @@ -0,0 +1,85 @@ +--- +name: minimalist-ui +description: Clean editorial-style interfaces. Warm monochrome palette, typographic contrast, flat bento grids, muted pastels. No gradients, no heavy shadows. +--- + +# Protocol: Premium Utilitarian Minimalism UI Architect + +## 1. Protocol Overview +Name: Premium Utilitarian Minimalism & Editorial UI +Description: An advanced frontend engineering directive for generating highly refined, ultra-minimalist, "document-style" web interfaces analogous to top-tier workspace platforms. This protocol strictly enforces a high-contrast warm monochrome palette, bespoke typographic hierarchies, meticulous structural macro-whitespace, bento-grid layouts, and an ultra-flat component architecture with deliberate muted pastel accents. It actively rejects standard generic SaaS design trends. + +## 2. Absolute Negative Constraints (Banned Elements) +The AI must strictly avoid the following generic web development defaults: +- DO NOT use the "Inter", "Roboto", or "Open Sans" typefaces. +- DO NOT use generic, thin-line icon libraries like "Lucide", "Feather", or standard "Heroicons". +- DO NOT use Tailwind's default heavy drop shadows (e.g., `shadow-md`, `shadow-lg`, `shadow-xl`). Shadows must be practically non-existent or heavily customized to be ultra-diffuse and low opacity (< 0.05). +- DO NOT use primary colored backgrounds for large elements or sections (e.g., no bright blue, green, or red hero sections). +- DO NOT use gradients, neon colors, or 3D glassmorphism (beyond subtle navbar blurs). +- DO NOT use `rounded-full` (pill shapes) for large containers, cards, or primary buttons. +- DO NOT use emojis anywhere in code, markup, text content, headings, or alt text. Replace with proper icons or clean SVG primitives. +- DO NOT use generic placeholder names like "John Doe", "Acme Corp", or "Lorem Ipsum". Use realistic, contextual content. +- DO NOT use AI copywriting clichés: "Elevate", "Seamless", "Unleash", "Next-Gen", "Game-changer", "Delve". Write plain, specific language. + +## 3. Typographic Architecture +The interface must rely on extreme typographic contrast and premium font selection to establish an editorial feel. +- Primary Sans-Serif (Body, UI, Buttons): Use clean, geometric, or system-native fonts with character. Target: `font-family: 'SF Pro Display', 'Geist Sans', 'Helvetica Neue', 'Switzer', sans-serif`. +- Editorial Serif (Hero Headings & Quotes): Target: `font-family: 'Lyon Text', 'Newsreader', 'Playfair Display', 'Instrument Serif', serif`. Apply tight tracking (`letter-spacing: -0.02em` to `-0.04em`) and tight line-height (`1.1`). +- Monospace (Code, Keystrokes, Meta-data): Target: `font-family: 'Geist Mono', 'SF Mono', 'JetBrains Mono', monospace`. +- Text Colors: Body text must never be absolute black (`#000000`). Use off-black/charcoal (`#111111` or `#2F3437`) with a generous `line-height` of `1.6` for legibility. Secondary text should be muted gray (`#787774`). + +## 4. Color Palette (Warm Monochrome + Spot Pastels) +Color is a scarce resource, utilized only for semantic meaning or subtle accents. +- Canvas / Background: Pure White `#FFFFFF` or Warm Bone/Off-White `#F7F6F3` / `#FBFBFA`. +- Primary Surface (Cards): `#FFFFFF` or `#F9F9F8`. +- Structural Borders / Dividers: Ultra-light gray `#EAEAEA` or `rgba(0,0,0,0.06)`. +- Accent Colors: Exclusively use highly desaturated, washed-out pastels for tags, inline code backgrounds, or subtle icon backgrounds. + - Pale Red: `#FDEBEC` (Text: `#9F2F2D`) + - Pale Blue: `#E1F3FE` (Text: `#1F6C9F`) + - Pale Green: `#EDF3EC` (Text: `#346538`) + - Pale Yellow: `#FBF3DB` (Text: `#956400`) + +## 5. Component Specifications +- Bento Box Feature Grids: + - Utilize asymmetrical CSS Grid layouts. + - Cards must have exactly `border: 1px solid #EAEAEA`. + - Border-radius must be crisp: `8px` or `12px` maximum. + - Internal padding must be generous (e.g., `24px` to `40px`). +- Primary Call-To-Action (Buttons): + - Solid background `#111111`, text `#FFFFFF`. + - Slight border-radius (`4px` to `6px`). No box-shadow. + - Hover state should be a subtle color shift to `#333333` or a micro-scale `transform: scale(0.98)`. +- Tags & Status Badges: + - Pill-shaped (`border-radius: 9999px`), very small typography (`text-xs`), uppercase with wide tracking (`letter-spacing: 0.05em`). + - Background must use the defined Muted Pastels. +- Accordions (FAQ): + - Strip all container boxes. Separate items only with a `border-bottom: 1px solid #EAEAEA`. + - Use a clean, sharp `+` and `-` icon for the toggle state. +- Keystroke Micro-UIs: + - Render shortcuts as physical keys using `` tags: `border: 1px solid #EAEAEA`, `border-radius: 4px`, `background: #F7F6F3`, using the Monospace font. +- Faux-OS Window Chrome: + - When mocking up software, wrap it in a minimalist container with a white top bar containing three small, light gray circles (replicating macOS window controls). + +## 6. Iconography & Imagery Directives +- System Icons: Use "Phosphor Icons (Bold or Fill weights)" or "Radix UI Icons" for a technical, slightly thicker-stroke aesthetic. Standardize stroke width across all icons. +- Illustrations: Monochromatic, rough continuous-line ink sketches on a white background, featuring a single offset geometric shape filled with a muted pastel color. +- Photography: Use high-quality, desaturated images with a warm tone. Apply subtle overlays (`opacity: 0.04` warm grain) to blend photos into the monochrome palette. Never use oversaturated stock photos. Use reliable placeholders like `https://picsum.photos/seed/{context}/1200/800` when real assets are unavailable. +- Hero & Section Backgrounds: Sections should not feel empty and flat. Use subtle full-width background imagery at very low opacity, soft radial light spots (`radial-gradient` with warm tones at `opacity: 0.03`), or minimal geometric line patterns to add depth without breaking the clean aesthetic. + +## 7. Subtle Motion & Micro-Animations +Motion should feel invisible — present but never distracting. The goal is quiet sophistication, not spectacle. +- Scroll Entry: Elements fade in gently as they enter the viewport. Use `translateY(12px)` + `opacity: 0` resolving over `600ms` with `cubic-bezier(0.16, 1, 0.3, 1)`. Use `IntersectionObserver`, never `window.addEventListener('scroll')`. +- Hover States: Cards lift with an ultra-subtle shadow shift (`box-shadow` transitioning from `0 0 0` to `0 2px 8px rgba(0,0,0,0.04)` over `200ms`). Buttons respond with `scale(0.98)` on `:active`. +- Staggered Reveals: Lists and grid items enter with a cascade delay (`animation-delay: calc(var(--index) * 80ms)`). Never mount everything at once. +- Background Ambient Motion: Optional. A single, very slow-moving radial gradient blob (`animation-duration: 20s+`, `opacity: 0.02-0.04`) drifting behind hero sections. Must be applied to a `position: fixed; pointer-events: none` layer. Never on scrolling containers. +- Performance: Animate exclusively via `transform` and `opacity`. No layout-triggering properties (`top`, `left`, `width`, `height`). Use `will-change: transform` sparingly and only on actively animating elements. + +## 8. Execution Protocol +When tasked with writing frontend code (HTML, React, Tailwind, Vue) or designing a layout: +1. Establish the macro-whitespace first. Use massive vertical padding between sections (e.g., `py-24` or `py-32` in Tailwind). +2. Constrain the main typography content width to `max-w-4xl` or `max-w-5xl`. +3. Apply the custom typographic hierarchy and monochromatic color variables immediately. +4. Ensure every card, divider, and border adheres strictly to the `1px solid #EAEAEA` rule. +5. Add scroll-entry animations to all major content blocks. +6. Ensure sections have visual depth through imagery, ambient gradients, or subtle textures — no empty flat backgrounds. +7. Provide code that reflects this high-end, uncluttered, editorial aesthetic natively without requiring manual adjustments. diff --git a/.agents/skills/redesign-existing-projects/SKILL.md b/.agents/skills/redesign-existing-projects/SKILL.md new file mode 100644 index 000000000..c8304f0c9 --- /dev/null +++ b/.agents/skills/redesign-existing-projects/SKILL.md @@ -0,0 +1,178 @@ +--- +name: redesign-existing-projects +description: Upgrades existing websites and apps to premium quality. Audits current design, identifies generic AI patterns, and applies high-end design standards without breaking functionality. Works with any CSS framework or vanilla CSS. +--- + +# Redesign Skill + +## How This Works + +When applied to an existing project, follow this sequence: + +1. **Scan** — Read the codebase. Identify the framework, styling method (Tailwind, vanilla CSS, styled-components, etc.), and current design patterns. +2. **Diagnose** — Run through the audit below. List every generic pattern, weak point, and missing state you find. +3. **Fix** — Apply targeted upgrades working with the existing stack. Do not rewrite from scratch. Improve what's there. + +## Design Audit + +### Typography + +Check for these problems and fix them: + +- **Browser default fonts or Inter everywhere.** Replace with a font that has character. Good options: `Geist`, `Outfit`, `Cabinet Grotesk`, `Satoshi`. For editorial/creative projects, pair a serif header with a sans-serif body. +- **Headlines lack presence.** Increase size for display text, tighten letter-spacing, reduce line-height. Headlines should feel heavy and intentional. +- **Body text too wide.** Limit paragraph width to roughly 65 characters. Increase line-height for readability. +- **Only Regular (400) and Bold (700) weights used.** Introduce Medium (500) and SemiBold (600) for more subtle hierarchy. +- **Numbers in proportional font.** Use a monospace font or enable tabular figures (`font-variant-numeric: tabular-nums`) for data-heavy interfaces. +- **Missing letter-spacing adjustments.** Use negative tracking for large headers, positive tracking for small caps or labels. +- **All-caps subheaders everywhere.** Try lowercase italics, sentence case, or small-caps instead. +- **Orphaned words.** Single words sitting alone on the last line. Fix with `text-wrap: balance` or `text-wrap: pretty`. + +### Color and Surfaces + +- **Pure `#000000` background.** Replace with off-black, dark charcoal, or tinted dark (`#0a0a0a`, `#121212`, or a dark navy). +- **Oversaturated accent colors.** Keep saturation below 80%. Desaturate accents so they blend with neutrals instead of screaming. +- **More than one accent color.** Pick one. Remove the rest. Consistency beats variety. +- **Mixing warm and cool grays.** Stick to one gray family. Tint all grays with a consistent hue (warm or cool, not both). +- **Purple/blue "AI gradient" aesthetic.** This is the most common AI design fingerprint. Replace with neutral bases and a single, considered accent. +- **Generic `box-shadow`.** Tint shadows to match the background hue. Use colored shadows (e.g., dark blue shadow on a blue background) instead of pure black at low opacity. +- **Flat design with zero texture.** Add subtle noise, grain, or micro-patterns to backgrounds. Pure flat vectors feel sterile. +- **Perfectly even gradients.** Break the uniformity with radial gradients, noise overlays, or mesh gradients instead of standard linear 45-degree fades. +- **Inconsistent lighting direction.** Audit all shadows to ensure they suggest a single, consistent light source. +- **Random dark sections in a light mode page (or vice versa).** A single dark-background section breaking an otherwise light page looks like a copy-paste accident. Either commit to a full dark mode or keep a consistent background tone throughout. If contrast is needed, use a slightly darker shade of the same palette — not a sudden jump to `#111` in the middle of a cream page. +- **Empty, flat sections with no visual depth.** Sections that are just text on a plain background feel unfinished. Add high-quality background imagery (blurred, overlaid, or masked), subtle patterns, or ambient gradients. Use reliable placeholder sources like `https://picsum.photos/seed/{name}/1920/1080` when real assets are not available. Experiment with background images behind hero sections, feature blocks, or CTAs — even a subtle full-width photo at low opacity adds presence. + +### Layout + +- **Everything centered and symmetrical.** Break symmetry with offset margins, mixed aspect ratios, or left-aligned headers over centered content. +- **Three equal card columns as feature row.** This is the most generic AI layout. Replace with a 2-column zig-zag, asymmetric grid, horizontal scroll, or masonry layout. +- **Using `height: 100vh` for full-screen sections.** Replace with `min-height: 100dvh` to prevent layout jumping on mobile browsers (iOS Safari viewport bug). +- **Complex flexbox percentage math.** Replace with CSS Grid for reliable multi-column structures. +- **No max-width container.** Add a container constraint (around 1200-1440px) with auto margins so content doesn't stretch edge-to-edge on wide screens. +- **Cards of equal height forced by flexbox.** Allow variable heights or use masonry when content varies in length. +- **Uniform border-radius on everything.** Vary the radius: tighter on inner elements, softer on containers. +- **No overlap or depth.** Elements sit flat next to each other. Use negative margins to create layering and visual depth. +- **Symmetrical vertical padding.** Top and bottom padding are always identical. Adjust optically — bottom padding often needs to be slightly larger. +- **Dashboard always has a left sidebar.** Try top navigation, a floating command menu, or a collapsible panel instead. +- **Missing whitespace.** Double the spacing. Let the design breathe. Dense layouts work for data dashboards, not for marketing pages. +- **Buttons not bottom-aligned in card groups.** When cards have different content lengths, CTAs end up at random heights. Pin buttons to the bottom of each card so they form a clean horizontal line regardless of content above. +- **Feature lists starting at different vertical positions.** In pricing tables or comparison cards, the list of features should start at the same Y position across all columns. Use consistent spacing above the list or fixed-height title/price blocks. +- **Inconsistent vertical rhythm in side-by-side elements.** When placing cards, columns, or panels next to each other, align shared elements (titles, descriptions, prices, buttons) across all items. Misaligned baselines make the layout look broken. +- **Mathematical alignment that looks optically wrong.** Centering by the math doesn't always look centered to the eye. Icons next to text, play buttons in circles, or text in buttons often need 1-2px optical adjustments to feel right. + +### Interactivity and States + +- **No hover states on buttons.** Add background shift, slight scale, or translate on hover. +- **No active/pressed feedback.** Add a subtle `scale(0.98)` or `translateY(1px)` on press to simulate a physical click. +- **Instant transitions with zero duration.** Add smooth transitions (200-300ms) to all interactive elements. +- **Missing focus ring.** Ensure visible focus indicators for keyboard navigation. This is an accessibility requirement, not optional. +- **No loading states.** Replace generic circular spinners with skeleton loaders that match the layout shape. +- **No empty states.** An empty dashboard showing nothing is a missed opportunity. Design a composed "getting started" view. +- **No error states.** Add clear, inline error messages for forms. Do not use `window.alert()`. +- **Dead links.** Buttons that link to `#`. Either link to real destinations or visually disable them. +- **No indication of current page in navigation.** Style the active nav link differently so users know where they are. +- **Scroll jumping.** Anchor clicks jump instantly. Add `scroll-behavior: smooth`. +- **Animations using `top`, `left`, `width`, `height`.** Switch to `transform` and `opacity` for GPU-accelerated, smooth animation. + +### Content + +- **Generic names like "John Doe" or "Jane Smith".** Use diverse, realistic-sounding names. +- **Fake round numbers like `99.99%`, `50%`, `$100.00`.** Use organic, messy data: `47.2%`, `$99.00`, `+1 (312) 847-1928`. +- **Placeholder company names like "Acme Corp", "Nexus", "SmartFlow".** Invent contextual, believable brand names. +- **AI copywriting cliches.** Never use "Elevate", "Seamless", "Unleash", "Next-Gen", "Game-changer", "Delve", "Tapestry", or "In the world of...". Write plain, specific language. +- **Exclamation marks in success messages.** Remove them. Be confident, not loud. +- **"Oops!" error messages.** Be direct: "Connection failed. Please try again." +- **Passive voice.** Use active voice: "We couldn't save your changes" instead of "Mistakes were made." +- **All blog post dates identical.** Randomize dates to appear real. +- **Same avatar image for multiple users.** Use unique assets for every distinct person. +- **Lorem Ipsum.** Never use placeholder latin text. Write real draft copy. +- **Title Case On Every Header.** Use sentence case instead. + +### Component Patterns + +- **Generic card look (border + shadow + white background).** Remove the border, or use only background color, or use only spacing. Cards should exist only when elevation communicates hierarchy. +- **Always one filled button + one ghost button.** Add text links or tertiary styles to reduce visual noise. +- **Pill-shaped "New" and "Beta" badges.** Try square badges, flags, or plain text labels. +- **Accordion FAQ sections.** Use a side-by-side list, searchable help, or inline progressive disclosure. +- **3-card carousel testimonials with dots.** Replace with a masonry wall, embedded social posts, or a single rotating quote. +- **Pricing table with 3 towers.** Highlight the recommended tier with color and emphasis, not just extra height. +- **Modals for everything.** Use inline editing, slide-over panels, or expandable sections instead of popups for simple actions. +- **Avatar circles exclusively.** Try squircles or rounded squares for a less generic look. +- **Light/dark toggle always a sun/moon switch.** Use a dropdown, system preference detection, or integrate it into settings. +- **Footer link farm with 4 columns.** Simplify. Focus on main navigational paths and legally required links. + +### Iconography + +- **Lucide or Feather icons exclusively.** These are the "default" AI icon choice. Use Phosphor, Heroicons, or a custom set for differentiation. +- **Rocketship for "Launch", shield for "Security".** Replace cliche metaphors with less obvious icons (bolt, fingerprint, spark, vault). +- **Inconsistent stroke widths across icons.** Audit all icons and standardize to one stroke weight. +- **Missing favicon.** Always include a branded favicon. +- **Stock "diverse team" photos.** Use real team photos, candid shots, or a consistent illustration style instead of uncanny stock imagery. + +### Code Quality + +- **Div soup.** Use semantic HTML: `