/ux-principal
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
Claude Code
$ npx -y skills add h0x91b/dev-3.0 --skill ux-principal --agent claude-code
Codex
$ npx skills add h0x91b/dev-3.0 --skill ux-principal -a codex -y
Cursor
$ npx skills add h0x91b/dev-3.0 --skill ux-principal -a cursor -y
Gemini CLI
$ npx skills add h0x91b/dev-3.0 --skill ux-principal -a gemini-cli -y
GitHub Copilot
$ npx skills add h0x91b/dev-3.0 --skill ux-principal -a github-copilot -y
OpenCode
$ npx skills add h0x91b/dev-3.0 --skill ux-principal -a opencode -y
Windsurf
$ npx skills add h0x91b/dev-3.0 --skill ux-principal -a windsurf -y
SKILL.md
ux-principal.SKILL.mdname: 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:
| Domain | Owner | |---|---| | Colour, contrast, token values | `better-colors` | | Focus, keyboard, ARIA, hit areas, reduced motion | `better-accessibility` | | Type scale, line-height, truncation, tabular numbers | `better-typography` | | Labels, error copy, empty states, capitalization | `better-writing` | | Grouping, spacing, breakpoints, reading order | `better-layout` | | Radius, shadows, icons, motion, micro-interactions | `better-ui` | | A whole-screen cross-discipline pass | `better-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 step
Read more
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:
| Domain | Owner | |---|---| | Colour, contrast, token values | `better-colors` | | Focus, keyboard, ARIA, hit areas, reduced motion | `better-accessibility` | | Type scale, line-height, truncation, tabular numbers | `better-typography` | | Labels, error copy, empty states, capitalization | `better-writing` | | Grouping, spacing, breakpoints, reading order | `better-layout` | | Radius, shadows, icons, motion, micro-interactions | `better-ui` | | A whole-screen cross-discipline pass | `better-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 step
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 CLI, OpenCode and any shell agent. Not an IDE.
Other skills on dev-30.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about ux-principal.
- Which coding agents can use ux-principal?
- ux-principal installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

