# Build UI

> Build a feature's ui/ layer — presentation bound to the ecs database. The final, top layer.

- Skill: `adobe/build-ui-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add adobe/build-ui-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/adobe/build-ui-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Adobe (https://skillmd.com/u/adobe)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/adobe/build-ui-2

---


Create `ui/`: one folder per UI unit —
`<name>/{<name>.ts (lazy wrapper), <name>-element.ts (container), <name>-presentation.ts (pure render), <name>.css.ts}`.
The element subscribes to state and delegates to the pure presentation; no business logic here.

Comes last. The how is in the auto-loading `features/ui/index.md` rule (and `element.md`,
`lazy-element.md`, `presentation.md`).

