AgentStack
SKILL verified MIT Self-run

Onboarding Flows

skill-param087-saas-ui-skills-onboarding-flows · by param087

Use when building onboarding — multi-step wizards, setup checklists, progressive disclosure, and first-run empty states. Covers step state, progress indication, skip/resume, and getting users to first value fast.

No reviews yet
0 installs
3 views
0.0% view→install

Install

$ agentstack add skill-param087-saas-ui-skills-onboarding-flows

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Onboarding Flows? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Onboarding Flows

Overview

Onboarding's only job is time to first value — get the user to the "aha" moment with the least friction. Two workhorse patterns: a stepper wizard for required setup, and a checklist for optional-but-guided tasks. Always allow skip/resume; never trap users behind a wall of forms.

When to use

  • First-run setup after signup (workspace, profile, invite team).
  • A guided checklist on an otherwise empty dashboard.
  • Any multi-step task that benefits from chunking.

Stepper wizard

Keep step state explicit and show progress so users know how much is left:

const steps = ["Workspace", "Invite team", "Connect data"] as const;
const [step, setStep] = React.useState(0);
const progress = ((step + 1) / steps.length) * 100;

  
    
      Step {step + 1} of {steps.length}
      {steps[step]}
    
    
  

  {step === 0 &&  setStep(1)} />}
  {step === 1 &&  setStep(2)} onBack={() => setStep(0)} />}
  {step === 2 &&  setStep(1)} />}

  
     setStep((s) => Math.max(0, s - 1))} disabled={step === 0}>Back
    Skip for now
  

Persist progress server-side (or in the URL) so a refresh or return visit resumes where they left off.

Setup checklist (progressive)

Great on an empty dashboard — shows value and a clear path, dismissible once done:


  Get started
    {done}/{total} complete
    
  
  
    {tasks.map((t) => (
      
        
        {t.label}
        {!t.done && }
      
    ))}
  

Principles

  • Progressive disclosure. Ask for the minimum now; defer the rest to settings.
  • Show progress. A Progress bar or "Step x of n" reduces drop-off.
  • Always skippable. Forced onboarding inflates churn; let users explore.
  • Prefill smart defaults. Don't ask what you can infer (timezone, name from email).
  • Celebrate completion. A success state + a clear next action.

Pitfalls

  • Too many required steps before any value — cut to the essentials.
  • No skip/resume — refresh loses progress and frustrates.
  • Progress not persisted — returning users restart from zero.
  • A 12-field form labeled "Quick setup."
  • Dead end at the end — always point to the next meaningful action.

Hand-off

First-run guidance built from forms-and-validation steps and empty-and-loading-states; completion lands users in dashboard-layout.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.