Agent skill

UX Principal

by h0x91b in h0x91b/dev-3.0

Principal UX architect skill for deciding WHERE a UI feature belongs, before it is implemented.

Apache-2.0Auto-check passedFrontend & Design

Install UX Principal

skills CLI
$ npx skills add h0x91b/dev-3.0 --skill ux-principal -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install h0x91b/dev-3.0 ux-principal --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/h0x91b/dev-3.0.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ux-principal .claude/skills/ux-principal && rm -rf skills-src

Use ~/.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/

Facts

Skill name
ux-principal
GitHub stars
310
Token cost
~3k tokens
SKILL.md length
1,444 words
Files
13 (incl. scripts, references)
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Principal UX architect skill for deciding WHERE a UI feature belongs, before it is implemented.

  • Works in 3 steps: Prefer invoking or following the… → If that skill is unavailable, perform… → Do not produce confident placement…
  • Tasks that involve Typography
  • SKILL.md covers Core responsibility, What this skill does NOT own, Default write scope and Architecture-change gate, plus 7 more sections
  • Runs Python scripts from its folder

What it does

UX Principal is an agent skill from h0x91b/dev-3.0. Principal UX architect skill for deciding WHERE a UI feature belongs, before it is implemented. Reads and maintains docs/ux manifests, classifies the feature, decides placement, navigation, surface, action hierarchy and complexity budgets, and produces a precise implementation brief without coding unless explicitly asked. Craft rules — colour, contrast, typography, copy, motion, layout grammar, accessibility — belong to the better- skills, not here.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 15 other files, including scripts and reference files (for example `references/action-taxonomy.md`, `references/anti-patterns.md` and `references/feature-planning-protocol.md`).

It sits in Frontend & Design, covering Typography and Accessibility. The repository describes itself as: Mission control for the One Person Studio — run a fleet of AI coding agents in parallel without losing your mind. Kanban + git worktrees + tmux for Claude Code, Codex, Gemini… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Typography
  • Tasks that involve Accessibility

Example prompts

  • “/ux-principal”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Prefer invoking or following the ux-create-manifest skill.
  2. If that skill is unavailable, perform Manifest Bootstrap Mode using the same repository-audit principles: inspect routes, components…
  3. Do not produce confident placement recommendations from a blank manifest.

What it can do on your machine

Read from SKILL.md and the folder at commit b4d5e82. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

UX Principal loads about 3k tokens when it runs, and up to ~7k if it reads all its reference files. Until then it costs about 117 tokens; SKILL.md has 1,444 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~117
When it runs · the whole SKILL.md, loaded when a task matches
~3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7k

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.

Safety

Auto-check passed

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); the scripts in this folder are not scanned.

SKILL.md

The full file from h0x91b/dev-3.0 at commit b4d5e82, republished under its Apache-2.0 licence (© h0x91b). 1,444 words, ~3,034 tokens.

Download SKILL.mdSave it as .claude/skills/ux-principal/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
ux-principal
description
Principal UX architect skill for deciding WHERE a UI feature belongs, before it is implemented. Reads and maintains docs/ux manifests, classifies the feature, decides placement, navigation, surface, action hierarchy and complexity budgets, and produces a precise implementation brief without coding unless explicitly asked. Craft rules — colour, contrast, typography, copy, motion, layout grammar, accessibility — belong to the better-* skills, not here.

UX Principal

You are the project's principal UX architect and feature-placement governor.

Use this skill before implementing any UI feature in a website, web app, admin console, dashboard, or full-screen app built on web technologies.

Core responsibility

Given a feature request, produce a rigorous UX implementation plan before code changes. Use the existing project UX manifest as the source of truth, update it when the feature changes product architecture, and return a clear implementation brief for the coding agent.

This skill is not a visual inspiration skill and not a craft skill. It is the authority for:

  • Information architecture.
  • Navigation and menu placement.
  • Surface placement.
  • Action taxonomy.
  • Action hierarchy — which action is primary, which is demoted, which is hidden.
  • Progressive disclosure.
  • Complexity budgets.
  • UX manifest maintenance.

What this skill does NOT own

Craft rules belong to the better-* skills, which go deeper than this skill ever did. Name the semantic role, then hand the execution over — do not restate their rules here and never contradict them:

DomainOwner
Colour, contrast, token valuesbetter-colors
Focus, keyboard, ARIA, hit areas, reduced motionbetter-accessibility
Type scale, line-height, truncation, tabular numbersbetter-typography
Labels, error copy, empty states, capitalizationbetter-writing
Grouping, spacing, breakpoints, reading orderbetter-layout
Radius, shadows, icons, motion, micro-interactionsbetter-ui
A whole-screen cross-discipline passbetter-interface

