UI Styling
Ohh-889/skyroc
Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.
Design and style ryOS UI using the current OS theme token system, Tailwind variants, shared primitives, Aqua Glass, dark mode, and accent conventions.
$ npx skills add ryokun6/ryos --skill ui-design-styling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ryokun6/ryos ui-design-styling --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ryokun6/ryos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/ui-design-styling .claude/skills/ui-design-styling && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ui-design-styling" agent skill from https://github.com/ryokun6/ryos/tree/main/.cursor/skills/ui-design-styling into .claude/skills/ui-design-styling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-design-styling", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ryokun6/ryos/tree/main/.cursor/skills/ui-design-stylingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ryokun6/ryos --skill ui-design-styling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ryokun6/ryos ui-design-styling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ryokun6/ryos.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/ui-design-styling .agents/skills/ui-design-styling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ui-design-styling" agent skill from https://github.com/ryokun6/ryos/tree/main/.cursor/skills/ui-design-styling into .agents/skills/ui-design-styling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-design-styling", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ryokun6/ryos --skill ui-design-styling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ryokun6/ryos ui-design-styling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ryokun6/ryos.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/ui-design-styling .cursor/skills/ui-design-styling && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ui-design-styling" agent skill from https://github.com/ryokun6/ryos/tree/main/.cursor/skills/ui-design-styling into .cursor/skills/ui-design-styling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-design-styling", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ryokun6/ryos.git --path .cursor/skills/ui-design-styling--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ryokun6/ryos --skill ui-design-styling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ryokun6/ryos ui-design-styling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ryokun6/ryos.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/ui-design-styling .gemini/skills/ui-design-styling && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ui-design-styling" agent skill from https://github.com/ryokun6/ryos/tree/main/.cursor/skills/ui-design-styling into .gemini/skills/ui-design-styling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-design-styling", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ryokun6/ryos ui-design-stylingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ryokun6/ryos --skill ui-design-styling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ryokun6/ryos.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/ui-design-styling .github/skills/ui-design-styling && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ui-design-styling" agent skill from https://github.com/ryokun6/ryos/tree/main/.cursor/skills/ui-design-styling into .github/skills/ui-design-styling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-design-styling", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ryokun6/ryos --skill ui-design-styling -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ryokun6/ryos ui-design-styling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ryokun6/ryos.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/ui-design-styling .opencode/skills/ui-design-styling && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ui-design-styling" agent skill from https://github.com/ryokun6/ryos/tree/main/.cursor/skills/ui-design-styling into .opencode/skills/ui-design-styling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-design-styling", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ui-design-stylingDesign and style ryOS UI using the current OS theme token system, Tailwind variants, shared primitives, Aqua Glass, dark mode, and accent conventions.
UI Design Styling is an agent skill from ryokun6/ryos. Design and style ryOS UI using the current OS theme token system, Tailwind variants, shared primitives, Aqua Glass, dark mode, and accent conventions. Use when creating UI components, styling elements, working with themes, adding visual effects, or implementing retro OS aesthetics.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering CSS and styling, UI design and Theming and dark mode. It works with Tailwind CSS. The repository describes itself as: ryOS, made with Cursor. The licence is AGPL-3.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d68b815. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
rgbunFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
UI Design Styling loads about 3.1k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 1,073 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ryokun6/ryos at commit d68b815, republished under its AGPL-3.0 licence (© ryokun6). 1,073 words, ~3,056 tokens.
.claude/skills/ui-design-styling/SKILL.md (or your agent's skills folder).docs/3.3.1-theme-architecture.mddocs/3.3-theme-system.mdsrc/styles/themes/tokens.csssrc/styles/themes.csstailwind.config.jssrc/themes/, src/stores/useThemeStore.ts, src/hooks/useThemeFlags.tsVisual values belong in CSS --os-* tokens. TypeScript theme files hold metadata, platform behavior, dark-mode support flags, and wallpaper defaults; do not duplicate palettes in TS or component code.
| Theme | ID | Platform | Key traits |
|---|---|---|---|
| macOS Aqua | macosx | mac / aqua | Glossy controls, traffic lights, dock, pinstripe or Aqua Glass, light/dark, accents |
| System 7 | system7 | mac / system7 | Black/white, square corners, Chicago-style type, dotted titlebars, accents |
| Windows XP | xp | windows | Luna blue chrome, rounded window borders, taskbar, legacy XP CSS |
| Windows 98 | win98 | windows | Gray bevels, square corners, classic taskbar, legacy 98 CSS |
Default theme is macosx; default Aqua material is glass.
useThemeStore applies attributes to <html>. Prefer targeting these through tokens and Tailwind variants.
| Attribute / class | Meaning |
|---|---|
data-os-theme | Exact theme id: system7, macosx, xp, win98 |
data-os-platform | Shared platform bucket: mac or windows |
data-os-mac-chrome | Mac chrome variant: aqua or system7; absent for Windows |
data-os-color-scheme="dark" | Present only when the active theme supports dark mode and dark is enabled |
data-os-aqua-material="glass" | Present only for macOS Aqua Glass |
data-os-accent | Present for non-default Mac chrome accents |
data-os-system-font | Present for debug font overrides |
.dark | Mirrors Aqua dark mode for Tailwind dark:* compatibility |
src/styles/themes.css imports theme CSS in this order:
tokens.css - defaults, per-theme token blocks, [data-selected="true"], z-index scale.platform.css - rules shared by mac or windows platform buckets.containment.css - reduced motion and third-party/app isolation.aqua.css - Aqua structural chrome, .aqua-button, brushed metal, typography.windows.css - Windows structural landing rules.dark-aqua.css - Aqua dark tokens and structural overrides.aqua-glass.css - Aqua Glass overrides, imported after dark Aqua.control-panels-mac.css / control-panels-themed.css - Control Panels skins.Windows themes also load /css/xp-custom.css or /css/98-custom.css dynamically. When a rule applies to both XP and Win98, use data-os-platform="windows" instead of duplicated exact-theme selectors.
Use token-backed Tailwind utilities first:
className="bg-os-window-bg border-os-window rounded-os shadow-os-window"
className="font-os-ui text-os-text-primary"
className="bg-os-panel-bg border-[length:var(--os-metrics-border-width)]"
className="bg-os-input-bg border-os-input-border focus:border-os-input-focusBorder"
className="text-os-link bg-os-selection-bg text-os-selection-text"
className="h-os-titlebar h-os-menubar z-menubar"Core token groups:
--os-font-ui, --os-font-mono--os-color-window-bg, --os-color-panel-bg, --os-color-input-bg--os-color-window-border, --os-color-separator, --os-color-input-border--os-color-text-primary, --os-color-text-secondary, --os-color-text-disabled, --os-color-link--os-color-menubar-*, --os-color-titlebar-*, --os-color-button-*--os-color-selection-*, --os-color-selection-glow, --os-color-selection-ring-gap--os-metrics-*, --os-window-shadow--os-color-traffic-light-*, --os-pinstripe-*, --os-texture-*, --os-typography-*--z-base, --z-dialog, --z-menubar, --z-dropdown, --z-spotlightShadcn HSL variables (--background, --primary, etc.) still exist for generic UI primitives. For OS chrome and app surfaces, prefer --os-* tokens and bg-os-* / text-os-* utilities.
Use root-attribute variants for small static visual differences:
className={cn(
"bg-os-window-bg text-os-text-primary",
"os-windows:border-os os-mac-aqua:rounded-os",
"os-mac-system7:rounded-none os-theme-win98:shadow-none",
"os-dark:bg-os-window-bg os-mac-aqua-dark:text-os-text-primary"
)}Available variants:
os-mac:, os-windows:os-mac-aqua:, os-mac-system7:os-theme-system7:, os-theme-macosx:, os-theme-xp:, os-theme-win98:os-dark:, os-mac-aqua-dark:, os-theme-<id>-dark:Prefer CSS variants and tokens over React theme branches when the DOM and behavior do not change.
Use useThemeFlags() for component decisions:
const {
currentTheme,
osPlatform,
macChrome,
metadata,
isWindowsTheme,
isMacTheme,
isMacOSTheme,
isSystem7Theme,
isWinXp,
isWin98,
isClassicTheme,
isAquaMenuChrome,
isMacAquaChrome,
supportsDarkMode,
isDarkMode,
darkModePreference,
supportsAccent,
accent,
aquaMaterial,
isAquaGlass,
} = useThemeFlags();Use React branches only when structure, behavior, assets, layout math, or app logic differs. For non-React code, use useThemeStore.getState() or helpers from @/themes such as getOsPlatform, getOsMacChrome, isWindowsTheme, isMacTheme, isThemeWinXp, and isThemeWin98.
Prefer shared primitives before adding new four-way class branches:
import {
osCardClassName,
osDrawerSurfaceClassName,
osToolbarSurfaceClassName,
osAppSidebarSurfaceClassName,
osSeparatorBorderClassName,
osSubtleIconButtonClassName,
windowsBevelClassName,
} from "@/components/shared/osThemePrimitives";Pass isAquaGlass when a primitive supports it. Use windowsBevelClassName("raised" | "sunken") instead of hand-writing Win98 bevel borders.
When choosing app icons, toolbar glyphs, file-type art, dialog icons, devices, folders, or other OS-flavored imagery, search the repo icon libraries before drawing new assets or using external sources.
Active theme icons live under public/icons/<theme>/... and are resolved through public/icons/manifest.json by helpers such as pickIconPath, resolveIconLegacyAware, and useIconPath. Historical source libraries live outside active theme resolution:
public/resources/macos-icon-catalogs/{panther,tiger}/catalog.mdpublic/resources/windows-icon-catalogs/{win98,xp}/catalog.mdUse this order:
public/icons/default, then matching theme variants in public/icons/macosx, public/icons/win98, or public/icons/xp.applications, system-preferences, control-panels, dialog-ui-assets, folders, devices, and file-types.public/icons/<theme>/... only when it should participate in active UI rendering; keep public/resources/... as the source catalog, not as runtime app metadata.bun run generate:icons after changing active public/icons files.default assets first, then theme-specific variants where they materially improve the UI.Useful searches:
rg -i "calculator|paint|printer|warning|folder" public/resources/*-icon-catalogs
rg -i "\"themes\"|\"macosx\"|\"win98\"|\"xp\"" public/icons/manifest.jsonimport { Button } from "@/components/ui/button";
<Button variant="default">Standard</Button>
<Button variant="secondary">Secondary</Button>
<Button variant="retro">Retro</Button>
<Button variant="aqua">Aqua</Button>Button maps variants to .aqua-button on macOS Aqua and legacy .button on Windows.
<button className="aqua-button">Default</button>
<button className="aqua-button primary">Primary</button>
<button className="aqua-button secondary">Secondary</button>
<button className="aqua-button orange">Orange</button><div
className={cn(
"rounded-os bg-os-window-bg text-os-text-primary shadow-os-window",
"border-[length:var(--os-metrics-border-width)] border-os-window",
"os-theme-win98:shadow-none"
)}
>Use the built-in selection utility when possible:
<div data-selected={isSelected ? "true" : undefined}>Song</div>macosx; it is driven by data-os-aqua-material="glass" and src/styles/themes/aqua-glass.css.bg-white/80 backdrop-blur-* unless the surface is intentionally outside the OS material system.macosx currently supports dark mode. Use --os-* tokens, os-dark:, or os-mac-aqua-dark:; branch on isDarkMode only for behavioral or structural differences.macosx, system7) support accents. The default accent is wallpaper; default means "System" and clears inline overrides so stylesheet tokens win.--os-color-selection-*, --os-color-link, focus-ring tokens, or Tailwind bg-os-selection-bg / text-os-link.WindowFrame supports per-window materials:
| Material | Use case |
|---|---|
default | Standard opaque windows |
transparent | Semi-transparent app windows such as media surfaces |
notitlebar | Immersive windows with floating or hover chrome |
brushedmetal | Classic Mac brushed-metal apps |
Global Aqua Glass is separate from WindowFrame material. Regular Aqua windows receive glass classes when the global material is glass; brushed-metal windows keep brushed-metal semantics and are adjusted by CSS.
font-os-ui and font-os-mono; avoid theme-specific font utility names.WindowFrame content has .window-body, which consumes --os-typography-window.WindowFrame, use OS_SHELL_TEXT_SCALE_CLASS from @/lib/themeChrome.OS_NATIVE_CHROME_SKIP_CLASS on an ancestor.prose-textedit typography variant for TextEdit-like rich content so Aqua dark mode stays readable.--os-* tokens.currentTheme === "xp" || currentTheme === "win98" branches for shared Windows styling; use platform attributes, variants, or helpers.src/components/shared/osThemePrimitives.ts and existing app patterns.cn() for conditional class merging.--os-* tokens, token-backed Tailwind utilities, and os-*: variants.useThemeFlags() or @/themes helpers only when structure or behavior changes.macosx surfaces.© ryokun6, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .cursor/skills/ui-design-styling of ryokun6/ryos.
Open the folder on GitHubat commit d68b815
UI Design Styling next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| UI Design Styling this skillryokun6/ryos | 1.3k | — | ~3.1k | Automated safety check: Pass | AGPL-3.0 | |
| UI StylingOhh-889/skyroc | 795 | 13 repos | ~2.5k | Automated safety check: Pass | MIT | |
| MCP Developmentcoollabsio/coolify | 63k | 1 repos | ~949 | Automated safety check: Pass | MIT | |
| Liuguang Banlan UIsickn33/agentic-awesome-skills | 47k | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Tailwind Theme Builderjezweb/claude-skills | 1.1k | 1 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Preline Theme Generatorhtmlstreamofficial/preline | 6.5k | — | ~619 | Automated safety check: Warn | Custom licence |
Ohh-889/skyroc
Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.
coollabsio/coolify
A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.
sickn33/agentic-awesome-skills
Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.
jezweb/claude-skills
Set up Tailwind v4 + shadcn/ui themed UI with dark mode. An agent skill from jezweb/claude-skills.
htmlstreamofficial/preline
Generates light and dark Preline theme CSS from a brand color or mood, previews it, and validates token coverage through bundled local scripts.
try-works/role-model
React UI component systems with TailwindCSS + Radix + shadcn/ui.
ryokun6/ryos
Add or modify an AI chat tool ("Ask Ryo" capability) in ryOS.
ryokun6/ryos
Create new applications for ryOS following established patterns and conventions.
ryokun6/ryos
Create or modify ryOS Zustand stores following repo conventions — persist middleware, partialize, versioned migrations, the debounced write-behind storage adapter for large slices, and cloud-sync…
ryokun6/ryos
Cut and publish ryOS Electron desktop releases on GitHub. An agent skill from ryokun6/ryos.
ryokun6/ryos
Localize ryOS apps and components by extracting hardcoded strings, replacing with translation keys, and syncing across languages.
ryokun6/ryos
React performance optimization guidelines from Vercel Engineering (vercel-labs/agent-skills).
Works with
Categories
Design and style ryOS UI using the current OS theme token system, Tailwind variants, shared primitives, Aqua Glass, dark mode, and accent conventions. UI Design Styling is an agent skill from ryokun6/ryos. Design and style ryOS UI using the current OS theme token system, Tailwind variants, shared primitives, Aqua Glass, dark mode, and accent conventions.
UI Design Styling fits situations like: creating UI components; styling elements; working with themes; adding visual effects.
Run `npx skills add ryokun6/ryos --skill ui-design-styling -a claude-code`. Or copy the skill folder (.cursor/skills/ui-design-styling in ryokun6/ryos) into .claude/skills/ui-design-styling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ryokun6/ryos --skill ui-design-styling -a codex`. Or copy the skill folder (.cursor/skills/ui-design-styling in ryokun6/ryos) into .agents/skills/ui-design-styling in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ryokun6/ryos --skill ui-design-styling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ui-design-styling, .gemini/skills/ui-design-styling, .github/skills/ui-design-styling and .opencode/skills/ui-design-styling in your project.
Going by SKILL.md and its folder, UI Design Styling needs the command-line tools its instructions call (rg and bun).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
UI Design Styling is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with UI Design Styling: UI Styling (Ohh-889/skyroc, 795 stars), MCP Development (coollabsio/coolify, 63k stars), Liuguang Banlan UI (sickn33/agentic-awesome-skills, 47k stars) and Tailwind Theme Builder (jezweb/claude-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ryokun6 (a GitHub user) maintains it in ryokun6/ryos, which has 1,264 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 9, 2026.
Source: ryokun6/ryos on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.