qt-ui-design
Design or audit UI for Qt/QML, Qt projects, web, or embedded MPU or MCU targets. Use when creating screens, layouts, navigation, or auditing UX.
What this skill does
# Qt UI Design Before producing UI output, confirm you know: target platform, screen geometry, design system, content priority, viewing distance, locale, and input methods. Run the seven items below as a check against the conversation and the project state; ask only the items that are genuinely missing. When the user cannot answer an item, choose a sensible Qt default and name it in your response so the user can correct it. Small edits to an existing design — for example *"move the OK button to the right"*, *"change this label"*, *"make this red"* — do not trigger the checklist. Apply section 1 silently and verify section 2 (contrast, hit-target) where relevant. ## 0. Context check (before designing) Use the seven items below to decide what is already known and what to ask. If the conversation or repository has already answered an item, do not re-ask. 1. **Target platform** — Desktop, web browser, mobile, or specific hardware (MCU, Raspberry Pi, other embedded board)? - If a specific board: ask whether a board-specific skill exists for it and load it if so. 2. **Screen shape** — Rectangle (default), Square, or Circle? 3. **Resolution and DPI** — Do you know the screen resolution and DPI? (Approximate is fine.) 4. **Design system** — Check whether the project already uses a design system or Qt Quick Controls style. If so, follow it and reuse its tokens. If not, recommend a Qt Quick Controls style: Basic, Fusion, Imagine, Material, Universal, iOS, or FluentWinUI3 (the iOS and FluentWinUI3 styles require Qt 6.7 or later). Where the project follows a third-party design language (Material Design 3, Apple Human Interface Guidelines, Fluent 2), map its tokens to the corresponding Qt Quick Controls style rather than introducing a parallel token vocabulary. 5. **Content priority** — What information is most important (primary), secondary, and tertiary on this screen? 6. **Viewing distance** — How far will users be from the screen? (e.g. handheld ~30 cm, desk ~60 cm, panel ~1.5 m, wall ~3 m) 7. **Locale and input** — What is the primary locale/language? Is RTL (Arabic, Hebrew, Farsi, Urdu) support required? What input methods must be supported (touch, keyboard, mouse/pointer, hardware buttons, voice)? If the target is an embedded or MCU device, also read **section 4** in full before any design decisions — it overrides several desktop defaults. If the user is requesting an **audit of an existing design**, skip to section 5 (Audit). --- ## 1. Design principles to apply (all targets) Apply these while designing. Do not ask about each one — use them to inform decisions silently. **Content and layout:** - **Golden Ratio + Rule of Thirds:** Place primary elements at visual intersections. - **Progressive Disclosure:** Show only what is needed at the current step. - **Inverted Pyramid:** Critical information first, elaboration after. - **Modularity:** Divide complex flows into smaller, self-contained screens. - **Ockham's Razor:** When two designs are equivalent, choose the simpler one. - **Performance Load:** Fewer steps = higher task completion. - **Five Hat Racks:** Organise by category, time, location, alphabet, or continuum. **Perception and interaction:** - **Jakob's Law:** Match patterns users already know. - **Affordance:** Controls should look like what they do. - **Hick's Law:** More choices = slower decisions. Limit options per screen. - **Miller's Law:** Working memory holds ~7 items. Chunk accordingly. - **Recognition Over Recall:** Show options; don't require memorisation. - **Proximity + Similarity:** Group related elements visually. - **Uniform Connectedness:** Shared border or color = same group. - **von Restorff Effect:** One visually distinct element draws attention — use sparingly. - **Peak-End Rule:** Users remember the peak moment and the ending. Design completion states (e.g. installer finish screens) to feel rewarding, not abrupt. - **Doherty Threshold:** System feedback within 400 ms, or show a progress indicator. - **Aesthetic-Usability Effect:** Polished design is perceived as more usable. - **Wayfinding:** Users must always know where they are, where they've been, where they can go. **Reading patterns (use to guide information placement):** - **F-shaped:** Text-heavy content — top bar, shorter secondary bar, left-edge scan. - **Z-shaped:** Sparse content — top-left → top-right → diagonal → bottom-right. - **Layer-cake:** Users scan headings and skip body text. - **Spotted:** Users jump to landmarks — links, capitals, list items. **Buttons and CTAs:** - Limit CTA buttons per group. OK + Cancel = one group; additional actions must be visually secondary. - Use Proximity and Similarity to distinguish primary, secondary, and tertiary controls. **Error prevention:** - Design affordances that guide correct use. - Allow undo wherever technically possible. - Confirm before destructive or irreversible actions. - Add alarms or prompts for danger states. **Responsiveness (desktop/web only — embedded: see section 4):** - Design to your primary target's resolution first — desktop with chrome, embedded fixed-resolution, or a window-resize range typical for the application. Stack, collapse, or hide secondary content for narrower widths. - Minimum layout width: 240 px. Stack or collapse elements below this. - Hide secondary features behind menus or dropdowns when space is tight. ### 1.1 Motion and animation (desktop/web — embedded: see section 4) Motion communicates state, relationship, and causality. Every animation must be functional, not decorative. - **Enter animations:** Use deceleration easing (fast start, slow end). Elements should appear to arrive, not just pop. - **Exit animations:** Use acceleration easing (slow start, fast end). Elements should appear to leave, not vanish. - **Direct manipulation feedback:** Respond within 100 ms. Operations taking > 1 s must show a progress indicator; > 10 s must show estimated time. - **Duration budgets:** Small elements (icons, badges): 100–150 ms. Medium elements (cards, panels): 200–300 ms. Full-screen transitions: 300–400 ms. Never exceed 500 ms for any UI animation — slower feels broken. - **Limit simultaneous animations** to one or two elements. Animating the whole screen at once disorients. - **Animate only `transform` and `opacity`** in QML/CSS — these are GPU-composited. Animating geometry (width, height, anchors) triggers layout recalculation and causes jank. - **Honour user preference for reduced motion.** On the web, gate non-essential animation behind the `prefers-reduced-motion` CSS media query. Qt 6.x has no built-in equivalent: expose a project-level setting (for example a singleton property bound to `QSettings` or to a runtime accessibility option) and gate animations on it. When the user opts out, replace animation with instant transitions — do not simply slow them down. - **Spatial consistency:** Elements that move between screens should animate in the direction that matches their destination (forward = slide left, back = slide right for LTR layouts). ### 1.2 Typography scale (desktop/web) For embedded typography, see section 4.4. This subsection governs desktop and web targets only. **Use a modular scale to derive all type sizes.** A modular scale is a sequence of numbers related by a fixed ratio — every size is mathematically proportional to every other, producing a scale that feels harmonious rather than arbitrary. The ratios are listed below; see also https://www.modularscale.com/ for an interactive generator. #### How to build the scale 1. **Choose a base** — the size at which your body text looks best at the target viewing distance. For desktop at ~60 cm, 16 px is a reliable starting point. The base is your `ms(0)`. 2. **Choose a ratio** — multiply the base by this ratio to get the next step up, divide to get the next step down. Pick based on the character of the product: | Ratio | Name | Factor | Character | |---|---|---|---| | 8:9 | Major second | 1.125 | Compact,
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.