Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship fewer polished features over more rough ones.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Experience First
When implementation convenience conflicts with user delight, choose delight.
- Every feature, control, and option must be justified
- 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)
- Get the details right (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 perspective.
Foundations should serve the experience. Foundational thinking governs the *sequence* of work. This principle governs the *target*.
The line at the top of this page pins the label git:20260923.4a3ef20, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_omj6h2il6ub2pwyk
GET https://markdownregistry.com/api/v1/resolve?ref=michael-denyer/pstack-claude/principle-experience-first
GET https://markdownregistry.com/api/v1/blob/688917387e19da6a343fe657c726eb65998937da69ed7d29f1dfaadb53516a10
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
michael-denyer/pstack-claude · plugins/pstack/skills/architect/SKILL.md · Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in. Use…
michael-denyer/pstack-claude · plugins/pstack/skills/arena/SKILL.md · Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for…
michael-denyer/pstack-claude · plugins/pstack/skills/automate-me/SKILL.md · Use for "automate me", "create/update/refresh my -mode skill", "turn/capture my preferences or working style into a…
michael-denyer/pstack-claude · plugins/pstack/skills/babysit/SKILL.md · Watch an open PR — fix failing CI, handle the straightforward review comments, and drive it to a mergeable state…
michael-denyer/pstack-claude · plugins/pstack/skills/benchmark-checklist/SKILL.md · Vet a perf measurement (limiter, tuning, limits, errors, repeatability, relevance, and whether the work happened)…
michael-denyer/pstack-claude · plugins/pstack/skills/blast-radius/SKILL.md · Find what a change could break somewhere else before it ships, beyond the diff, and prove the one fact it's safe…
michael-denyer/pstack-claude · plugins/pstack/skills/bro/SKILL.md · Restate the last message in plain human language, with no jargon. Use for /bro or when asked to say it plainly.
michael-denyer/pstack-claude · plugins/pstack/skills/correct/SKILL.md · Find the mistakes agents keep repeating in this repo and make each one impossible. Try architecture first, then types…
michael-denyer/pstack-claude · plugins/pstack/skills/create-formal-verification-skill/SKILL.md · Generate a project-local skill that formally verifies the code where a bug costs the most and tests reach the least, in…
michael-denyer/pstack-claude · plugins/pstack/skills/create-verification-skill/SKILL.md · Generate a project-local verification skill that drives your app the way a user does — any language, framework, or…
michael-denyer/pstack-claude · plugins/pstack/skills/figure-it-out/SKILL.md · Design an auditable playbook when no narrower one fits: a large migration, an ambitious multi-part change, or work a…
cursor/plugins · harness/pstack/claude-code/skills/principle-experience-first/SKILL.md · Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship…
cursor/plugins · pstack/skills/principle-experience-first/SKILL.md · Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship…
nightly-labs/openbot · marketplace/production-catalog/bundles/pstack/skills/principle-experience-first/SKILL.md · Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship…
backnotprop/pstack · skills/principle-experience-first/SKILL.md · Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship…
iap/pstack-hermes · skills/principle-experience-first/SKILL.md · Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship…
j-star-films-studios/vibecode-protocol-suite · assets/.agent/skills/engineering-principles/experience-first/SKILL.md · Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship…
barbieri/local-openfinance · .agents/skills/principle-experience-first/SKILL.md · Apply when product, UX, or feature-scope tradeoffs come up. Choose user delight over implementation convenience; ship…
theonlyfusioncube/potetos-for-everyone · skills/principle-experience-first/SKILL.md · Optimize for the end-user experience unless the cost violates an explicit constraint. Use when product, UX, API design…