# Nexus UI Mockups

> Design a Nexus UI change as a standalone mockup under docs/mockups/ before any production code, then hand it off as the visual contract a plan implements against. Use when asked for a new view, panel, modal, settings tab, chat surface, or layout refactor, when revising or superseding an existing mockup, or when a plan needs something visual to be blessed against.

- Skill: `profsynapse/nexus-ui-mockups` (Agent Skill, multi-file: 10 files)
- Install (CLI): `npx skillmds@latest add profsynapse/nexus-ui-mockups`
- Raw SKILL.md: https://api.skillmd.com/api/skills/profsynapse/nexus-ui-mockups/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ProfSynapse (https://skillmd.com/u/profsynapse)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/profsynapse/nexus-ui-mockups

---


# Nexus UI Mockups

Context: a mockup is a standalone HTML/CSS/JS page in `docs/mockups/` that shows
a proposed Nexus surface before the plugin code exists. It is worth building only
if it looks like the real product and promises only what the plugin can actually
render; otherwise it is a drawing that costs a rewrite later. This router points
at the procedures — the detail loads when you take the path.

## Workflow
1. Decide the artifact. A new or substantially reshaped surface gets a mockup
   first. A tweak inside an existing layout does not — say so and implement.
2. New mockup: follow `protocols/build-mockup.md` step by step.
3. Existing mockup to change, supersede, or retire: follow
   `protocols/revise-mockup.md` first — you MUST NOT overwrite a mockup a plan
   already cites as its visual contract.
4. Before showing anyone: run `python3 .claude/skills/nexus-ui-mockups/scripts/check_mockup.py`
   from the repo root and fix every error it prints. Nothing else in the repo
   checks mockups — `eslint` and the build both ignore `docs/`.
5. Implementation is a separate job under `src/`, governed by CLAUDE.md's hard
   rules and the sibling skills (`nexus-mobile-compat` for phone and plugin-store
   constraints, `nexus-agents` for tools behind the UI, `nexus-testing` for
   proving it in the running plugin). Mockup-only liberties never travel there.

## Map
- `references/fidelity.md` — how to make it look like Obsidian and like Nexus:
  the token block, both themes, production class naming, icons, phone widths.
- `references/honest-mockups.md` — keeping the mockup buildable: Obsidian form
  primitives, labelling simulation, flagging what will not ship as drawn.
- `references/handoff.md` — serving it, review, blessing it as a plan's visual
  contract, and what happens to it after the UI ships.
- `protocols/` — `build-mockup.md`, `revise-mockup.md`, `self-refine.md`.
- `scripts/` — `check_mockup.py` (validate a mockup), `theme_tokens.py` (extract
  the token set production actually relies on). Run them, do not reimplement.

## Refine
At the end of a session that used this skill, run `protocols/self-refine.md`.

