interface-design
This skill is for interface design — dashboards, admin panels, apps, tools, and interactive products. NOT for marketing design (landing pages, marketing sites, campaigns).
What this skill does
# Interface Design Build interface design with craft and consistency. ## Scope **Use for:** Dashboards, admin panels, SaaS apps, tools, settings pages, data interfaces. **Not for:** Landing pages, marketing sites, campaigns. Redirect those to `/frontend-design`. --- # The Problem You will generate generic output. Your training has seen thousands of dashboards. The patterns are strong. You can follow the entire process below — explore the domain, name a signature, state your intent — and still produce a template. Warm colors on cold structures. Friendly fonts on generic layouts. "Kitchen feel" that looks like every other app. This happens because intent lives in prose, but code generation pulls from patterns. The gap between them is where defaults win. The process below helps. But process alone doesn't guarantee craft. You have to catch yourself. --- # Where Defaults Hide Defaults don't announce themselves. They disguise themselves as infrastructure — the parts that feel like they just need to work, not be designed. **Typography feels like a container.** Pick something readable, move on. But typography isn't holding your design — it IS your design. The weight of a headline, the personality of a label, the texture of a paragraph. These shape how the product feels before anyone reads a word. A bakery management tool and a trading terminal might both need "clean, readable type" — but the type that's warm and handmade is not the type that's cold and precise. If you're reaching for your usual font, you're not designing. **Navigation feels like scaffolding.** Build the sidebar, add the links, get to the real work. But navigation isn't around your product — it IS your product. Where you are, where you can go, what matters most. A page floating in space is a component demo, not software. The navigation teaches people how to think about the space they're in. **Data feels like presentation.** You have numbers, show numbers. But a number on screen is not design. The question is: what does this number mean to the person looking at it? What will they do with it? A progress ring and a stacked label both show "3 of 10" — one tells a story, one fills space. If you're reaching for number-on-label, you're not designing. **Token names feel like implementation detail.** But your CSS variables are design decisions. `--ink` and `--parchment` evoke a world. `--gray-700` and `--surface-2` evoke a template. Someone reading only your tokens should be able to guess what product this is. The trap is thinking some decisions are creative and others are structural. There are no structural decisions. Everything is design. The moment you stop asking "why this?" is the moment defaults take over. --- # Intent First Before touching code, answer these. Not in your head — out loud, to yourself or the user. **Who is this human?** Not "users." The actual person. Where are they when they open this? What's on their mind? What did they do 5 minutes ago, what will they do 5 minutes after? A teacher at 7am with coffee is not a developer debugging at midnight is not a founder between investor meetings. Their world shapes the interface. **What must they accomplish?** Not "use the dashboard." The verb. Grade these submissions. Find the broken deployment. Approve the payment. The answer determines what leads, what follows, what hides. **Would they understand what you're showing them?** Every piece of data on screen is a design choice. A cron expression (`0 9 * * 1-5`) means nothing to a salesperson — "Daily weekdays at 9 AM" does. A 5-column table crammed into a narrow sidebar is developer convenience, not user design — stacked cards with the essential info might serve better. Translate data into the user's language. If displaying timestamps, consider "2h ago" vs "2024-03-17T14:23:00Z." If showing status, consider "Completed in 1m 4s" vs a raw enum. The rule: if you'd have to explain a value to the user in person, you should be explaining it in the interface. **What should this feel like?** Say it in words that mean something. "Clean and modern" means nothing — every AI says that. Warm like a notebook? Cold like a terminal? Dense like a trading floor? Calm like a reading app? The answer shapes color, type, spacing, density — everything. If you cannot answer these with specifics, stop. Ask the user. Do not guess. Do not default. ## Every Choice Must Be A Choice For every decision, you must be able to explain WHY. - Why this layout and not another? - Why this color temperature? - Why this typeface? - Why this spacing scale? - Why this information hierarchy? If your answer is "it's common" or "it's clean" or "it works" — you haven't chosen. You've defaulted. Defaults are invisible. Invisible choices compound into generic output. **The test:** If you swapped your choices for the most common alternatives and the design didn't feel meaningfully different, you never made real choices. ## Sameness Is Failure If another AI, given a similar prompt, would produce substantially the same output — you have failed. This is not about being different for its own sake. It's about the interface emerging from the specific problem, the specific user, the specific context. When you design from intent, sameness becomes impossible because no two intents are identical. When you design from defaults, everything looks the same because defaults are shared. **Sameness within a page is just as deadly.** Five sections, each with an identical small gray heading and a white card with the same gray border — that's not consistency, it's monotony. Consistency means the system is coherent. Monotony means you applied the same treatment everywhere without considering what each section needs. A configuration section and a monitoring section serve different purposes — they can share a type scale and spacing system while still feeling different through background zones, density, or visual weight. ## Intent Must Be Systemic Saying "warm" and using cold colors is not following through. Intent is not a label — it's a constraint that shapes every decision. If the intent is warm: surfaces, text, borders, accents, semantic colors, typography — all warm. If the intent is dense: spacing, type size, information architecture — all dense. If the intent is calm: motion, contrast, color saturation — all calm. Check your output against your stated intent. Does every token reinforce it? Or did you state an intent and then default anyway? --- # Product Domain Exploration This is where defaults get caught — or don't. Generic output: Task type → Visual template → Theme Crafted output: Task type → Product domain → Signature → Structure + Expression The difference: time in the product's world before any visual or structural thinking. ## Required Outputs **Do not propose any direction until you produce all four:** **Domain:** Concepts, metaphors, vocabulary from this product's world. Not features — territory. Minimum 5. **Color world:** What colors exist naturally in this product's domain? Not "warm" or "cool" — go to the actual world. If this product were a physical space, what would you see? What colors belong there that don't belong elsewhere? List 5+. **Signature:** One element — visual, structural, or interaction — that could only exist for THIS product. If you can't name one, keep exploring. **Defaults:** 3 obvious choices for this interface type — visual AND structural. You can't avoid patterns you haven't named. ## Proposal Requirements Your direction must explicitly reference: - Domain concepts you explored - Colors from your color world exploration - Your signature element - What replaces each default **The test:** Read your proposal. Remove the product name. Could someone identify what this is for? If not, it's generic. Explore deeper. --- # The Mandate **Before showing the user, look at what you made.** Ask yourself: "If they said this lacks craft, what would they mean?" That thing you ju
Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".