skills/ai-loading-ux/SKILL.md
Design AI loading, thinking, and progress indicator UX. Use when explicitly asked to improve AI waiting states, add thinking indicators, or design loading UX for AI interfaces. Covers reasoning display (chain-of-thought), progress steps, streaming states, and the "elevator mirror effect" for reducing perceived wait time.
npx skillsauth add shipshitdev/library ai-loading-uxInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Design patterns for showing users what's happening while waiting for AI output.
First, identify which pattern category applies:
| User is waiting for... | Pattern Category | Key Goal | |------------------------|------------------|----------| | AI reasoning/thinking | Reasoning Display | Build trust through transparency | | Multi-step task completion | Progress Steps | Show advancement toward goal | | Content generation/streaming | Streaming States | Reduce perceived wait time | | Background processing | Status Indicators | Confirm work is happening |
Users waiting for AI feel time pass slower. Give them something to watch/read—animated indicators reduce perceived wait time even when actual time is unchanged.
Users want answers, not reasoning—but they want to trust the answer came from good reasoning.
Users must know when processing ends. Ambiguous end states frustrate users.
When AI is "thinking" through a problem. See references/reasoning-patterns.md.
Best approach (Claude-style):
Anti-patterns:
When AI completes sequential tasks. See references/progress-patterns.md.
Best approach:
When content generates token-by-token. See references/streaming-patterns.md.
Best approach:
When background work happens. See references/status-patterns.md.
Best approach:
When implementing any AI loading state:
| Product | Approach | Strength | Weakness | |---------|----------|----------|----------| | Claude | Hidden reasoning, expandable, structured bullets | Low cognitive load | Can feel opaque | | ChatGPT | Brief labels, auto-collapse | Unobtrusive | Less transparent | | DeepSeek | Full streaming reasoning | Maximum transparency | Overwhelming | | Gemini | User-scrolled, numbered steps | Clear structure | Unclear completion |
Read the relevant reference file for your pattern category:
development
TypeScript refactoring and modernization guidelines from a principal specialist perspective. This skill should be used when refactoring, reviewing, or modernizing TypeScript code to ensure type safety, compiler performance, and idiomatic patterns. Triggers on tasks involving TypeScript type architecture, narrowing, generics, error handling, or migration to modern TypeScript features.
tools
Resolves TypeScript and JavaScript problems across type-level programming, performance, monorepo management, migration, and modern tooling. Invoke when diagnosing "type instantiation excessively deep" errors, migrating JS to TS, configuring strict tsconfig, debugging module resolution, or choosing between Biome/ESLint/Turborepo/Nx.
tools
Turborepo monorepo build system guidance. Triggers on: `turbo.json`, task pipelines, `dependsOn`, caching, remote cache, the `turbo` CLI, `--filter`, `--affected`, CI optimization, environment variables, internal packages, monorepo structure, and package boundaries. Use when the user configures tasks or workflows, creates packages, sets up a monorepo, shares code between apps, runs changed packages, debugs cache behavior, or works in an `apps/` plus `packages/` workspace.
tools
Provides Tailwind CSS v4 performance optimization and best practices guidelines. Triggers when writing, reviewing, or refactoring Tailwind CSS v4 code; when working with Tailwind configuration, @theme directive, utility classes, responsive design, dark mode, container queries, or CSS generation optimization.