ancoleman/guiding-users
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.
npx skills add https://github.com/ancoleman/ai-design-components --skill guiding-users
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.
Activate this skill when:
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.
Step-by-step walkthroughs that guide users through key features:
Implementation:
npm install react-joyride
See examples/first-time-tour.tsx for complete implementation.
Reference references/product-tours.md for patterns and best practices.
Announce new features to existing users:
See examples/feature-spotlight.tsx for implementation.
Reference references/tooltips-hints.md for patterns.
Guided task completion with validation:
See examples/guided-tutorial.tsx for implementation.
Reference references/interactive-tutorials.md for patterns.
Track multi-step onboarding progress:
See examples/setup-checklist.tsx for implementation.
Reference references/checklists.md for patterns.
Just-in-time help when users need it:
See examples/contextual-help.tsx for implementation.
Reference references/tooltips-hints.md for complete patterns.
Comprehensive help systems:
See examples/help-panel.tsx for implementation.
Reference references/help-systems.md for patterns.
Appropriate triggers:
Avoid showing when:
Auto-dismiss timing:
Reference references/timing-strategies.md for detailed guidelines.
Show only what's needed, when it's needed:
Techniques:
Reference references/progressive-disclosure.md for implementation patterns.
Essential keyboard support:
ARIA patterns for announcements:
Respect prefers-reduced-motion:
To validate accessibility:
node scripts/validate_accessibility.js
Reference references/accessibility-patterns.md for complete implementation.
Library: /gilbarbara/react-joyride
Trust Score: 9.6/10
Code Snippets: 29+
Best for comprehensive product tours:
npm install react-joyride
See examples/joyride-tour.tsx for complete setup.
Best for minimal bundle size:
npm install driver.js
Best for traditional tours:
npm install intro.js
Reference references/library-comparison.md for detailed analysis and selection criteria.
All onboarding components use the design-tokens skill for consistent theming:
Token categories used:
Supports light, dark, high-contrast, and custom brand themes.
Reference the design-tokens skill for complete theming documentation.
Track these indicators:
Iterate based on data:
To analyze onboarding metrics:
python scripts/analyze_onboarding_metrics.py
Reference references/measuring-success.md for complete analytics implementation.
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
Identify key moments:
Match mechanisms to moments:
Build incrementally:
Verify compliance:
Run validation:
node scripts/validate_accessibility.js
Track and improve:
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
scripts/generate_tour_config.js - Generate tour configurations from user flowsscripts/analyze_onboarding_metrics.py - Analyze completion and drop-off ratesscripts/validate_accessibility.js - Test keyboard and screen reader supportreferences/product-tours.md - Tour patterns, step design, navigationreferences/interactive-tutorials.md - Guided tasks and sandbox modesreferences/tooltips-hints.md - Contextual help and progressive hintsreferences/checklists.md - Progress tracking and gamificationreferences/help-systems.md - Help panels, videos, and documentationreferences/progressive-disclosure.md - Advanced patterns and feature unlockingreferences/timing-strategies.md - When and how to trigger guidancereferences/accessibility-patterns.md - WCAG compliance and ARIA patternsreferences/measuring-success.md - Analytics and optimizationreferences/library-comparison.md - Detailed library evaluationreferences/selection-framework.md - Decision trees for choosing mechanismsassets/celebration-animations/ - Success animations and confettiassets/tour-templates.json - Reusable tour configurationsassets/message-templates.json - Tooltip and hint copy templatesassets/timing-config.json - Recommended timing valuesThis skill works with other component skills:
Take ancoleman/guiding-users from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm.
Without those the skill loads but fails at the first command.