Skip to content
ux-antipatterns logo

UX Anti-Pattern Detection

ux-antipatterns

Use when reviewing, building, or refactoring frontend UI — components, pages, forms, or interactive flows. Triggers on code review, pull requests, and new feature implementation involving user-facing interfaces.

NeverSight/skills_feed0installs215stars

SKILL.md

Full skill instructions

UX Anti-Pattern Detection

Scan frontend code for patterns that cause user frustration.

Core Axioms

Before checking individual rules, internalize these. They are the "why" behind every item below.

#AxiomOne-liner
1Acknowledge every actionEvery user action must produce visible feedback within 100ms, even if the result takes seconds.
2Never destroy user inputNot on error, not on navigation, not on timeout, not on refresh.
3State survives the unexpectedRefresh, double-clicks or double submits, network loss — code must handle edge cases.
4Most recent intent winsStale responses must never overwrite a newer user action.
5Explain every constraintIf it's disabled, say why. If it failed, say how to fix it. If it succeeded, say what happened.
6Don't fight the platformBrowser conventions, OS gestures, native controls, and accessibility APIs encode billions of hours of UX research.

When NOT to Use

  • Backend-only code with no UI layer
  • CLI tools or non-visual interfaces
  • Design system tokens/​docs without implementation code
  • Pure API or data-layer reviews
  • Performance profiling (unless it manifests as a UX symptom like layout shift)

Workflow

  1. Read references/​antipatterns.md to load the full detection heuristics.
  2. Scan the code under review against each applicable anti-pattern category.
  3. Report findings grouped by anti-pattern, citing specific file:line locations.
  4. For each finding, state: the anti-pattern name, the user harm, and a concrete fix.
  5. If no anti-patterns are found, state that the code is clean rather than manufacturing findings.

Anti-Pattern Categories

#CategoryUser Harm
1Layout StabilityClick target moves; wrong thing clicked.
2Feedback & ResponsivenessAction feels ignored; user retries, waits, or loses trust that the system is working.
3Error Handling & RecoveryUser is stuck with no way forward; input destroyed; problem unsolvable without guessing.
4Forms & Input InterferencePlatform fights the user's typing; data mangled, basic editing broken.
5FocusUser is typing and the UI yanks them elsewhere.
6Notifications, Interruptions & DialogsUser's flow broken; attention taxed by noise; forced to parse ambiguous choices under pressure.
7Navigation, Routing & State PersistenceUser can't go back; context evaporates on refresh or redirect.
8Scroll & ViewportContent unreachable or unstable; user fights the interface to see what they came for.
9Timing, Debounce & Race ConditionsActions fire twice, responses arrive stale, sessions expire mid-task; system behaves unpredictably under normal use.
10Accessibility as UXEntire interaction modes broken — keyboard users can't navigate, touch users locked out.
11Visual Layering & RenderingUI elements overlap, clip, or hide each other; controls become unreachable.
12Mobile & Viewport-SpecificKeyboard covers input, layout jumps on scroll, tap targets unresponsive; basic mobile interaction degraded.
13Cumulative Decay & Long-Term UXApp degrades over time; preferences lost, performance rots, stale experiments create inconsistencies.

Quick Reference: Symptom → Category

User complaint / code smellCategory
"Button does nothing when I click it"2. Feedback & Responsiveness
"I clicked the wrong thing — it moved"1. Layout Stability
"I lost my form data"4. Forms & Input Interference
"It says 'Something went wrong' with no explanation"3. Error Handling & Recovery
"The page jumped while I was typing"5. Focus
"I got the same notification 5 times"6. Notifications & Dialogs
"I logged in and it forgot where I was going"7. Navigation & State Persistence
"I scrolled back and lost my place"8. Scroll & Viewport
"My order was placed twice"9. Timing & Race Conditions
"I was filling out a form and it logged me out"9. Timing & Race Conditions
"I clicked delete and it just... deleted it"6. Notifications & Dialogs
"It's been loading for 2 minutes with no progress bar"2. Feedback & Responsiveness
"I can't use this with my keyboard"10. Accessibility as UX
"The dropdown is hidden behind the modal"11. Visual Layering
"The keyboard covers the input on my phone"12. Mobile & Viewport-Specific
"The app gets slower over time"13. Cumulative Decay

