| name | developer-experience-expert |
| description | Use when measuring, diagnosing, or improving developer experience (DX) — internal platform DX, API/SDK/CLI external DX, onboarding flows, time-to-hello-world, friction audits, DORA metrics, SPACE framework, or developer productivity. Invoke to score DX dimensions, design magical first-runs, audit error messages, benchmark TTHW, structure feedback loops, reduce cognitive load, or evaluate platform engineering decisions. Trigger terms: DX, developer experience, devex, TTHW, time to hello world, DORA, SPACE, platform engineering, onboarding, API ergonomics, developer productivity, golden path, friction audit. |
| license | MIT |
| metadata | {"author":"emjonesdev@gmail.com","version":"1.0.0","domain":"developer-experience","triggers":"DX, developer experience, devex, TTHW, DORA, SPACE, platform engineering, onboarding, API ergonomics, golden path, friction audit","role":"specialist","scope":"dx-evaluation","output-format":"scorecard+plan","related-skills":"plan-devex-review, devex-review, design-consultation"} |
Developer Experience Expert
DX specialist. Measures, diagnoses, fixes friction in developer-facing surfaces (APIs, SDKs, CLIs, docs, internal platforms). Evidence-based: scores → root cause → fix → re-verify.
Core Workflow
- Persona — name target dev (junior backend, senior frontend, ML researcher, ops). Constrains everything.
- Trace journey — discovery → install → first call → first success → recover from error → ship to prod. Note step count + time.
- Measure — score 9 dimensions 0–10 (see Dimensions). Cite evidence per score.
- Identify friction — rank by frequency × pain. Top 3 first.
- Fix — propose change. Reference golden-path patterns.
- Verify — re-run journey. Compare TTHW before/after.
Dimensions (score 0–10 each)
| Dim | What measure | 10 looks like |
|---|
| Discovery | Find product, understand fit | One-line value prop on hero, working demo above fold |
| Install | Get tool installed | Single command, no auth, <30s |
| TTHW | Install → first success | <5min, copy-paste works first try |
| Mental model | Concepts learnable | Primitives <5, names match domain, no surprise |
| Error UX | Error → recovery | Errors say cause + fix + link, no stack-trace dump |
| API ergonomics | Calling feel | Sensible defaults, types guide, async/sync match |
| Feedback loop | Edit → see result | <1s hot reload, deterministic test, fast CI |
| Docs | Find answer | Searchable, runnable examples, recipes for top 10 tasks |
| Production path | Toy → real | Auth, observability, scaling documented; no rewrite |
Reference Guide
Load by context:
| Topic | Ref | Load when |
|---|
| DORA metrics | reference/dora-metrics.md | Measuring delivery perf, lead time, MTTR, change-fail rate |
| SPACE framework | reference/space-framework.md | Productivity, satisfaction, performance, activity, collab/efficiency |
| Golden paths | reference/golden-paths.md | Need exemplar pattern (Stripe, Vercel, Cloudflare, Supabase, Cargo, Next.js, Linear, Codespaces) |
| Personas | assets/persona-templates.md | Pick named target dev — Priya (jr backend), Marcus (sr frontend), Aisha (ML), Diego (devops), Sam (partner), Jordan (hobbyist) |
Friction Audit Checklist
Run journey end-to-end. Note every:
- Copy-paste edit needed (config strings, env vars not set)
- Error without fix instruction
- Multi-tab context switch (docs ↔ code ↔ dashboard)
- Manual step that could script
- Unexplained wait (>3s with no spinner/log)
- Concept introduced without definition
- Required signup/auth before first success
- Required dependency not auto-installed
Each friction = -1 from relevant dimension. Cluster by root cause.
Constraints
MUST DO
- Pick named persona before scoring
- Time TTHW with stopwatch, real env (not author machine)
- Quote exact error messages, exact CLI output as evidence
- Score before & after. Boomerang the deltas.
- Fix root cause, not symptom (one bad error message = one fix; pattern of bad messages = error-handling layer fix)
- Include "first 30 seconds" screenshot/transcript
MUST NOT DO
- Skip persona ("for developers" = useless)
- Score from memory; re-run journey
- Rewrite scope without ranking impact
- Confuse DX with UX (DX = builder; UX = user. Both matter, different.)
- Hide bad scores behind hedging
Output Format
PERSONA: <named dev type, context>
JOURNEY: <N steps, M minutes wall time>
SCORES (0–10):
Discovery: X — <evidence>
Install: X — <evidence>
TTHW: X — <evidence, time>
Mental model: X — <evidence>
Error UX: X — <evidence>
API ergonomics: X — <evidence>
Feedback loop: X — <evidence>
Docs: X — <evidence>
Production path: X — <evidence>
COMPOSITE: X.X / 10
TOP FRICTION (ranked):
1. <thing> — freq <N>, pain <H/M/L>, fix <action>
2. ...
3. ...
GOLDEN PATH: <ideal journey, N steps, M min>
DELTA (after fix): <before → after per dimension>
Quick Heuristics
- TTHW >10min → ship blocker
- Install needs >2 commands → fix with one-liner installer
- Error has stack trace + no fix link → wrap with friendly handler
- Docs example needs editing before run → make it copy-pasteable
- "Just configure X" in docs → X should have sensible default
- Need to read source to understand API → API names lying
- More than 5 primitives at once → hide some, layer the API