home / skills / ancoleman / ai-design-components / guiding-users
This skill helps you design onboarding and contextual help systems that boost activation and feature adoption through guided tours and progressive disclosure.
npx playbooks add skill ancoleman/ai-design-components --skill guiding-usersReview the files below or copy the command above to add this skill to your agents.
---
name: guiding-users
description: Implements onboarding and help systems including product tours, interactive tutorials, tooltips, checklists, help panels, and progressive disclosure patterns. Use when building first-time experiences, feature discovery, guided walkthroughs, contextual help, setup flows, or user activation features. Provides timing strategies, accessibility patterns (keyboard, screen readers, reduced motion), and metrics for measuring onboarding success.
---
# Guiding Users Through Onboarding and Help Systems
## Purpose
This skill provides systematic patterns for onboarding users and delivering contextual help, from first-time product tours to ongoing feature discovery. It covers the complete spectrum of user guidance mechanisms, ensuring optimal user activation, feature adoption, and self-service support.
## When to Use
Activate this skill when:
- Building first-time user experiences or product tours
- Implementing feature discovery and announcements
- Creating interactive tutorials or guided tasks
- Adding tooltips, hints, or contextual help
- Designing setup flows or completion checklists
- Building help panels or documentation systems
- Implementing progressive disclosure patterns
- Measuring onboarding effectiveness and user activation
- Ensuring onboarding accessibility
## Quick Decision Framework
Select the appropriate guidance mechanism based on user state and content type:
```
First-time user → Product Tour (step-by-step)
New feature launch → Feature Spotlight (tooltip + animation)
Complex workflow → Interactive Tutorial (guided tasks)
Account setup → Checklist (progress tracking)
Contextual help needed → Tooltip/Hint system
Ongoing support → Help Panel (sidebar/searchable)
Feature unlock → Progressive Disclosure
```
Reference `references/selection-framework.md` for detailed selection criteria.
## Core Guidance Mechanisms
### Product Tours
Step-by-step walkthroughs that guide users through key features:
- Sequential spotlights with modal overlays
- Progress indicators (Step 2 of 5)
- Skip, Previous, and Next controls
- Dismiss and resume capability
- Context-sensitive activation
**Implementation:**
```bash
npm install react-joyride
```
See `examples/first-time-tour.tsx` for complete implementation.
Reference `references/product-tours.md` for patterns and best practices.
### Feature Spotlights
Announce new features to existing users:
- Pulsing hotspot animations
- Contextual tooltip with arrow
- "Got it" acknowledgment
- Auto-dismiss after first view
- Non-blocking overlay
See `examples/feature-spotlight.tsx` for implementation.
Reference `references/tooltips-hints.md` for patterns.
### Interactive Tutorials
Guided task completion with validation:
- "Complete these tasks to get started"
- Checkbox completion tracking
- Celebration animations on completion
- Sandbox mode with sample data
- Undo and reset capabilities
See `examples/guided-tutorial.tsx` for implementation.
Reference `references/interactive-tutorials.md` for patterns.
### Setup Checklists
Track multi-step onboarding progress:
- Visual progress indicators (3/4 complete)
- Direct links to each task
- Profile completion percentages
- Achievement badges and gamification
- Persistent until completed
See `examples/setup-checklist.tsx` for implementation.
Reference `references/checklists.md` for patterns.
### Contextual Tooltips and Hints
Just-in-time help when users need it:
- Hover or click-triggered tooltips
- Progressive hint levels (1, 2, 3)
- "Need help?" assistance triggers
- Context-aware suggestions
- Keyboard-accessible
See `examples/contextual-help.tsx` for implementation.
Reference `references/tooltips-hints.md` for complete patterns.
### Help Panels
Comprehensive help systems:
- Sidebar or drawer interface
- Contextual help based on current page
- Search help articles and docs
- Video tutorials and demos
- Contact support integration
- Collapsible and resizable
See `examples/help-panel.tsx` for implementation.
Reference `references/help-systems.md` for patterns.
## Timing and Triggering Strategies
### When to Show Onboarding
Appropriate triggers:
- First login (always)
- Immediately after signup
- New feature launch (to existing users)
- User appears stuck (smart triggering based on inactivity)
- User explicitly requests help
### When NOT to Show Onboarding
Avoid showing when:
- User is mid-task or focused
- Shown in every session (becomes annoying)
- Before allowing free exploration
- Tour exceeds 7 steps (too long)
- User already dismissed or completed
**Auto-dismiss timing:**
- Simple tooltips: 5-7 seconds
- Feature announcements: 10-15 seconds or manual dismiss
- Tours: User-controlled, no auto-dismiss
- Persistent hints: Until user acknowledges
Reference `references/timing-strategies.md` for detailed guidelines.
## Progressive Disclosure Patterns
Show only what's needed, when it's needed:
**Techniques:**
1. **Accordion Help**: Collapsed by default, expand for details
2. **"Learn More" Links**: Deep dive content optional
3. **Advanced Settings**: Hidden behind "Show advanced" toggle
4. **Gradual Feature Introduction**: Unlock features as user progresses
5. **Contextual Hints**: Show based on user actions
Reference `references/progressive-disclosure.md` for implementation patterns.
## Accessibility Requirements
### Keyboard Navigation
Essential keyboard support:
- Tab through tour steps and controls
- ESC to dismiss tours and tooltips
- Arrow keys for Previous/Next navigation
- Enter/Space to activate buttons
- Focus visible indicators
### Screen Reader Support
ARIA patterns for announcements:
- Announce step number and total (Step 2 of 5)
- Read tooltip and help content
- Describe highlighted UI elements
- Announce progress completion
- Alert on errors or blockers
### Reduced Motion
Respect `prefers-reduced-motion`:
- Disable pulsing animations
- Use instant transitions instead of animations
- Remove parallax and complex effects
- Maintain functionality without motion
To validate accessibility:
```bash
node scripts/validate_accessibility.js
```
Reference `references/accessibility-patterns.md` for complete implementation.
## Library Recommendations
### Primary: react-joyride (Feature-Rich, Accessible)
**Library:** `/gilbarbara/react-joyride`
**Trust Score:** 9.6/10
**Code Snippets:** 29+
Best for comprehensive product tours:
- WAI-ARIA compliant out of the box
- Full keyboard navigation support
- Highly customizable styling
- Programmatic control
- Localization support
- Active maintenance
```bash
npm install react-joyride
```
See `examples/joyride-tour.tsx` for complete setup.
### Alternative: driver.js (Lightweight, Modern)
Best for minimal bundle size:
- Vanilla JavaScript (framework agnostic)
- ~5KB gzipped
- Modern API design
- No dependencies
```bash
npm install driver.js
```
### Alternative: intro.js (Classic, Proven)
Best for traditional tours:
- Battle-tested library
- Wide browser support
- JSON-based tour configuration
- Extensive plugin ecosystem
```bash
npm install intro.js
```
Reference `references/library-comparison.md` for detailed analysis and selection criteria.
## Design Token Integration
All onboarding components use the design-tokens skill for consistent theming:
**Token categories used:**
- **Colors**: Tour spotlight, overlay, tooltip backgrounds, hotspot colors
- **Spacing**: Tour padding, tooltip spacing, arrow size
- **Typography**: Title sizes, body text, help content
- **Borders**: Border radius for modals and tooltips
- **Shadows**: Elevation for tour spotlights and tooltips
- **Motion**: Transition durations, pulse animations
Supports light, dark, high-contrast, and custom brand themes.
Reference the design-tokens skill for complete theming documentation.
## Measuring Success
### Key Metrics
Track these indicators:
- Tour completion rate (target: >60%)
- Time to first value (faster = better)
- Feature adoption rate post-tour
- Support ticket reduction
- User activation rate (completed key actions)
- Drop-off points in tours
### Optimization Strategies
Iterate based on data:
- A/B test tour length (shorter often better)
- Test different messaging and copy
- Measure drop-off at each step
- Simplify steps with high abandonment
- Add skip options for returning users
- Personalize based on user type
To analyze onboarding metrics:
```bash
python scripts/analyze_onboarding_metrics.py
```
Reference `references/measuring-success.md` for complete analytics implementation.
## Anti-Patterns to Avoid
Common mistakes that harm user experience:
❌ **Forced Tours**: Requiring tour completion before product use
❌ **Too Long**: Tours exceeding 7 steps lose user attention
❌ **Every Session**: Showing same tour repeatedly
❌ **No Skip Option**: Preventing users from exploring independently
❌ **Wall of Text**: Using lengthy explanations instead of visuals
❌ **Blocking Everything**: Preventing interaction during tours
❌ **Premature Guidance**: Showing help before users explore
❌ **Poor Timing**: Interrupting focused work
❌ **No Context**: Generic tips without specific relevance
## Implementation Workflow
### Step 1: Map User Journey
Identify key moments:
1. First login and account creation
2. Core value delivery (aha moment)
3. Feature discovery points
4. Potential confusion or abandonment
5. Achievement and progress milestones
### Step 2: Choose Guidance Mechanisms
Match mechanisms to moments:
- First login → Product tour (3-5 steps max)
- Core features → Interactive tutorial
- Setup requirements → Checklist
- New features → Spotlight + tooltip
- Ongoing help → Help panel
### Step 3: Implement with Progressive Enhancement
Build incrementally:
1. Start with essential guidance only
2. Add contextual help based on user behavior
3. Implement analytics to measure effectiveness
4. Iterate based on data
5. A/B test variations
### Step 4: Test Accessibility
Verify compliance:
- Keyboard navigation works completely
- Screen reader announces properly
- Reduced motion preference honored
- Focus management correct
- ARIA labels descriptive
Run validation:
```bash
node scripts/validate_accessibility.js
```
### Step 5: Monitor and Optimize
Track and improve:
- Monitor completion rates
- Identify drop-off points
- Gather user feedback
- A/B test improvements
- Update based on findings
## Working Examples
Start with the example matching the use case:
```
first-time-tour.tsx # Product walkthrough with react-joyride
feature-spotlight.tsx # New feature announcement
guided-tutorial.tsx # Interactive task completion
setup-checklist.tsx # Multi-step onboarding progress
contextual-help.tsx # Tooltips and progressive hints
help-panel.tsx # Sidebar help with search
celebration-animation.tsx # Completion feedback
```
## Resources
### Scripts (Token-Free Execution)
- `scripts/generate_tour_config.js` - Generate tour configurations from user flows
- `scripts/analyze_onboarding_metrics.py` - Analyze completion and drop-off rates
- `scripts/validate_accessibility.js` - Test keyboard and screen reader support
### References (Detailed Documentation)
- `references/product-tours.md` - Tour patterns, step design, navigation
- `references/interactive-tutorials.md` - Guided tasks and sandbox modes
- `references/tooltips-hints.md` - Contextual help and progressive hints
- `references/checklists.md` - Progress tracking and gamification
- `references/help-systems.md` - Help panels, videos, and documentation
- `references/progressive-disclosure.md` - Advanced patterns and feature unlocking
- `references/timing-strategies.md` - When and how to trigger guidance
- `references/accessibility-patterns.md` - WCAG compliance and ARIA patterns
- `references/measuring-success.md` - Analytics and optimization
- `references/library-comparison.md` - Detailed library evaluation
- `references/selection-framework.md` - Decision trees for choosing mechanisms
### Examples (Implementation Code)
- Complete working implementations for all guidance types
- Integration examples with common frameworks
- Accessibility-compliant patterns
- Design token integration examples
### Assets (Templates and Configs)
- `assets/celebration-animations/` - Success animations and confetti
- `assets/tour-templates.json` - Reusable tour configurations
- `assets/message-templates.json` - Tooltip and hint copy templates
- `assets/timing-config.json` - Recommended timing values
## Cross-Skill Integration
This skill works with other component skills:
- **Forms**: Guided form completion, validation hints
- **Dashboards**: Feature tours, widget explanations
- **Tables**: Data grid tutorials, feature discovery
- **AI Chat**: Chat interface walkthroughs
- **Navigation**: Menu and navigation guidance
- **Feedback**: Success celebrations, progress notifications
- **Design Tokens**: All visual styling and theming
## Key Principles
1. **Respect User Time**: Keep tours under 7 steps, make skippable
2. **Show, Don't Tell**: Use visuals and interactions over text
3. **Progressive Enhancement**: Start simple, add guidance as needed
4. **Context is King**: Show help when and where it's relevant
5. **Measure Everything**: Track completion, iterate based on data
6. **Accessibility First**: Keyboard, screen reader, reduced motion support
7. **Celebrate Progress**: Acknowledge completion and achievements
8. **Allow Exploration**: Don't force tours, enable discovery
## Next Steps
1. Map the user journey and identify key moments
2. Choose appropriate guidance mechanisms for each moment
3. Install react-joyride or preferred library
4. Start with one critical flow (usually first-time experience)
5. Implement with accessibility built-in
6. Add analytics tracking
7. Test with real users
8. Iterate based on metrics and feedback
This skill implements onboarding and contextual help systems to guide users from first-time setup through ongoing feature discovery. It bundles product tours, interactive tutorials, tooltips, checklists, help panels, and progressive disclosure patterns with accessibility and analytics guidance. Use it to increase activation, reduce support load, and drive feature adoption.
The skill maps user journeys to appropriate guidance mechanisms and provides implementation patterns, timing strategies, and accessibility requirements. It recommends libraries and integration points, supplies example flows (tours, spotlights, checklists, help panels) and shows how to instrument metrics like completion rate and time-to-first-value. It also includes progressive enhancement guidance so you can start simple and iterate based on analytics.
Which library should I start with for product tours?
react-joyride is recommended for full-featured, accessible tours; consider driver.js for a lightweight, framework-agnostic option.
How do I avoid annoying returning users?
Persist dismissal state, offer skip controls, avoid auto-showing tours each session, and trigger guidance only when relevant.