seb1n/user flow mapping
Visualize and map user flows with Mermaid diagrams, decision points, error states, and conversion metrics to optimize user journeys.
npx skills add https://github.com/seb1n/awesome-ai-agent-skills --skill User Flow Mapping
This skill enables the agent to create detailed user flow diagrams that map every step, decision point, error state, and success path a user encounters while completing a task in a product. The agent produces three types of flows — task flows (single path, no decisions), user flows (multiple paths with decision branches), and wire flows (flows annotated with screen wireframes) — using Mermaid diagram syntax for portability. Each flow includes annotations for conversion metrics, drop-off risk points, and optimization opportunities.
graph TD diagram using consistent node shapes: rounded rectangles () for pages/screens, diamonds {} for decisions, rectangles [] for actions, and double-circles (()) for start/end states. Use descriptive labels and color annotations via style directives to highlight error paths in red and success paths in green.Provide the agent with the user goal, the product context (web app, mobile app, or cross-platform), and any known screens or steps. Optionally include analytics data (drop-off rates, conversion percentages) for the agent to annotate onto the diagram. The agent will produce a Mermaid diagram with annotations.
User Request: "Map the complete checkout flow for our e-commerce site. Users can be logged in or guests. We support credit card and PayPal."
Agent Response:
graph TD
START(("Start: Cart Page")) --> REVIEW["Review Cart Items"]
REVIEW --> EMPTY{Cart empty?}
EMPTY -- Yes --> BROWSE["Redirect to Shop Page"]
EMPTY -- No --> AUTH{User logged in?}
AUTH -- Yes --> SHIPPING["Enter Shipping Address"]
AUTH -- No --> CHOICE{Guest or Sign In?}
CHOICE -- Sign In --> LOGIN["Login Page"]
LOGIN --> LOGIN_OK{Login successful?}
LOGIN_OK -- Yes --> SHIPPING
LOGIN_OK -- No --> LOGIN_ERR["Show Error, Retry"]
LOGIN_ERR --> LOGIN
CHOICE -- Guest --> GUEST_EMAIL["Enter Email Address"]
GUEST_EMAIL --> SHIPPING
SHIPPING --> VALIDATE_ADDR{Address valid?}
VALIDATE_ADDR -- No --> ADDR_ERR["Show Validation Errors"]
ADDR_ERR --> SHIPPING
VALIDATE_ADDR -- Yes --> DELIVERY["Select Delivery Method"]
DELIVERY --> PAYMENT{Payment method?}
PAYMENT -- Credit Card --> CC["Enter Card Details"]
CC --> CC_VALID{Card valid?}
CC_VALID -- No --> CC_ERR["Show Card Error"]
CC_ERR --> CC
CC_VALID -- Yes --> PROCESS
PAYMENT -- PayPal --> PP["Redirect to PayPal"]
PP --> PP_OK{PayPal authorized?}
PP_OK -- No --> PP_ERR["PayPal Cancelled"]
PP_ERR --> PAYMENT
PP_OK -- Yes --> PROCESS
PROCESS["Process Payment"] --> SUCCESS{Payment successful?}
SUCCESS -- Yes --> CONFIRM["Order Confirmation Page"]
CONFIRM --> END(("End: Order Complete"))
SUCCESS -- No --> DECLINE["Show Decline Message"]
DECLINE --> PAYMENT
style BROWSE fill:#fef3c7,stroke:#f59e0b
style LOGIN_ERR fill:#fee2e2,stroke:#ef4444
style ADDR_ERR fill:#fee2e2,stroke:#ef4444
style CC_ERR fill:#fee2e2,stroke:#ef4444
style PP_ERR fill:#fee2e2,stroke:#ef4444
style DECLINE fill:#fee2e2,stroke:#ef4444
style CONFIRM fill:#d1fae5,stroke:#10b981
style END fill:#d1fae5,stroke:#10b981
Metric annotations:
User Request: "Map the onboarding flow for our project management tool. New users sign up, verify email, choose a plan, create their first project, and invite team members."
Agent Response:
graph TD
START(("Entry: Landing Page")) --> SIGNUP["Sign Up Form"]
SIGNUP --> VALIDATE{Form valid?}
VALIDATE -- No --> FORM_ERR["Show Validation Errors"]
FORM_ERR --> SIGNUP
VALIDATE -- Yes --> EMAIL_SENT["Verification Email Sent"]
EMAIL_SENT --> VERIFIED{Email verified?}
VERIFIED -- No, 24h+ --> RESEND["Resend Verification"]
RESEND --> VERIFIED
VERIFIED -- Yes --> PLAN{Choose Plan}
PLAN -- Free --> FREE["Free Plan Selected"]
PLAN -- Pro --> BILLING["Enter Billing Info"]
BILLING --> BILLING_OK{Payment valid?}
BILLING_OK -- No --> BILL_ERR["Show Billing Error"]
BILL_ERR --> BILLING
BILLING_OK -- Yes --> PRO["Pro Plan Activated"]
FREE --> PROFILE["Complete Profile"]
PRO --> PROFILE
PROFILE --> CREATE["Create First Project"]
CREATE --> INVITE{Invite team members?}
INVITE -- Yes --> TEAM["Enter Team Emails"]
TEAM --> INVITES_SENT["Invitations Sent"]
INVITES_SENT --> DASHBOARD
INVITE -- Skip --> DASHBOARD["Dashboard - Onboarding Complete"]
DASHBOARD --> END(("End: Active User"))
style FORM_ERR fill:#fee2e2,stroke:#ef4444
style BILL_ERR fill:#fee2e2,stroke:#ef4444
style RESEND fill:#fef3c7,stroke:#f59e0b
style DASHBOARD fill:#d1fae5,stroke:#10b981
style END fill:#d1fae5,stroke:#10b981
Metric annotations and optimization notes:
Take seb1n/user flow mapping 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.