Common Mistakes

  • Flagging style preferences as anti-patterns. A non-standard button shape is a design choice, not a UX violation. Only flag patterns that cause measurable user harm per the axioms.
  • Ignoring context. A disabled button inside a wizard step IS explained by the wizard's own flow. Check for nearby explanatory elements before reporting.
  • Suggesting fixes that break accessibility. A fix that adds a visual indicator but removes keyboard access trades one violation for another. Verify fixes against Axiom 6.
  • Over-reporting on handled edge cases. If the code already has an AbortController, don't flag it for race conditions. Read the implementation before reporting.
  • Reporting framework internals as violations. React's key prop remounts, Next.js loading states, or SvelteKit form actions may handle anti-patterns at the framework level. Understand the framework before flagging.

More skills from NeverSight

devops-deployer logo
NeverSight/skills_feed

devops-deployer

Comprehensive DevOps and deployment workflow that orchestrates infrastructure automation, CI/CD pipelines, container orchestration, and cloud deployment. Handles everything from infrastructure as code and pipeline setup to monitoring, scaling, and disaster recovery.

215 1
View
avnu logo
NeverSight/skills_feed

avnu

Integrate avnu SDK for Starknet DeFi: token swaps with best-price routing, DCA recurring buys, native staking, gasless transactions via paymaster, and market data. Use when building Starknet trading, DEX aggregation, or DeFi automation features.

215 0
View
post-to-x logo
NeverSight/skills_feed

post-to-x

发布内容和文章到 X (Twitter)。支持带图片的普通推文和 X Articles(长文)。使用真实的 Chrome 和 CDP 来绕过自动化检测。

215 0
View
ralph-prompt-builder logo
NeverSight/skills_feed

ralph-prompt-builder

Master orchestrator for generating Ralph Wiggum-compatible prompts. Analyzes task requirements and routes to appropriate generator (single-task, multi-task, project, or research). Use when you need to create any Ralph loop prompt and want automatic selection of the right generator.

215 0
View
branch-comparison logo
NeverSight/skills_feed

branch-comparison

Use when the user asks to compare branches, analyze git diffs, review changes between branches, update specifications based on code changes, or analyze what changed. Triggers on keywords like "compare branches", "git diff", "what changed", "branch comparison", "code changes", "spec update".

215 0
View
fastapi-development logo
NeverSight/skills_feed

fastapi-development

Build high-performance FastAPI applications with async routes, validation, dependency injection, security, and automatic API documentation. Use when developing modern Python APIs with async support, automatic OpenAPI documentation, and high performance requirements.

215 0
View
zendesk-chat logo
NeverSight/skills_feed

zendesk-chat

Enables Claude to manage Zendesk Chat conversations, support tickets, and customer service operations

215 0
View
forge logo
NeverSight/skills_feed

forge

Mine transcripts for knowledge - decisions, learnings, failures, patterns. Triggers: "forge insights", "mine transcripts", "extract knowledge".

215 0
View
mixpanel logo
NeverSight/skills_feed

mixpanel

Track product analytics and user behavior with Mixpanel's event-based platform.

215 0
View
ocpp logo
NeverSight/skills_feed

ocpp

OCPP protocol reference for EV charging infrastructure development. Covers OCPP 2.0.1 and OCPP 1.6J. Use when working with OCPP messages, charging station code, CSMS/Central System backends, smart charging, transaction handling, or EV charging protocols. Activates on keywords: OCPP, charging stat...

215 0
View
bee-collect logo
NeverSight/skills_feed

bee-collect

Gather scattered ideas into organized GitHub issues. The bee collects pollen from every flower, checks if the hive already has it, and carefully deposits new work in the comb for later. Never edits code—only organizes the work ahead. Use when creating issues from TODOs or planning work.

215 0
View
vercel-react-native-skills logo
NeverSight/skills_feed

vercel-react-native-skills

Comprehensive best practices for React Native and Expo applications. Contains rules across multiple categories covering performance, animations, UI patterns, and platform-specific optimizations.

215 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View