Frontend Design Principles
pretend1111/claude-desktop-app
Gives practical design rules for polished HTML, CSS and JavaScript interfaces and browser games, covering spacing, type, color, components, motion and responsive breakpoints.
A skill your agent uses when constructing frontend components, selecting layout strategies, orchestrating state, or assembling interactive UI - spans component architecture, responsive adaptation…
$ npx skills add NoobyGains/godmode --skill ui-engineering -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NoobyGains/godmode ui-engineering --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/NoobyGains/godmode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ui-engineering .claude/skills/ui-engineering && 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-engineering" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/ui-engineering into .claude/skills/ui-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-engineering", 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/NoobyGains/godmode/tree/master/skills/ui-engineeringType 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 NoobyGains/godmode --skill ui-engineering -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NoobyGains/godmode ui-engineering --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ui-engineering .agents/skills/ui-engineering && 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-engineering" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/ui-engineering into .agents/skills/ui-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-engineering", 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 NoobyGains/godmode --skill ui-engineering -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NoobyGains/godmode ui-engineering --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ui-engineering .cursor/skills/ui-engineering && 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-engineering" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/ui-engineering into .cursor/skills/ui-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-engineering", 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/NoobyGains/godmode.git --path skills/ui-engineering--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 NoobyGains/godmode --skill ui-engineering -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NoobyGains/godmode ui-engineering --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ui-engineering .gemini/skills/ui-engineering && 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-engineering" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/ui-engineering into .gemini/skills/ui-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-engineering", 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 NoobyGains/godmode ui-engineeringInstalls 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 NoobyGains/godmode --skill ui-engineering -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ui-engineering .github/skills/ui-engineering && 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-engineering" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/ui-engineering into .github/skills/ui-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-engineering", 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 NoobyGains/godmode --skill ui-engineering -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NoobyGains/godmode ui-engineering --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ui-engineering .opencode/skills/ui-engineering && 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-engineering" agent skill from https://github.com/NoobyGains/godmode/tree/master/skills/ui-engineering into .opencode/skills/ui-engineering/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-engineering", 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-engineeringA skill your agent uses when constructing frontend components, selecting layout strategies, orchestrating state, or assembling interactive UI - spans component architecture, responsive adaptation…
UI Engineering is an agent skill from NoobyGains/godmode. Use when constructing frontend components, selecting layout strategies, orchestrating state, or assembling interactive UI - spans component architecture, responsive adaptation, accessibility compliance, and rendering performance across any frontend framework
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `component-patterns.md`).
It sits in Frontend & Design, covering Accessibility, Responsive design and CSS and styling. The repository describes itself as: The AI development framework that thinks before it builds. 36 composable skills for Claude Code, Cursor, Codex, and OpenCode. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 441103a. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are css and dot).
From 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 Engineering loads about 3.1k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 1,089 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 NoobyGains/godmode at commit 441103a, republished under its MIT licence (© NoobyGains). 1,089 words, ~3,130 tokens.
.claude/skills/ui-engineering/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Construct UI components with disciplined architecture, not improvised markup.
Core principle: Every component decision -- layout strategy, state ownership, accessibility posture, responsive behavior -- follows established patterns. The UX Patterns skill tells you WHAT to build. This skill tells you HOW to build it with structural integrity.
PREREQUISITE: Invoke godmode:ux-patterns first to identify applicable patterns and token values. This skill assumes tokens and patterns are already established.
Mandatory when:
Sequenced after:
NO COMPONENT WITHOUT STRUCTURE, STATES, AND ACCESSIBILITY DEFINED FIRSTBefore writing component code, establish: semantic structure (correct HTML elements), all visual states (empty, loading, error, populated, disabled), and accessibility requirements (ARIA attributes, keyboard interaction, contrast ratios).
Assemble components from smaller, composable units rather than monolithic prop-heavy blocks.
<Good>
```
Dialog
DialogHeader
DialogTitle
DialogDescription
DialogBody
DialogFooter
```
Each unit is independently useful and independently styleable.
</Good>
<Bad>
```
Dialog (title, description, body, footer, headerAlign, footerAlign,
showCloseButton, variant, size, overlayOpacity, titleSize, ...)
```
Prop explosion, unmaintainable, impossible to extend.
</Bad>
Before writing any component:
button not div onClick, nav not div className="nav")digraph layout_choice {
rankdir=TB;
q1 [label="What is being\narranged?", shape=diamond];
q2 [label="Single axis or\ntwo axes?", shape=diamond];
q3 [label="Are items\nuniform in size?", shape=diamond];
grid [label="Use CSS Grid\ngrid-template-columns\ngrid-template-rows", shape=box];
flex [label="Use Flexbox\nflex-direction\njustify/align", shape=box];
grid_auto [label="Use CSS Grid\nauto-fill/auto-fit\nminmax()", shape=box];
q1 -> q2;
q2 -> grid [label="two axes\n(rows AND columns)"];
q2 -> q3 [label="single axis\n(row OR column)"];
q3 -> grid_auto [label="yes\n(uniform cards)"];
q3 -> flex [label="no\n(nav items,\nform row)"];
}Example patterns:
/* Self-adjusting card grid */
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: var(--space-6);
}
/* Dashboard scaffold */
.dashboard {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto 1fr;
gap: var(--space-6);
}
.dashboard .wide-chart { grid-column: span 2; }Example patterns:
/* Navigation row */
.nav-row {
display: flex;
align-items: center;
gap: var(--space-4);
}
/* Inline form group */
.inline-group {
display: flex;
align-items: flex-end;
gap: var(--space-3);
}
.inline-group .input-field { flex: 1; }digraph state_ownership {
rankdir=TB;
q1 [label="Where does this\nstate belong?", shape=diamond];
q2 [label="Consumed by\nmultiple components?", shape=diamond];
q3 [label="Server-originated\nor client-only?", shape=diamond];
q4 [label="Prop-drilling\nexceeds 3 levels?", shape=diamond];
local [label="Component-local state\nuseState / ref", shape=box];
server [label="Server state manager\nTanStack Query / SWR", shape=box];
context [label="Context / Provider\nReact Context / provide-inject", shape=box];
global [label="Global store\nZustand / Pinia / Signals", shape=box];
q1 -> q2;
q2 -> local [label="no\n(isolated component)"];
q2 -> q3 [label="yes"];
q3 -> server [label="server-originated\n(API responses,\ncached data)"];
q3 -> q4 [label="client-only\n(UI flags,\npreferences)"];
q4 -> context [label="no\n(2-3 levels)"];
q4 -> global [label="yes\n(application-wide)"];
}Governing principles:
Write mobile styles as the baseline, then layer complexity at wider breakpoints.
/* Mobile baseline */
.wrapper {
padding: var(--space-4);
}
/* Tablet tier */
@media (min-width: 768px) {
.wrapper {
padding: var(--space-6);
max-width: 768px;
margin: 0 auto;
}
}
/* Desktop tier */
@media (min-width: 1024px) {
.wrapper {
padding: var(--space-8);
max-width: 1280px;
}
}| Element | Mobile | Tablet | Desktop |
|---|---|---|---|
| Navigation | Hamburger or bottom sheet | Tab bar or collapsed sidebar | Expanded sidebar |
| Card grid | Single column | Two columns | Three to four columns |
| Data table | Stacked card view or horizontal scroll | Full table, fewer columns | Complete table |
| Sidebar + Main | Main only; sidebar in drawer | Icon-only sidebar | Fully expanded sidebar |
| Form | Single column, inputs stretch full width | Single column, max-width 560px | Two columns for paired fields |
| Modal | Full-screen sheet | Centered, 80% viewport width | Centered, max-width 480px |
| Hero | Stacked (image below headline) | Stacked, larger type | Side-by-side |
:focus-visible, 2px outline minimum)aria-label, or aria-labelledby)aria-disabled<label> (placeholder alone is insufficient)aria-required="true")aria-describedby)aria-live)alt textalt="" or aria-hidden="true"aria-labelrole="img" with aria-label or aria-hidden="true"prefers-reduced-motionprefers-color-scheme if dark mode is offered| Interaction | Duration | Easing |
|---|---|---|
| Hover response | 150ms | ease |
| Button press | 100ms | ease-out |
| Modal entrance | 200ms | ease-out |
| Modal exit | 150ms | ease-in |
| Drawer slide | 250ms | ease-out |
| Fade entrance | 200ms | ease |
| Page transition | 200-300ms | ease-in-out |
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}<fieldset> and <legend>(required) for screen readerswidth/height attributes (prevents CLS), loading="lazy" for below-fold images, srcset for responsive delivery.loading="lazy"| Mistake | Correction |
|---|---|
div for everything | Use semantic HTML (button, nav, main, section, article) |
| Placeholder as sole label | Always provide visible <label> elements |
| Pixel literals everywhere | Use token variables from the design system |
| Fixed widths on containers | Use max-width + percentage or auto margins |
| Removing focus outlines | Style :focus-visible instead of eliminating outline |
| Click handlers on divs | Use <button> or <a> for interactive elements |
| Margins for layout spacing | Use gap with Grid or Flexbox |
| Importing entire icon libraries | Import individual icons; enable tree-shaking |
| Only implementing the happy path | Design all states before building the happy path |
| Testing only on desktop | Test mobile-first, verify desktop afterward |
Prerequisite:
Complementary skills:
Supporting files:
component-patterns.md -- Reusable component blueprints with accessibility built in© NoobyGains, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/ui-engineering of NoobyGains/godmode.
Open the folder on GitHubat commit 441103a
UI Engineering 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 Engineering this skillNoobyGains/godmode | 107 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Frontend Design Principlespretend1111/claude-desktop-app | 494 | 1 repos | ~824 | Automated safety check: Pass | Custom licence | |
| Acarshub Design Languagesdr-enthusiasts/docker-acarshub | 117 | — | ~1.1k | Automated safety check: Pass | GPL-3.0 | |
| Web Design Reviewergithub/awesome-copilot | 40k | 3 repos | ~2.6k | Automated safety check: Pass | MIT | |
| CSS Styling Expertcin12211/orca-q | 224 | — | ~4.6k | Automated safety check: Pass | MIT | |
| Focus Stylesthedaviddias/Front-End-Checklist | 74k | — | ~639 | Automated safety check: Pass | MIT |
pretend1111/claude-desktop-app
Gives practical design rules for polished HTML, CSS and JavaScript interfaces and browser games, covering spacing, type, color, components, motion and responsive breakpoints.
sdr-enthusiasts/docker-acarshub
Use ONLY when working in the docker-acarshub repository AND building UI -- React components, SCSS modules, theme variables, accessibility, mobile responsiveness, Catppuccin color usage, Zustand…
github/awesome-copilot
This skill enables visual inspection of websites running locally or remotely to identify and fix design issues.
cin12211/orca-q
CSS architecture and styling expert with deep knowledge of modern CSS features, responsive design, CSS-in-JS optimization, performance, accessibility, and design systems.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing stylesheets, component styles, and responsive behavior related to Provide visible custom focus indicators.
NeverSight/learn-skills.dev
A skill your agent uses when building user interfaces that need to look polished, modern, and intentional - not like AI-generated slop.
NoobyGains/godmode
A skill your agent uses when starting any conversation - establishes how to locate and invoke skills, mandating Skill tool usage before ANY response including clarifying questions
NoobyGains/godmode
A skill your agent uses when dispatching subagents, composing prompts for teammates, structuring handoff reports, or managing context boundaries between agents.
NoobyGains/godmode
A skill your agent uses when building ANY feature within an existing project - search the current codebase for existing patterns, conventions, similar implementations, and established approaches…
NoobyGains/godmode
A skill your agent uses when about to declare work done, fixed, or passing, before committing or opening PRs - demands executing verification commands and reading their output before making any…
NoobyGains/godmode
A skill your agent uses when implementing any substantial feature, multi-file modification, or architectural change - produces a plain-language walkthrough of every alteration so the developer can…
NoobyGains/godmode
A skill your agent uses when executing implementation plans with independent tasks in the current session
Categories
A skill your agent uses when constructing frontend components, selecting layout strategies, orchestrating state, or assembling interactive UI - spans component architecture, responsive adaptation…. UI Engineering is an agent skill from NoobyGains/godmode.
UI Engineering fits situations like: constructing frontend components; selecting layout strategies; orchestrating state; assembling interactive UI - spans component architecture.
Run `npx skills add NoobyGains/godmode --skill ui-engineering -a claude-code`. Or copy the skill folder (skills/ui-engineering in NoobyGains/godmode) into .claude/skills/ui-engineering in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NoobyGains/godmode --skill ui-engineering -a codex`. Or copy the skill folder (skills/ui-engineering in NoobyGains/godmode) into .agents/skills/ui-engineering 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 NoobyGains/godmode --skill ui-engineering -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-engineering, .gemini/skills/ui-engineering, .github/skills/ui-engineering and .opencode/skills/ui-engineering in your project.
SKILL.md names no scripts, command-line tools or credentials: UI Engineering is instructions for the agent only.
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 Engineering is published under the MIT 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 13k 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 Engineering: Frontend Design Principles (pretend1111/claude-desktop-app, 494 stars), Acarshub Design Language (sdr-enthusiasts/docker-acarshub, 117 stars), Web Design Reviewer (github/awesome-copilot, 40k stars) and CSS Styling Expert (cin12211/orca-q, 224 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NoobyGains (a GitHub user) maintains it in NoobyGains/godmode, which has 107 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on March 9, 2026.
Source: NoobyGains/godmode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.