Skip to content
Development
Skill

/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

From plugin
dev-30
2594 skills
Install
$ npx -y skills add h0x91b/dev-3.0 --skill ux-principal --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ux-principal

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

ux-principal.SKILL.md
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

Read more
Ships withdev-30

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.

Get the whole plugin
Stats
260
Stars
34
Forks
Active
Maintenance
TypeScript
Language
Apache-2.0
License
6h ago
Last commit
6mo ago
Created

Repo: h0x91b/dev-3.0

Other skills on dev-30.