skills/remix-ui/SKILL.md
Build the UI of a Remix app. Use when creating pages, layouts, client entries, interactions, stateful UI, navigation, hydration, styling, animations, reusable mixins, or UI tests.
npx skillsauth add remix-run/remix remix-uiInstall 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.
Use this skill when building the UI of a Remix app.
This skill uses Remix Component as the UI model behind the app's pages, layouts, interactions, and client behavior.
css(...), style, refs, keyboard helpers, or press helpersclientEntry(...), run(...), frames, or UI navigationcreateMixin(...)handle.update() explicitly.mix={[on(...)]}mix={[css(...)]}mix={[ref(...)]}mix={[keysEvents()]}mix={[pressEvents()]}mix={[link(href, options)]}addEventListeners(target, handle.signal, listeners) for global listeners.queueTask(...) for post-render DOM work, reactive effects, or hydration-sensitive setup.<head> explicit in document or layout code.root.flush() when unit tests need synchronous assertions.handle usage, and global listeners.clientEntry, run, frames, SSR frame context, navigation APIs, and explicit <head>
management.root.flush(), and high-value testing heuristics.createMixin(...), using
handle.addEventListener('insert' | 'remove', ...), or reasoning about mixin lifecycle
semantics and type flow.development
Describe the ideal layout of a Remix application, including canonical directories, route ownership, naming conventions, and file locations on disk. When asked to bootstrap that layout in a new directory, run the bundled TypeScript script.
documentation
Write or rewrite package README files in the style used by the Remix repository. Use when drafting a new package README, revising an existing README, or reviewing README structure, examples, installation instructions, and section ordering for Remix packages.
development
Write or audit public API docs for Remix packages. Use when adding or tightening JSDoc on exported functions, classes, interfaces, type aliases, or option objects.
documentation
Update an existing GitHub pull request title and description so they accurately describe the pull request as it exists now. Use when the user asks to update, rewrite, refresh, fix, or tighten a PR title/body, or when the PR scope has changed and the metadata needs to be brought back in sync.