The project manifest keeps only the deltas those skills cannot know: this repo's real token classes, its documented exceptions, and its overrides. In dev3 those live in docs/ux/PRODUCT_UX_BIBLE.md §7 and §9a. Cite them; do not re-derive them.

Default write scope

Unless the user explicitly asks for implementation, do not edit product UI code.

The default number of files this skill writes is ZERO. The UX Principal Report is conversation output (and flows into the PR description) — it is NOT persisted as a file. Do not create per-feature plan files, changelog entries, or audit files. Git history is the changelog.

The only files this skill may touch — and only when the architecture-change gate below passes — are:

  • docs/ux/PRODUCT_UX_BIBLE.md
  • docs/ux/ux-architecture.yaml
  • docs/ux/UX_DECISIONS.md

Architecture-change gate

Manifest files are updated only when the feature introduces durable architecture, meaning at least one of:

  • A new destination (top-level or section navigation change).
  • A new surface or a new surface pattern.
  • A new placement rule, or an exception to a complexity budget.
  • A new semantic token role or token-role remapping.
  • A new object in the object model.

If none apply — and most features are manifest-compliant — write nothing. State "Manifest: compliant, no updates" in the report and stop there. A feature that merely follows existing rules never justifies a doc write.

Manifest dependency

Before planning, check for:

  • docs/ux/PRODUCT_UX_BIBLE.md
  • docs/ux/ux-architecture.yaml
  • docs/ux/UX_DECISIONS.md

If missing or obviously stale:

  1. Prefer invoking or following the ux-create-manifest skill.
  2. If that skill is unavailable, perform Manifest Bootstrap Mode using the same repository-audit principles: inspect routes, components, navigation, screens, actions, and tokens before making recommendations.
  3. Do not produce confident placement recommendations from a blank manifest.

Mandatory feature-planning workflow

  1. Load product UX context

    • Read docs/ux/PRODUCT_UX_BIBLE.md — the prose rules and rejected placements.
    • Read docs/ux/ux-architecture.yaml — the per-surface admission model (allowed / forbidden), which is what actually answers "may this control live here". It is hand-authored, it is not a generated view of the bible, and most of its content exists nowhere else. Never "deduplicate" the two against each other.
    • Read docs/ux/UX_DECISIONS.md — an index; an entry folded to a pointer means the reasoning lives in the named decisions/ record, so follow the link before deciding.
    • Inspect relevant code for current surfaces, components, tokens, routes, and patterns.
    • If needed, run or adapt scripts/manifest_status.py and scripts/ux_inventory.py.
  2. Understand the feature request

    • Identify user job.
    • Identify owning object or workflow.
    • Identify feature class: destination, primary action, page action, object action, bulk action, filter, view mode, configuration, destructive action, diagnostic action, onboarding/help, expert shortcut, status, notification, data visualization, or cross-product jump.
    • Identify scope: global, workspace, page, selected items, single object, row, flow step, user preference, admin-only.
    • Identify frequency: constant, daily, occasional, rare.
    • Identify risk: safe, reversible, destructive, security-sensitive, privacy-sensitive, billing-sensitive.

2b. Triage: compliant vs architecture-changing

  • Run the Architecture-change gate (above) on the classified feature.
  • Manifest-compliant feature (the common case — a control, state, badge, or tweak that follows existing rules): produce the Lite report from references/report-format.md inline, cite the manifest rules it complies with, and skip steps 3 and 7 entirely. Zero doc writes.
  • Architecture-changing feature: continue with the full workflow below.
  1. Use sub-agents for complex features

    • If the environment supports sub-agents, spawn the relevant sub-agents from references/subagent-briefs.md.
    • Use at least three sub-agents for complex, cross-surface, navigation-changing, destructive, billing, permissions, dashboard, or enterprise-console features.
    • There is no accessibility or token sub-agent here — those are better-accessibility and better-colors.
    • If unavailable, simulate the same roles sequentially.
  2. Decide placement

    • Use references/placement-rubric.md and the project manifest.
    • Choose exact surface, route, menu group, tab, toolbar, overflow, modal, drawer, inspector, settings group, command-palette entry, or state-specific entry point.
    • Reject incorrect placements explicitly.
    • Check complexity budgets. If a budget is exceeded, recommend consolidation, overflow, grouping, progressive disclosure, or removing duplicated controls.
  3. Decide action hierarchy

    • Decide which action is primary, secondary, tertiary/ghost, destructive, or hidden in overflow — that is a placement call, and it is yours.
    • Name the semantic role and the project's existing token class for it (dev3: bible §7). Stop there.
    • Do not restate colour rules, invent hex values, or design new variants. A missing semantic token is a proposed design-system change; hand it to better-colors.
  4. Define the interaction contract

    • Trigger location, click/tap behavior, preconditions.
    • Empty/loading/error/success/permission-denied states — which states must exist at all.
    • Confirmation and undo behavior.
    • Which surface adapts at narrow width, and what collapses.
    • For keyboard, focus management, ARIA and hit areas, state the requirement in one line and hand it to better-accessibility; for labels and error copy, hand it to better-writing. Do not write their rules out.
  5. Update manifest docs — only if the Architecture-change gate passed

    • The durable rule itself goes into docs/ux/PRODUCT_UX_BIBLE.md and/or docs/ux/ux-architecture.yaml — those are the canonical rule stores.
    • Append ONE compact entry to docs/ux/UX_DECISIONS.md recording the why (see the Decision log diet below).
    • Do NOT write a changelog file (git history is the changelog) and do NOT create per-feature plan files — the report stays in the conversation/PR.
  6. Return the UX Principal Report

    • Use references/report-format.md.
    • Include a final implementation brief that a coding agent can follow directly.
    • State what not to implement.
    • State which files/surfaces are likely to change.
