skills/designing-user-interfaces/SKILL.md
Design, implement, and review UI/UX that minimizes cognitive load without sacrificing functional completeness, using Apple-derived design philosophy adapted to the target platform. Use when creating or evaluating screens, components, wireframes, navigation, workflows, dashboards, forms, or design systems; especially when deciding what stays visible, what uses progressive disclosure, how information should be prioritized, or whether an interface is cluttered or over-simplified.
npx skillsauth add narumiruna/agent-skills designing-user-interfacesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Minimize cognitive load while preserving useful capability, agency, context, and recovery. Apply Apple-derived principles of purpose, agency, responsibility, familiarity, flexibility, simplicity, craft, and delight across platforms, translating them into the target platform's conventions instead of copying Apple-specific components. Simplicity is not minimalism: keep important things close and include what the task actually needs.
Before designing, reviewing, or changing an interface, identify the primary user, current context, primary task, platform, input methods, constraints, and existing product conventions. Inspect available product evidence rather than inventing requirements or user research.
Choose the mode from the request and do not substitute a design report for requested implementation work.
During implementation, preserve existing product behavior, content meaning, data semantics, validation contracts, permissions, persistence, and destructive consequences unless the request or product evidence authorizes a change. Treat current code and copy as evidence, not as an invitation to complete a speculative production flow. A destructive label alone does not establish reversibility, timing, scope, reauthentication, or recovery policy. Do not invent business rules, limits, defaults, system capabilities, success claims, consequences, or unsupported states.
If a missing product decision materially blocks safe implementation, ask at most one question. Until it is answered, leave the uncertain behavior unchanged and make only improvements that do not depend on that decision. In a proposal or review, frame unsupported behavior as a decision or open question, not an assumed fact.
Keep the effort and code change proportional to the requested surface and risk. Prefer the smallest coherent change that uses the existing design system. Do not turn a small implementation into a full redesign or exhaustive audit, and do not redesign unrelated regions. Stop when the requested task, directly affected states, accessibility paths, and recovery behavior are addressed; report unsupported or unverified scenarios instead of inventing them.
Classify every action or information element before styling it.
| Classification | Use when | Presentation | | --- | --- | --- | | Primary | Required for the main task or next likely step | Directly visible, clearly labeled, visually prominent | | Secondary/supporting | Frequently needed to understand or complete the task | Visible but lower emphasis or grouped near its object | | Contextual | Relevant only for a selected item, state, role, or step | Reveal in that context without requiring recall | | Advanced | Useful but infrequent, specialized, or configuration-heavy | Progressive disclosure through a labeled control or dedicated view | | Safety/status | Needed to understand system state, consequences, permissions, errors, progress, or recovery | Visible at the relevant time and near the affected object; interrupt only when necessary | | Redundant or irrelevant | Duplicates another path or does not support the current context | Remove only after confirming no capability, status, recovery path, or learning cue is lost |
For each element, determine its necessity for the current task, evidence of frequency and audience, consequence if missed, applicable lifecycle state, possible grouping, disclosure entry point, and the memory, search, navigation, or recovery burden of hiding it. Label missing evidence as unknown; do not convert unknown frequency, priority, or behavior into product requirements.
Never hide the current location, consequential system state, required input, destructive consequence, permission boundary, unsaved-work risk, error recovery, or the only accessible route to a core action. Never rely on an unlabeled icon, hidden gesture, hover, color, sound, or motion as the sole route or explanation.
Organize the interface in this order:
Prefer the fewest visible elements that still support efficient, predictable use. Fewer elements are not automatically better.
Lead with the result appropriate to the mode: the recommended structure for a proposal, prioritized findings for a review, or the implemented changes and verification for implementation. Do not return only rationale when the user asked for working UI changes.
For a material proposal or review, cover only the dimensions that affect the decision:
Omit inapplicable or repetitive sections. A small component decision may need only a recommendation, the key consequence, and a verification note.
Do not stop at adjectives such as “clean,” “simple,” or “modern.” Name the concrete structural decision and its effect on user effort.
references/apple-hig.md when the task benefits from deeper HIG-derived reasoning or exact accessibility, layout, action, feedback, modality, writing, privacy, or motion guidance. For material Apple-platform decisions, inspect the mapped archived topic and exact platform or component page; do not apply Apple-specific metrics or controls to other platforms by default.references/preferences.md before choosing visual density, shape, motion, color, or information amount. Project requirements, user evidence, platform conventions, and accessibility needs override its defaults.references/cases.md when a listed pattern resembles the current problem or when reviewing whether a proposal creates false simplicity.Maintain this skill in three layers:
references/preferences.md.references/cases.md, including the context and reason; do not turn isolated taste into a universal rule.development
Score or compare one or more agent skills across trigger clarity, workflow actionability, safety boundaries, verification rigor, incremental knowledge value, and leanness. Use only when the user explicitly asks for ratings, numerical quality scores, rubric-based scorecards, or scored comparisons; use creating-agent-skills for unscored reviews or revisions.
development
Assess or improve an existing codebase's architecture when the user asks about module boundaries, coupling, scattered ownership, testability, change locality, deep modules, seams, or behavior-preserving structural refactoring. Use for cross-module design rather than ordinary diff review or a confirmed edge-case bug fix.
development
Perform read-only security audits, vulnerability assessments, or threat-focused reviews of diffs, pull requests, code paths, or explicitly scoped repositories when security is the primary objective or acceptance criterion. Use reviewing-code for ordinary review with baseline security coverage and hardening-code-paths for fixing confirmed findings.
development
Run iterative multi-reviewer panels over a code diff, verify their findings, apply explicitly authorized fixes, and re-review the updated change until it passes or reaches a stopping condition. Use when the user asks for a panel loop, multi-model code-review consensus, or a review-fix-re-review cycle.