skills/progressive-disclosure/SKILL.md
Reduce complexity by revealing information progressively. Use when designing onboarding, complex forms, feature-rich interfaces, or any experience where showing everything at once would overwhelm users.
npx skillsauth add Chris-Maskey/opencode-config progressive-disclosureInstall 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.
Progressive Disclosure is an interaction design technique that sequences information and actions across time, showing users only what they need when they need it. It reduces cognitive load by deferring complexity until the user is ready for it.
Level 0: Essential (always visible)
|
v
Level 1: Important (one click away)
|
v
Level 2: Useful (accessible but hidden)
|
v
Level 3: Advanced (buried intentionally)
80% of users need 20% of features. Show that 20% prominently, progressively reveal the rest.
+------------------------------------------+
| Primary Actions (20%) |
| [Action 1] [Action 2] |
+------------------------------------------+
| v Advanced Options |
| +------------------------------------+|
| | Secondary (30%) ||
| | [Option 3] [Option 4] ||
| +------------------------------------+|
| | v More Options ||
| | +------------------------------+||
| | | Tertiary (50%) |||
| | | [Rare settings...] |||
| | +------------------------------+||
| +------------------------------------+|
+------------------------------------------+
| Type | Mechanism | Example | | -------------------- | -------------------- | --------------------- | | Click to reveal | Expand/collapse | "Show more" sections | | Hover to reveal | Tooltip/popover | Help text on hover | | Scroll to reveal | Below the fold | Long-form content | | Time-based | Delayed introduction | Feature announcements | | Skill-based | Unlock with usage | Advanced features | | Role-based | Permission levels | Admin controls |
List all elements users see:
| Element | User Need | Frequency | Current Visibility | | ----------- | --------- | ------------------- | ------------------------- | | [Element 1] | [Need] | [Daily/Weekly/Rare] | [Always/Sometimes/Hidden] | | [Element 2] | [Need] | [Daily/Weekly/Rare] | [Always/Sometimes/Hidden] |
HIGH
|
+----------------+----------------+
| | |
| ESSENTIAL | CONTEXTUAL |
| Always show | Show when |
| | relevant |
FREQUENCY | NEED
| | |
| ACCESSIBLE | HIDE |
| One click | Deep menus |
| away | |
+----------------+----------------+
|
LOW
| Stage | What to Show | How to Reveal Next | | ------------ | -------------------- | -------------------- | | Initial view | [Core elements] | [Trigger to Level 1] | | Level 1 | [Secondary elements] | [Trigger to Level 2] | | Level 2 | [Advanced elements] | [Trigger to Level 3] |
## Progressive Disclosure Design
**Interface:** [Name] **Date:** [Date]
### Element Inventory
| Element | Priority | Disclosure Level | Reveal Trigger |
| ------- | --------- | ---------------- | -------------- |
| [E1] | Essential | Always visible | - |
| [E2] | Important | Level 1 | [Trigger] |
| [E3] | Advanced | Level 2 | [Trigger] |
### Disclosure Hierarchy
**Level 0 (Always visible):**
- [Element list]
**Level 1 (One interaction):**
- Trigger: [How user reveals]
- Contents: [Element list]
**Level 2 (Two interactions):**
- Trigger: [How user reveals]
- Contents: [Element list]
### User Flow
1. User sees: [Initial state]
2. To access [feature], user: [Action]
3. System reveals: [New state]
### Success Metrics
| Metric | Before | After Target |
| -------------------- | ------- | ------------ |
| Task completion rate | [X%] | [Y%] |
| Time to complete | [X sec] | [Y sec] |
| Support tickets | [X/mo] | [Y/mo] |
Level 0: To, Subject, Body, Send Level 1: CC, BCC (click "Cc" to reveal) Level 2: Formatting toolbar (click "A" to reveal) Level 3: Confidential mode, schedule send (menu)
Most users never need CC/BCC, so it's hidden by default.
Level 0: Page title and content Level 1: Basic properties (click to expand) Level 2: Add property, configure property Level 3: Database views, relations, rollups
New users see a simple page; power users unlock complexity.
Level 0: Shutter button, switch camera Level 1: Swipe for modes (Video, Portrait, etc.) Level 2: Tap for exposure/focus controls Level 3: Settings app for advanced options
| Pattern | When to Use | | ---------------- | --------------------------- | | "Show more" link | Text content, lists | | Chevron/arrow | Expandable sections | | "..." menu | Actions, options | | Tabs | Parallel content categories | | Hover reveal | Tooltips, secondary actions | | Modal/drawer | Complex sub-flows |
| Method | Combined Use | | ------------------- | ------------------------------------ | | Hick's Law | Reduce visible choices at each level | | Cognitive Load | Manage working memory limits | | Halo Effect | Polish the essential elements first | | Jobs-to-be-Done | Organize by user jobs |
tools
Anti-patterns and mistakes to avoid as a product manager. Use when evaluating leadership behaviors, improving team dynamics, reflecting on management practices, or onboarding new product managers.
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
testing
Design effective CTAs using visual attention and gaze psychology principles. Use when designing landing pages, button hierarchies, conversion elements, or optimizing user attention flow through interfaces.
tools
Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include "Vercel Sandbox browser", "microVM Chrome", "agent-browser in sandbox", "browser automation on Vercel", or any task requiring Chrome in a Vercel Sandbox.