Extract Design
Manavarya09/design-extract
Extract the full design language from any website URL. An agent skill from Manavarya09/design-extract.
Guides design, implementation and review of Shift interface work: shared Base UI wrappers, Tailwind v4 theme tokens, Figma matching and accessible interaction states.
$ npx skills add shift-editor/shift --skill ui -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install shift-editor/shift ui --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/shift-editor/shift.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/ui .claude/skills/ui && 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" agent skill from https://github.com/shift-editor/shift/tree/main/.codex/skills/ui into .claude/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", 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/shift-editor/shift/tree/main/.codex/skills/uiType 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 shift-editor/shift --skill ui -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install shift-editor/shift ui --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shift-editor/shift.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/ui .agents/skills/ui && 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" agent skill from https://github.com/shift-editor/shift/tree/main/.codex/skills/ui into .agents/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", 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 shift-editor/shift --skill ui -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install shift-editor/shift ui --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shift-editor/shift.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/ui .cursor/skills/ui && 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" agent skill from https://github.com/shift-editor/shift/tree/main/.codex/skills/ui into .cursor/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", 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/shift-editor/shift.git --path .codex/skills/ui--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 shift-editor/shift --skill ui -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install shift-editor/shift ui --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shift-editor/shift.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/ui .gemini/skills/ui && 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" agent skill from https://github.com/shift-editor/shift/tree/main/.codex/skills/ui into .gemini/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", 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 shift-editor/shift uiInstalls 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 shift-editor/shift --skill ui -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/shift-editor/shift.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/ui .github/skills/ui && 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" agent skill from https://github.com/shift-editor/shift/tree/main/.codex/skills/ui into .github/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", 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 shift-editor/shift --skill ui -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install shift-editor/shift ui --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/shift-editor/shift.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/ui .opencode/skills/ui && 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" agent skill from https://github.com/shift-editor/shift/tree/main/.codex/skills/ui into .opencode/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", 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.
uiGuides design, implementation and review of Shift interface work: shared Base UI wrappers, Tailwind v4 theme tokens, Figma matching and accessible interaction states.
This skill is the working guide for user interface changes in the Shift font editor. Before editing an unfamiliar surface the agent reads the architecture index, the shared UI package docs, the renderer stylesheet that holds the Tailwind v4 theme, the neighboring components, and any supplied Figma frame or screenshot, which is treated as the visual target. When library behavior is unclear it checks the installed Base UI types rather than guessing from Radix, shadcn or older APIs.
The architecture rules are specific: look for a matching Base UI primitive before building a control, put shared wrappers in the UI package under the primitive's name, import them from the shared package and never import Base UI directly in the desktop app, and keep application state in the app. Wrappers use forwardRef and the primitive's prop types, triggers compose through the render prop to produce exactly one interactive element, and Base UI data attributes drive state styling. The excerpt is cut off in the Tailwind and theme token rules.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e7dacfa. 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:
pnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
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.
Shift UI Components loads about 2.5k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 1,301 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 shift-editor/shift at commit e7dacfa, republished under its Apache-2.0 licence (© shift-editor). 1,301 words, ~2,505 tokens.
.claude/skills/ui/SKILL.md (or your agent's skills folder).Build interfaces that match the supplied design, use Shift's shared primitives and semantic theme, and remain accessible in every interaction state.
Read these before editing an unfamiliar UI surface:
docs/architecture/index.md for documentation routing.packages/ui/docs/DOCS.md for the shared component boundary.apps/desktop/src/renderer/index.css for Tailwind v4 theme tokens, fonts, and custom utilities.When library behavior or composition is unclear, inspect the installed Base UI types and current Base UI documentation. Do not guess from Radix, shadcn, or an older Base UI API.
packages/ui/src/components/{component}/ and wrap @base-ui-components/react/{component}.@shift/ui; never import Base UI directly in the desktop app.Button, Menu, Popover, Tooltip, and so on.packages/ui/src/index.ts.React.ComponentPropsWithoutRef, React.ElementRef, and React.forwardRef so wrappers preserve the primitive contract. Set displayName on forwarded components.render prop. Produce exactly one interactive DOM element: no nested buttons, no trigger-only wrapper spans, and no duplicated event targets.data-[disabled], data-[highlighted], data-[active], and data-[starting-style] instead of duplicating primitive state in React.Shift uses Tailwind CSS v4. The renderer theme is declared in the @theme block in apps/desktop/src/renderer/index.css, and that stylesheet scans shared UI source with:
@source "../../../../packages/ui/src/**/*.tsx";Follow these rules:
bg-surface, bg-panel, bg-input, bg-hover, text-primary, text-secondary, text-muted, border-line-subtle, ring-accent, and related tokens.text-sm is 12px, text-ui is 11px, and text-xs is 10px. Check the theme instead of assuming Tailwind defaults.bg-hover/50.cn from @shift/ui or the package-local utility for conditional classes and consumer overrides. Shared wrappers must merge className through cn so tailwind-merge resolves conflicts.Before changing styles, identify the reference's:
Map those roles to existing theme tokens first. Compare the finished implementation with the reference at the app's actual scale. Do not declare a match from class names alone.
If the reference is ambiguous or conflicts with an established interaction pattern, ask which behavior wins before inventing a new one.
aria-activedescendant must always identify a mounted row. Scroll a keyboard target into the rendered window before publishing it as active.Hide outline, not Hide Regular outline). Keep the same tooltip and accessible name when the action is unavailable; disabled styling and behavior communicate availability without replacing the action name with an explanation.aria-disabled, guard its action, and style that state. Do not use native disabled, which removes focus and pointer interaction.focus-visible, not only pointer hover.For broad UI work such as "add all missing tooltips," do not patch only the first reported control.
Button, MenuTrigger, PopoverTrigger, DialogClose, toolbar controls), icon names, and accessible labels. A single grep pattern is not a complete audit.Test observable behavior, not styling implementation:
Run the smallest relevant checks, then the shared checks for cross-cutting UI changes:
pnpm format:files <changed files...>
pnpm lint:check
pnpm typecheckRun repository commands inside the Nix dev shell as required by AGENTS.md. If behavior changed, run the focused owning test. If only visual defaults or declarative wiring changed, report the focused manual verification instead of inventing a low-value test.
@shift/ui wrapper used.© shift-editor, Apache-2.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 .codex/skills/ui of shift-editor/shift.
Open the folder on GitHubat commit e7dacfa
Shift UI Components 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 |
|---|---|---|---|---|---|---|
| Shift UI Components this skillshift-editor/shift | 343 | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Extract DesignManavarya09/design-extract | 4.2k | — | ~786 | Automated safety check: Notes | MIT | |
| Shadcn Tailwind UILiarMTTT/TavernWeave | 148 | — | ~1.7k | Automated safety check: Pass | Custom licence | |
| Light Frontend DesignLight0305/Light-skills | 640 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Tailwind V4 Shadcnsecondsky/claude-skills | 227 | — | ~4k | Automated safety check: Pass | MIT | |
| Connect Component To Figmadequelabs/cauldron | 129 | — | ~2k | Automated safety check: Pass | MPL-2.0 |
Manavarya09/design-extract
Extract the full design language from any website URL. An agent skill from Manavarya09/design-extract.
LiarMTTT/TavernWeave
Build, restyle, or review accessible React interfaces that use shadcn/ui, Radix UI primitives, and Tailwind CSS.
Light0305/Light-skills
Light 按需工程技能·前端设计:把模糊的「做个好看的界面」落成能跑的 React/Tailwind/shadcn 代码 + 设计决策说明—— 有视觉记忆点(signature element)、风格自洽(design tokens 一致)、适配场景(学术海报/数据大屏/管理后台/移动端/营销 landing 信息密度各不同)、反「一眼 AI」(紫蓝渐变/Inter/16px 圆角/巨型…
secondsky/claude-skills
| Production-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React.
dequelabs/cauldron
Add a Figma Code Connect (.figma.tsx) file for a Cauldron React component.
victorGPT/vibeusage
A skill your agent uses when building or refactoring functional React/Vite/Tailwind UI pages, templates, or component libraries that need consistent structure, tokenized styling, accessibility…
shift-editor/shift
Rules for writing git commits in the Shift font editor repo: Conventional Commits subjects, user-facing changelog wording, concise subjects and logical commit boundaries.
shift-editor/shift
Finds unused files, exports and class members with Knip, then verifies each candidate through reference tracing before removing anything, never using knip --fix.
shift-editor/shift
Updates or creates DOCS.md files for Shift subsystems, recording the architecture invariants and constraints that cannot be learned from reading the source.
shift-editor/shift
Fact-checks DOCS.md files against the source code, testing each concrete claim and sorting it as true, false, stale or unverifiable.
shift-editor/shift
Sets the rules for finding, writing and updating Shift GitHub issues: search for duplicates first, use outcome-focused titles and testable acceptance criteria.
shift-editor/shift
Guides writing JSDoc for Shift exported APIs as a stable caller contract, covering ownership, lifetime, side effects and nullability that TypeScript types cannot express.
Works with
Categories
Guides design, implementation and review of Shift interface work: shared Base UI wrappers, Tailwind v4 theme tokens, Figma matching and accessible interaction states. This skill is the working guide for user interface changes in the Shift font editor. Before editing an unfamiliar surface the agent reads the architecture index, the shared UI package docs, the renderer stylesheet that holds the Tailwind v4 theme, the neighboring components, and any supplied Figma frame or screenshot, which is treated as the visual target.
Shift UI Components fits situations like: building a new dialog, menu or popover in the Shift desktop app; matching a component to a supplied Figma frame or screenshot; reviewing a UI change for accessibility, token use and visible regressions.
Run `npx skills add shift-editor/shift --skill ui -a claude-code`. Or copy the skill folder (.codex/skills/ui in shift-editor/shift) into .claude/skills/ui in your project. Claude Code loads it when a task matches its description.
Run `npx skills add shift-editor/shift --skill ui -a codex`. Or copy the skill folder (.codex/skills/ui in shift-editor/shift) into .agents/skills/ui 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 shift-editor/shift --skill ui -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, .gemini/skills/ui, .github/skills/ui and .opencode/skills/ui in your project.
Going by SKILL.md and its folder, Shift UI Components needs the command-line tools its instructions call (pnpm). Our summary lists: The Shift repository with its shared UI package and Tailwind v4 theme.
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.
Shift UI Components is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k 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 Shift UI Components: Extract Design (Manavarya09/design-extract, 4.2k stars), Shadcn Tailwind UI (LiarMTTT/TavernWeave, 148 stars), Light Frontend Design (Light0305/Light-skills, 640 stars) and Tailwind V4 Shadcn (secondsky/claude-skills, 227 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
shift-editor (a GitHub organization) maintains it in shift-editor/shift, which has 343 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 6, 2026.
Source: shift-editor/shift on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.