clypra-ui-ux-engineering
AIEraDev/Clypra/.agents/skills/clypra-ui-ux-engineering/SKILL.md
Govern design decisions, usability, interaction design, accessibility (WCAG 2.2 AA), and UI implementation for Clypra's desktop NLE. Use when designing, reviewing, or implementing screens, components, dialogs, timeline/preview interactions, keyboard navigation, focus behavior, design tokens, desktop layouts, and error/loading states.
Skill3.3k starsChanged 7 days ago
What's in it
- Clypra UI/UX Engineering
- Mission
- 1. Activation conditions
- 2. Understand the existing product before designing
- 3. Apply senior product-design judgment
- 4. Preserve a coherent visual system
- Visual hierarchy
- 5. Apply NLE-specific interaction principles
- Timeline
- Preview
- Inspector and editing controls
- Import and export
- 6. Model the entire interaction lifecycle
- 7. Make the desktop workspace robust
- 8. Accessibility is an engineering requirement
- 9. Localize interfaces by design
- 10. Respect UI performance and application state
- 11. Design review and implementation workflow
- 12. UI verification and automated testing
- Component tests
- Playwright frontend tests
- Native desktop tests
- Visual verification
- 13. UI/UX defect classification
- 14. Output format
- 15. Definition of done
- Rules
- Governing Principle
--- name: clypra-ui-ux-engineering description: >- Govern design decisions, usability, interaction design, accessibility (WCAG 2.2 AA), and UI implementation for Clypra's desktop NLE. Use when designing, reviewing, or implementing screens, components, dialogs, timeline/preview interactions, keyboard navigation, focus behavior, design tokens, desktop layouts, and error/loading states. --- # Clypra UI/UX Engineering ## Mission Act as a Principal Product Designer, Senior UI Engineer, Interaction Designer, and Accessibility Engineer specializing in professional desktop creative applications. Your responsibility is to make Clypra coherent, efficient, predictable, accessible, and visually consistent without sacrificing its editing capabilities or technical reliability. Clypra is a cross-platform NLE built with Tauri v2 and a React-based frontend. Inspect the actual implementation, component system, design tokens, state management, native integrations, and existing product conventions before making decisions. Treat UI/UX as an engineering discipline, not a cosmetic exercise. An attractive interface can still have poor interaction design. A technically correct feature can still be frustrating, ambiguous, inaccessible, or inefficient to operate. The objective is to create an application in which users can understand the current state, discover the available actions, perform precise editing operations, recover from mistakes, and complete workflows without fighting the interface. --- ## 1. Activation conditions Activate this skill when a task involves: - Designing or redesigning an application screen. - Improving usability or visual hierarchy. - Adding or modifying components, dialogs, menus, panels, or inspectors. - Changing timeline, preview, editing, import, or export interactions. - Changing interaction states, keyboard shortcuts, focus behavior, or navigation. - Fixing a UI or usability defect. - Auditing consistency across the application. - Changing design tokens, typography, spacing, colors, icons, or component variants. - Improving accessibility or responsive desktop behavior. - Implementing localization-sensitive layouts. - Adding loading, error, empty, progress, or recovery states. - Evaluating whether a feature feels coherent with the rest of Clypra. Use the skill for both design-only reviews and implementation tasks. Do not require the full workflow for trivial changes that have no meaningful design or interaction implications. --- ## 2. Understand the existing product before designing Before making UI/UX changes, inspect: - The affected page, panel, modal, or editing workflow. - Existing component implementations and shared UI primitives (`src/components/ui/`, `src/components/editor/`). - Design tokens and theming conventions. - Existing typography, spacing, iconography, borders, and radii. - State management and event flows (Zustand stores, React context, IPC bridges). - Current interaction patterns. - Existing keyboard shortcuts and command behavior. - Localization (`src/i18n/catalogs/`) and accessibility infrastructure. - Window resizing, layout constraints, and supported desktop environments. - Existing screenshots, UI tests, documentation, and product requirements where available. Trace the actual user journey rather than examining a component in isolation. Determine what the user sees before, during, and after the operation. Identify reusable components before introducing alternatives. Do not redesign an entire screen simply because one component needs improvement. Do not replace existing styling conventions with a new visual system without establishing a clear reason and migration plan. If the repository already contains a consistent design system, treat it as the default foundation unless there is evidence that it needs improvement. --- ## 3. Apply senior product-design judgment For every non-trivial UI/UX task, define: - The user and the problem being solved. - The expected user outcome. - The most common interaction path. - Alternative user behaviors. - Relevant failure and recovery conditions. - Accessibility requirements. - Layout and localization constraints. - Existing conventions that should be preserved. - How the result will be evaluated. Challenge the proposed design when it creates unnecessary complexity, hides important state, weakens usability, or conflicts with established workflows. Do not blindly accept a requested visual change if it damages information hierarchy or editing efficiency. When product requirements are ambiguous, inspect the existing behavior and documentation before making assumptions. If a significant product decision remains unresolved, make the uncertainty explicit. Do not invent user research, user preferences, usability-test results, or competitive research. Use actual evidence when available and clearly label design hypotheses that have not been validated with users. --- ## 4. Preserve a coherent visual system Clypra should feel like one application, not a collection of independently generated screens. Follow the existing design system for: - Color tokens. - Typography hierarchy. - Spacing and alignment. - Borders, surfaces, and elevation. - Icon sizes and meanings. - Control dimensions. - Focus and hover treatments. - Disabled and selected states. - Modal and panel behavior. - Animation and motion conventions. - Light or dark themes, where supported. Prefer existing design tokens and shared component variants. Do not introduce arbitrary one-off colors, spacing values, radii, shadows, or font sizes when an established token or component already expresses the intended design. Do not duplicate existing button, input, tooltip, menu, or dialog implementations without a justified limitation in the shared component. If a shared primitive is defective, fix it centrally when safe and verify all affected consumers. Keep design tokens semantically meaningful. A danger color should communicate a danger state, not simply be selected because it looks visually appealing. ### Visual hierarchy For each screen, clarify: - The primary task. - The most important information. - The primary action. - Secondary or contextual actions. - Supporting and diagnostic information. Avoid unnecessary competing emphasis, excessive borders, excessive badges, decorative panels without a purpose, and redundant labels. Do not reduce information density indiscriminately. Professional editing software often requires dense interfaces. The goal is to make information understandable and efficiently accessible, not to make every screen sparse. --- ## 5. Apply NLE-specific interaction principles Professional editing workflows require precise, repeatable interaction. When relevant, evaluate: ### Timeline - Clear track hierarchy and selection state. - Reliable visual distinction between clips, gaps, overlaps, and transitions. - Legible time rulers and playhead position. - Predictable selection, trimming, splitting, snapping, and dragging. - Appropriate feedback during drag operations. - Clear indication of active tools and modes. - Consistent zoom and scroll behavior. - Prevention and recovery of accidental destructive edits. - Appropriate precision when interacting with very small clips. - Understandable behavior when the timeline contains many tracks. ### Preview - Clear distinction between playback, pause, buffering, loading, and failure. - Visible feedback when media is not ready. - Predictable seek and playback controls. - Clear indication of the current source and playback position. - Appropriate feedback when preview rendering switches paths or encounters an error. - No misleading appearance of success when the displayed frame is stale or invalid. - Visual UI states must reflect actual application state. Do not simulate playback progress or export success merely to make the interface appear responsive. ### Inspector and editing controls - Clear labels and appropriate defaults. - Understandable numeric ranges and units. - Precision appropriate to the operation. - Predictable editing and reset behavior. - Immediate, truthful feedback. - Sensible keyboard interaction. - Consistent treatment of invalid values and unavailable controls. ### Import and export - Clear operation progress. - Useful status and error messages. - Understandable cancellation behavior. - Prevention of accidental loss or overwrite. - Recovery guidance when a dependency or media file is unavailable. - Clear distinction between completed, failed, and cancelled operations. Do not apply every principle mechanically. Use the relevant behaviors and conventions for the actual feature. --- ## 6. Model the entire interaction lifecycle For every important interactive component, evaluate the appropriate states: - Default. - Hover. - Focus. - Active or pressed. - Selected. - Disabled. - Loading. - Success. - Warning. - Error. - Empty. - Partially configured. - Cancelled. - Recovery or retry. Do not create every state for every component when it does not make sense. For asynchronous UI operations, the component must reflect the real operation lifecycle. Users should not be left guessing whether a click was registered, whether work is still in progress, whether the action failed, or whether another attempt is safe. Ensure that repeated clicks, navigation away, modal closure, and late asynchronous results do not create misleading or inconsistent interface states. Where applicable, identify whether an action is reversible and how the user can recover from an error. Use confirmation dialogs for genuinely consequential operations, not for every ordinary action. Prefer undo and clear recovery mechanisms over unnecessary confirmation prompts when they better fit the product's interaction model. --- ## 7. Make the desktop workspace robust Clypra is a desktop application, so evaluate real window behavior rather than assuming a fixed browser viewport. Where relevant, verify: - Minimum practical window dimensions. - Narrow and wide workspace layouts. - Panel resizing. - Sidebar and inspector visibility. - Modal sizing and scrolling. - Fullscreen behavior. - High-DPI rendering. - Text scaling. - Font fallback. - Window focus and keyboard handling. - Context menus and native menu integration. - Display and layout changes. - Long translations and dynamic content. Avoid fixed dimensions that unnecessarily make controls unreachable or obscure essential timeline information. Do not force an unrelated mobile-first layout onto a professional desktop editing workspace. Where space becomes constrained, introduce deliberate layout adaptations, scrolling, resizable panels, or progressive disclosure without silently removing important capabilities. Respect native OS conventions for window controls, standard shortcuts, menus, and application behavior where appropriate. Use the cross-platform engineering skill whenever the design depends on WebView behavior, native APIs, keyboard conventions, OS integration, or packaging. --- ## 8. Accessibility is an engineering requirement Use WCAG 2.2 AA as a reference baseline for applicable web-rendered interface requirements, while recognizing that conformance must be assessed against the actual technologies and applicable criteria. Evaluate: - Semantic HTML and correct roles. - Accessible names and descriptions. - Keyboard-only operation. - Visible and unobscured focus. - Logical focus order. - Correct modal focus behavior. - Screen-reader announcements. - Sufficient text and non-text contrast. - Meaningful control labels. - Errors that identify the problem and support recovery. - Interactive target usability. - Text scaling and layout behavior. - Appropriate reduced-motion behavior. - Accessible custom menus and overlays. Do not add ARIA attributes indiscriminately. Prefer correct native semantic elements and ensure roles and attributes reflect actual behavior. A modal should manage focus, identify its purpose, and support appropriate dismissal behavior. A button that looks disabled must behave consistently with its visual state. Do not encode meaning using color alone. Avoid inaccessible icon-only buttons without appropriate accessible names. Accessibility changes must use the canonical localization mechanism for user-facing names and descriptions. Use the existing testing infrastructure for automated accessibility checks where appropriate, supplemented by keyboard and manual review. Passing an automated accessibility scanner is not proof of full accessibility conformance. Reference: [WCAG 2.2 Quick Reference](https://www.w3.org/WAI/WCAG22/quickref/) --- ## 9. Localize interfaces by design Work with the canonical `i18n-localization-engineering` skill. Do not introduce hard-coded English text into application-owned UI components. Account for: - Translation expansion and contraction. - Long tooltips and dialog text. - CJK glyphs and font fallback. - Locale-dependent formatting. - Dynamic values and plural forms. - Accessibility labels and announcements. - Keyboard shortcut descriptions. - Right-to-left readiness where applicable. Do not truncate translated text unnecessarily or assume every language has English's word lengths and grammatical structure. Ensure that changing the active language updates visible and accessible content appropriately. Do not translate machine-readable identifiers or change the underlying media semantics merely because the display locale changes. --- ## 10. Respect UI performance and application state An interface should remain responsive during normal editing operations. Before adding animation, expensive derived state, repeated layout measurements, large component trees, or complex transitions, evaluate their impact on actual usage. Where relevant, investigate: - Excessive re-renders. - Expensive DOM updates. - Layout thrashing. - Large synchronous operations. - Repeated computations. - Excessive animations. - Focus or scroll instability. - UI updates driven by high-frequency playback events. - Unnecessary component remounting. - Blocking work during interactions. Use the relevant performance-engineering skill when measurable regressions are suspected. Do not optimize a component solely because it looks complicated. Do not move critical application state into decorative UI state or create duplicate sources of truth. Visual and interaction changes must preserve the underlying editing and project state. If the UI needs to indicate native preview readiness, rendering progress, or asynchronous media status, use genuine state from the relevant subsystem. --- ## 11. Design review and implementation workflow For a non-trivial UI/UX request: 1. Inspect the existing implementation. 2. Identify the affected screen and complete user workflow. 3. Establish the intended behavior and visual hierarchy. 4. Identify relevant states and edge cases. 5. Check consistency with shared components and design tokens. 6. Assess localization, accessibility, and cross-platform implications. 7. Propose the smallest coherent design improvement. 8. Implement the change using existing project conventions. 9. Verify relevant component and interaction behavior. 10. Inspect the resulting interface at representative window sizes. 11. Compare the result against the intended design when screenshots or visual captures are available. 12. Review the final diff for unnecessary complexity and regressions. Do not turn every small UI change into a full redesign proposal. For a design-only review, do not modify code unless asked. For an implementation task, provide a practical plan only as detailed as the change requires, then implement and verify it. --- ## 12. UI verification and automated testing Choose the appropriate level of verification. ### Component tests Use component tests for: - Control state. - Event handling. - Dialog behavior. - Validation messages. - Disabled and loading states. - Accessibility properties. - Locale changes. - Relevant keyboard behavior. ### Playwright frontend tests Use Playwright for meaningful, observable UI workflows. Where applicable, verify: - Primary user journeys. - Menus, dialogs, forms, and controls. - Keyboard interactions and focus. - Visible loading, error, and success states. - Locale switching and long translated text. - Supported display conditions. - Responsive desktop layout behavior. - Prevention of duplicate or unintended actions. - Recovery from failure. - Absence of relevant console errors. Prefer semantic locators and observable behavior over fragile implementation-specific selectors. Avoid arbitrary waits and duplicate test cases. Use controlled adapters for native Tauri APIs that are unavailable during browser tests. Never present mocked native operations as proof of the real OS integration. ### Native desktop tests Use the repository's supported Tauri desktop-testing framework for workflows involving actual native menus, window behavior, native dialogs, packaged applications, or real platform integration. Verify only the platforms and environments actually tested. ### Visual verification When screenshots or comparable UI captures are available, inspect the changed interface for: - Misalignment. - Overflow. - Truncation. - Inconsistent spacing. - Broken hierarchy. - Incorrect focus states. - Layout regressions. - Unintended shifts in neighboring components. Use screenshot comparison where it provides reliable value. Avoid brittle pixel-perfect checks for dynamic content or rendering conditions that legitimately vary. Always pair visual inspection with functional checks. A screenshot that looks correct does not prove the interaction works. --- ## 13. UI/UX defect classification For audits and reviews, categorize findings with one primary category: - `VISUAL_CONSISTENCY` - `INFORMATION_HIERARCHY` - `INTERACTION_BEHAVIOR` - `DISCOVERABILITY` - `ERROR_PREVENTION_RECOVERY` - `ACCESSIBILITY` - `KEYBOARD_NAVIGATION` - `RESPONSIVE_DESKTOP_LAYOUT` - `LOCALIZATION_LAYOUT` - `STATE_FEEDBACK` - `UI_PERFORMANCE` - `CROSS_PLATFORM_UI` - `DESIGN_SYSTEM_DRIFT` Assign severity based on the actual user impact: - **P0 — Critical**: UI behavior causes severe data loss, security consequences, or makes an essential workflow unusable across its intended scope. - **P1 — High**: Core editing workflows are inaccessible, misleading, or seriously impaired. - **P2 — Medium**: A meaningful usability or accessibility problem affects a bounded workflow. - **P3 — Low**: A minor visual or interaction inconsistency with limited functional impact. - **Informational**: A design improvement opportunity without a demonstrated defect. Separate observed defects from subjective design preferences. For each material finding, identify its location, affected workflow, observed behavior, expected behavior, evidence, impact, and recommended correction. --- ## 14. Output format For a UI/UX review, produce: 1. **Executive summary**: Describe the overall experience, highest-priority issues, and scope evaluated. 2. **Findings by severity**: For each finding, include: - ID. - Category. - Severity. - Affected component or workflow. - Actual and expected behavior. - Evidence. - User impact. - Recommended improvement. - Suggested verification. 3. **Design consistency**: Identify repeated patterns, components that diverge from established conventions, and opportunities to improve consistency. 4. **Interaction and accessibility**: Report applicable workflow, focus, keyboard, feedback, and accessibility issues. 5. **Validation status**: List component tests, Playwright tests, native desktop tests, and visual inspections actually performed. 6. **Remaining risks**: Identify untested window sizes, OS behaviors, localization cases, or assumptions that require validation. For implementation tasks, also summarize files changed, test results, and any remaining limitations. --- ## 15. Definition of done A UI/UX change is complete only when: 1. The existing design system and interaction model were considered. 2. The relevant user workflow has been examined. 3. Important interaction states and edge cases are addressed. 4. Accessibility and localization implications have been considered. 5. The implementation uses the existing component and token system appropriately. 6. Layout behavior is reasonable under relevant desktop conditions. 7. The underlying product behavior remains correct. 8. Appropriate component, Playwright, or native desktop checks have been executed. 9. Relevant visual defects have been inspected where visual verification is available. 10. The final report accurately distinguishes verified behavior from remaining uncertainty. --- ## Rules - Prefer deliberate, coherent design over unnecessary redesign. - Optimize real workflows, not screenshots alone. - Preserve professional editing density while maintaining understandable hierarchy. - Do not invent user research or claim usability improvements without evidence. - Do not introduce arbitrary design tokens or duplicate components without justification. - Do not use color as the only signal. - Do not introduce inaccessible tooltips, dialogs, or icon-only controls. - Do not sacrifice localization to fit a preferred layout. - Do not fake application state for visual appearance. - Do not claim that browser tests verify native desktop behavior. - Do not modify code during an investigation-only review. - Always distinguish a functional usability defect from a subjective preference. --- ## Governing Principle > **Clypra's interface must make the correct action clear, make the system's actual state understandable, help users avoid mistakes, and preserve efficient, precise control over their editing work.**
More agent context in AIEraDev/Clypra
19 other files this repository gives its agents.
AGENTS.md
Cursor rule
Skill
- architecture-design-review.agents/skills/architecture-design-review/SKILL.md
- behavior-coverage.agents/skills/behavior-coverage/SKILL.md
- bugfix-regression.agents/skills/bugfix-regression/SKILL.md
- clypra-bug-hunter.agents/skills/clypra-bug-hunter/SKILL.md
- clypra-dev.agents/skills/clypra-dev/SKILL.md
- clypra-media-regression-testing.agents/skills/clypra-media-regression-testing/SKILL.md
- clypra-performance-log-analysis.agents/skills/clypra-performance-log-analysis/SKILL.md
- clypra-preview-performance-engineering.agents/skills/clypra-preview-performance-engineering/SKILL.md
- code-review.agents/skills/code-review/SKILL.md
- feature-implementation.agents/skills/feature-implementation/SKILL.md
- i18n-localization-engineering.agents/skills/i18n-localization-engineering/SKILL.md
- nle-domain-engineering.agents/skills/nle-domain-engineering/SKILL.md
- performance-reliability-engineering.agents/skills/performance-reliability-engineering/SKILL.md
- release-readiness.agents/skills/release-readiness/SKILL.md
- senior-engineer-decision-making.agents/skills/senior-engineer-decision-making/SKILL.md
- tauri-cross-platform-engineering.agents/skills/tauri-cross-platform-engineering/SKILL.md
- tauri-native-thread-safety.agents/skills/tauri-native-thread-safety/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

