# Principle Experience First

> Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship fewer polished features over more rough ones.

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

---


# Experience First

The product is the experience. Every technical decision either helps or hurts it. When implementation convenience conflicts with user delight, choose delight.

- Say no to 1,000 things (every feature, control, and option must earn its place)
- Ship less, ship better (polished experience with three features beats rough one with ten)
- Prototype before committing (design decisions are cheaper in throwaway HTML than production code)
- Sweat the details (transitions, alignment, spacing, feedback, error states)
- Tighten the core loop (every feature should serve the central workflow or get out of the way)

The user is whoever consumes the work. For a UI that is the end user. For a library or an internal API it is the colleague who imports it. The engineer who maintains the code next is a user too. Weigh their experience the same way, and explain impact from their seat.

Foundations should serve the experience, not the other way around. Foundational thinking governs the *sequence* of work; this principle governs the *target*.

**Battle-tested:** Scoping a one-line CLI addition, an agent's own recommended default kept the diff minimal and explicitly left a known confusing error message unfixed ("no change to any other command"). The UX fix was offered only as an opt-in extra — the user had to actively pick the non-default option to get the better experience. A "(Recommended)" default should not exclude a user-facing confusion fix already surfaced in the same diagnosis without saying why it's being left out; if the cost is one more slice, that's usually cheap enough to just include.