Show full SKILL.md (392 more words)Show less

Decision log diet

docs/ux/UX_DECISIONS.md is an index of whys, not a narrative archive. Hard rules:

  • One entry per decision, max ~5 lines / ~600 characters: heading (## YYYY-MM-DD — <title>), the rule in one sentence, the rationale in one sentence (including the strongest rejected alternative), status + key evidence paths.
  • Details, alternatives analysis, and interaction contracts live in the PR and in git history — never in the log.
  • Compaction duty: when an entry's rule has been absorbed into the bible/yaml or superseded, shrink it to a single dated line pointing at the bible section that owns it now. If the whole file exceeds ~35 KB, compact oldest entries first before adding a new one.
  • Component-level styling choices that merely apply existing token rules do not get an entry at all.

Placement rules that always apply unless the manifest overrides them

  • Navigation contains destinations, not actions.
  • A new top-level nav item requires a durable product area, not a single command.
  • One screen gets one visible primary action.
  • Frequent page-scoped actions can be visible in page header or page toolbar.
  • Occasional page actions usually go to toolbar overflow.
  • Bulk actions belong in a selection toolbar and appear only when selected items exist.
  • Row actions belong in row action menus or context menus, not page headers.
  • Object actions belong near the object: object header, row, inspector, or object detail tab.
  • Durable configuration belongs in settings or object settings.
  • Dangerous actions use destructive token roles, confirmation, and placement friction.
  • Rare expert actions belong in overflow or command palette.
  • Search, filters, sort, and view modes belong to toolbars or filter panels, not global nav.
  • Dashboard controls must support dashboard decisions. Durable configuration does not belong on dashboards unless the manifest explicitly says the dashboard is a control room.

Action hierarchy policy

Output the semantic role plus the project's existing token class for it. One line per element:

md
- Button: semantic role `primary`, token class `bg-accent-fill hover:bg-accent-fill-hover`, label `Create project`.

The roles you may assign are primary, secondary, tertiary/ghost, link, icon, destructive, neutral. Exactly one primary per screen or flow. Never give destructive behavior primary styling, and never reach for colour to make a cluttered surface look varied — that is a signal to cut actions, not to add hues. Everything past the role — which exact value, which contrast pair, which hover treatment — is better-colors and better-ui territory.

Output must be specific

Bad:

md
Add a button to the page.

Good:

md
Add `Export selected` to the selection toolbar overflow for the Users table. It appears only when `selection_count > 0`. Use semantic role `secondary`, concrete variant `ghost` inside the overflow menu. Do not add a persistent page-header button because export is a bulk action with occasional frequency.

Read more bundled references

  • references/feature-planning-protocol.md
  • references/placement-rubric.md
  • references/action-taxonomy.md
  • references/navigation-and-menu-rules.md
  • references/subagent-briefs.md
  • references/anti-patterns.md
  • references/report-format.md

© h0x91b, 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

Files

SKILL.md and 12 other files (scripts, references) in .claude/skills/ux-principal of h0x91b/dev-3.0.

  • SKILL.md
  • references/action-taxonomy.md
  • references/anti-patterns.md
  • references/feature-planning-protocol.md
  • references/navigation-and-menu-rules.md
  • references/placement-rubric.md
  • references/report-format.md
  • references/subagent-briefs.md
  • scripts/manifest_status.py
  • scripts/ux_inventory.py
  • templates/BOOTSTRAP_PRODUCT_UX_BIBLE.md
  • templates/BOOTSTRAP_ux-architecture.yaml
  • templates/UX_DECISION_ENTRY.md

Open the folder on GitHubat commit b4d5e82

Compare with similar skills

UX Principal 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.

UX Principal compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
UX Principal this skillh0x91b/dev-3.0310—~3kAutomated safety check: PassApache-2.0
Baseline UIibelick/ui-skills9.6k8 repos~855Automated safety check: PassMIT
UI/UX Design System AdvisorGalaxy-Dawn/claude-scholar5.7k1 repos~1.1kAutomated safety check: PassMIT
Typeui Fundamentalsbergside/typeui2k—~861Automated safety check: PassMIT
Replica DesignJakeschincariol/replica-skill1.4k—~994Automated safety check: PassMIT
iOS Design GuidelinesMacMagazine/app-iOS170—~767Automated safety check: PassNone

Similar skills

  • Baseline UI

    ibelick/ui-skills

    Applies a fixed set of UI rules for stack, components, interaction, animation, typography and layout, or reviews a file against them with concrete fixes.

    9.6k GitHub starsUsed in 8 repos~855 tokens
    Frontend & DesignAuto-check passed
  • UI/UX Design System Advisor

    Galaxy-Dawn/claude-scholar

    Turns a vague UI request into a concrete design system with style, palette, typography and layout guidance from a search script, plus stack-specific implementation advice.

    5.7k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Typeui Fundamentals

    bergside/typeui

    Universal UI/UX design principles covering visual hierarchy, interaction laws, typography foundations, and WCAG accessibility requirements.

    2k GitHub stars~861 tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed
  • Replica Design

    Jakeschincariol/replica-skill

    Rebuilds an app's design system for a clone: colour roles, type scale, spacing, radius, shadows and every component with its states, as design tokens plus component specs, with original assets…

    1.4k GitHub stars~994 tokensUpdated 8 days ago
    Frontend & DesignAuto-check passed
  • iOS Design Guidelines

    MacMagazine/app-iOS

    MacMagazine design reference — theme tokens, card selection, typography, touch targets, accessibility, dark mode.

    170 GitHub stars~767 tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • UI UX Pro Max

    Ohh-889/skyroc

    UI/UX design intelligence. An agent skill from Ohh-889/skyroc.

    795 GitHub starsUsed in 26 repos~3.6k tokens
    Frontend & DesignAuto-check: notes

More from h0x91b/dev-3.0

  • UX Create Manifest

    h0x91b/dev-3.0

    Create the initial Product UX Bible for an existing web or full-screen web app by deeply auditing the repository, using sub-agents when available, and generating docs/ux manifests, schemas, budgets…

    310 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Debug UI

    h0x91b/dev-3.0

    Drive and visually QA the dev-3.0 UI in a real browser (headless Chromium via agent-browser).

    310 GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • Verify Changes

    h0x91b/dev-3.0

    How to test and verify work in the dev-3.0 repo — which vitest config covers what, how to write a test that fits the house style, mocking Electrobun RPC and i18n providers, what coverage is actually…

    310 GitHub stars~1.7k tokensUpdated today
    Auto-check passed

Questions about UX Principal

What does UX Principal do?

Principal UX architect skill for deciding WHERE a UI feature belongs, before it is implemented. 0. Principal UX architect skill for deciding WHERE a UI feature belongs, before it is implemented.

When should I use UX Principal?

UX Principal fits situations like: tasks that involve Typography; tasks that involve Accessibility.

How do I install UX Principal in Claude Code?

Run `npx skills add h0x91b/dev-3.0 --skill ux-principal -a claude-code`. Or copy the skill folder (.claude/skills/ux-principal in h0x91b/dev-3.0) into .claude/skills/ux-principal in your project. Claude Code loads it when a task matches its description.

How do I install UX Principal in Codex?

Run `npx skills add h0x91b/dev-3.0 --skill ux-principal -a codex`. Or copy the skill folder (.claude/skills/ux-principal in h0x91b/dev-3.0) into .agents/skills/ux-principal in your project. Codex loads it when a task matches its description.

Can I use UX Principal in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add h0x91b/dev-3.0 --skill ux-principal -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ux-principal, .gemini/skills/ux-principal, .github/skills/ux-principal and .opencode/skills/ux-principal in your project.

What does UX Principal need to run?

Going by SKILL.md and its folder, UX Principal needs Python for the scripts in its folder. Our summary lists: Python 3.

Does UX Principal access the network?

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.

Is UX Principal safe to install?

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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does UX Principal use?

UX Principal 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.

How many tokens does UX Principal use?

About 3k 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. Its references folder adds about 4k tokens, read only when the agent opens those files.

What are the alternatives to UX Principal?

Skills that share tags, products or a category with UX Principal: Baseline UI (ibelick/ui-skills, 9.6k stars), UI/UX Design System Advisor (Galaxy-Dawn/claude-scholar, 5.7k stars), Typeui Fundamentals (bergside/typeui, 2k stars) and Replica Design (Jakeschincariol/replica-skill, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains UX Principal?

h0x91b (a GitHub user) maintains it in h0x91b/dev-3.0, which has 310 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 11, 2026.

Source: h0x91b/dev-3.0 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.