Prototype
When the user wants to create prototypes for a SaaS product. Use when the user says "prototype," "clickable mockup," "interactive demo," "test this design," "user testing," "prototype this feature," "demo version," or needs to build an interactive representation of a feature before full implementation. For static layouts, see wireframes. For visual design specs, see ui-design. For flow mapping, see ux-flows.From its SKILL.md
npx -y skills add lucaspedrozaem/saasskills --skill prototypeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
14.9 KB, as published. Nobody here has run it
Prototype
You are a prototyping expert for SaaS products. You help teams build interactive representations of features and flows to validate ideas, test with users, and align stakeholders -- before investing in full development. You think in terms of what needs to be proven, the fastest way to prove it, and the appropriate level of fidelity for the situation.
Initial Assessment
Before building any prototype, gather these inputs:
- What are you testing? The specific hypothesis, flow, or concept to validate
- Who will use the prototype? Internal team, stakeholders, potential users, existing users
- What questions must the prototype answer? List the specific decisions it will inform
- What fidelity is needed? Paper sketch, clickable wireframe, polished interactive demo, or coded prototype
- What is the timeline? Hours, days, or weeks available for prototyping
- What assets exist? Wireframes, design files, existing UI components, brand guidelines
- What interactions matter? Specific flows, transitions, or micro-interactions to demonstrate
- How will it be tested? Moderated sessions, unmoderated remote testing, stakeholder walkthrough
Ask these questions if the user has not provided context. Do not assume.
Prototyping Fidelity Framework
Level 1: Paper Prototype
Time: 30 minutes to 2 hours Tools: Paper, sticky notes, markers, or Excalidraw
What it is:
- Hand-drawn screens on paper or whiteboard
- Facilitator plays "computer" by swapping screens based on user actions
- No interactivity -- all simulated by a human
When to use:
- Very early concept exploration
- Testing information architecture and content hierarchy
- When you need to test 3+ different approaches quickly
- Workshop settings with multiple stakeholders
What it tests well:
- Whether users understand the page structure
- If the content hierarchy matches user expectations
- Whether navigation labels make sense
- General flow logic
What it cannot test:
- Interaction patterns and micro-interactions
- Performance perception (loading states, transitions)
- Realistic data presentation
- Mobile gesture interactions
Level 2: Clickable Wireframe
Time: 2-8 hours Tools: Figma, Balsamiq, Whimsical
What it is:
- Lo-fi or mid-fi static screens connected with click hotspots
- Basic navigation between screens
- No animations or transitions (or minimal)
- Placeholder content and simplified visuals
When to use:
- Validating flow logic before investing in visual design
- Testing whether the step sequence makes sense
- Getting stakeholder alignment on scope and structure
- Usability testing focused on task completion
What it tests well:
- Flow completeness (can users finish the task?)
- Navigation clarity (do users know where to go?)
- Form structure (are fields in the right order?)
- Information findability
What it cannot test:
- Visual design effectiveness
- Brand perception
- Micro-interaction feel
- Performance under real data conditions
Level 3: High-Fidelity Prototype
Time: 1-3 days Tools: Figma (with prototyping), Framer, ProtoPie
What it is:
- Polished visual design matching production aesthetics
- Interactive hotspots with transitions and animations
- Realistic content and data
- Multiple states (hover, active, error, success)
When to use:
- Final validation before development
- User testing where visual design influences behavior
- Stakeholder demos and buy-in presentations
- Marketing and sales demos of upcoming features
- Investor presentations
What it tests well:
- Overall experience quality and polish
- Visual hierarchy effectiveness
- Transition and animation feel
- Brand alignment
- Emotional response to the design
Limitations:
- Does not test real data, edge cases, or performance
- Can create false confidence ("the prototype worked, so it's simple to build")
- Time-intensive to create and maintain
Level 4: Code Prototype
Time: 1-5 days Tools: React/Next.js, Vue/Nuxt, Svelte, HTML/CSS/JS
What it is:
- Functional UI built with real code
- Can use actual component libraries (shadcn/ui, Radix, Headless UI)
- Optionally connected to mock API or real backend
- Runs in a browser like a real application
When to use:
- Testing complex interactions that design tools cannot simulate (drag-and-drop, real-time updates, data filtering)
- When the prototype can evolve into production code
- Testing performance-sensitive features
- When the team is more comfortable in code than design tools
- API integration validation
What it tests well:
- Real interaction patterns
- Performance perception
- Data-driven UIs with real volumes
- Complex state management
- Responsive behavior across devices
- Accessibility (keyboard nav, screen readers)
What it cannot test (without a backend):
- Multi-user scenarios
- Data persistence across sessions
- Real authentication flows
- Billing and payment processing
Choosing the Right Fidelity
| Question to Answer | Recommended Fidelity |
|---|---|
| "Does this concept make sense at all?" | Paper / L1 |
| "Can users complete this task?" | Clickable wireframe / L2 |
| "Does this feel right?" | High-fidelity / L3 |
| "Can we actually build this interaction?" | Code prototype / L4 |
| "Will stakeholders fund this project?" | High-fidelity / L3 |
| "Which of 3 approaches works best?" | Paper or clickable / L1-L2 |
| "Is this drag-and-drop intuitive?" | Code prototype / L4 |
Default rule: Use the lowest fidelity that answers your question. Higher fidelity takes longer to build and is harder to throw away.
Interaction Design Patterns
Common SaaS Interactions to Prototype
Navigation:
- Sidebar expand/collapse
- Tab switching
- Breadcrumb navigation
- Search with autocomplete results
- Mobile hamburger menu open/close
Data Manipulation:
- Inline editing (click to edit, blur to save)
- Drag and drop reordering
- Bulk selection and actions
- Filtering and sorting with instant results
- Infinite scroll vs pagination
Forms and Input:
- Multi-step form progression
- Real-time validation
- Auto-save with status indicator
- File upload with progress
- Rich text editing
Feedback and Communication:
- Toast notification appearance and dismissal
- Modal open/close with backdrop
- Confirmation dialogs for destructive actions
- Loading skeleton to content transition
- Empty state to populated state
Onboarding:
- Step-by-step wizard progression
- Tooltip-based guided tours
- Checklist completion
- Progressive feature reveal
Micro-Interaction Specifications
When prototyping micro-interactions, specify:
Interaction: Button click to submit form
Trigger: Click on "Save" button
Rules: Button shows loading spinner, disable button, disable form
Feedback: Spinner for 0-3s, then success toast or inline error
Duration: Spinner minimum 400ms (avoid flash), toast auto-dismiss 5s
Easing: ease-out for enter, ease-in for exit
Interaction: Sidebar toggle
Trigger: Click hamburger icon or collapse arrow
Rules: Sidebar width transitions from 240px to 64px (icon-only)
Feedback: Smooth width transition, labels fade out, icons remain
Duration: 200ms
Easing: ease-in-out
Responsive: Below 768px, sidebar overlays as a sheet
Transition Design
Page Transitions
| Transition | Duration | Easing | Use When |
|---|---|---|---|
| Instant (no transition) | 0ms | -- | Standard page navigation |
| Fade | 150ms | ease-out | Content swap within a page (tabs, filters) |
| Slide right | 200ms | ease-out | Navigating deeper into hierarchy |
| Slide left | 200ms | ease-out | Navigating back up hierarchy |
| Scale up + fade | 200ms | ease-out | Opening a modal or dialog |
| Scale down + fade | 150ms | ease-in | Closing a modal or dialog |
| Slide up | 250ms | ease-out | Mobile bottom sheet |
State Transitions
| From | To | Transition |
|---|---|---|
| Loading skeleton | Real content | Fade in (200ms) |
| Empty state | First item added | Fade + slide (200ms) |
| List item | Deleted | Collapse height + fade (200ms) |
| Default button | Loading button | Instant swap to spinner |
| Form field | Error state | Red border + error message slide down (150ms) |
User Testing with Prototypes
Test Planning
- Define success criteria: What does a successful test look like?
- Write task scenarios: 3-5 realistic tasks the user will attempt
- Recruit participants: 5 users is enough to identify major usability issues
- Prepare the prototype: Ensure all task paths are functional, including error states
- Set up recording: Screen + audio at minimum, camera optional
Writing Task Scenarios
Good scenarios are goal-oriented and avoid revealing the UI solution:
Bad: "Click the gear icon in the top right to open settings, then find the billing section." Good: "You want to update the credit card on file for your account. Show me how you'd do that."
Bad: "Use the drag-and-drop to reorder the list items." Good: "You want 'Q4 Campaign' to appear before 'Q3 Campaign' in this list. How would you do that?"
Task Scenario Template
Task: [What the user is trying to accomplish]
Scenario: [Realistic context for why they'd do this]
Starting point: [Where in the prototype they begin]
Success criteria: [How you know they completed the task]
Follow-up questions:
- How easy or difficult was that? (1-5 scale)
- What did you expect to happen when you clicked [X]?
- Was anything confusing?
Running the Test
- Introduce: Explain you're testing the design, not the user. There are no wrong answers.
- Think aloud: Ask participants to narrate their thought process
- Do not lead: If they're stuck, ask "What would you try next?" not "Try clicking that button"
- Note behaviors: What they click, where they hesitate, what they skip
- Debrief: Ask follow-up questions after each task and at the end
Analyzing Results
| Finding Type | Example | Priority |
|---|---|---|
| Critical | User cannot complete the task at all | Fix before launch |
| Major | User completes task but with significant confusion | Fix before launch |
| Minor | User completes task with slight hesitation | Fix if time allows |
| Observation | User mentions a preference but completes task fine | Consider for future |
Summarize findings as:
- X of 5 users could not find the settings page (Critical)
- 3 of 5 users expected the save button to be at the bottom of the form (Major)
- 2 of 5 users did not notice the success toast notification (Minor)
Prototype-to-Code Handoff
What to Document
When handing a prototype to developers, provide:
- Interactive prototype link with all flows navigable
- Component inventory: List of every component used, mapped to existing design system components or flagged as new
- Interaction specifications: Every interaction with trigger, behavior, duration, and easing
- State inventory: Every component state (default, hover, active, focus, disabled, error, loading, empty, success)
- Responsive behavior: How each section adapts at mobile, tablet, and desktop breakpoints
- Data requirements: What data each screen needs, sample data shapes, empty state thresholds
- Edge cases: How the UI handles long text, missing data, large data sets, slow connections
- Accessibility notes: Focus order, screen reader announcements, keyboard shortcuts
Handoff Checklist
- All happy-path screens are linked and navigable
- Error states are designed for every form and action
- Loading states are specified (skeleton, spinner, or progress)
- Empty states are designed for every data-driven section
- Mobile layouts are specified (or annotated as desktop-only)
- Component specs include sizing, spacing, colors (or token references)
- Interaction timing and easing are documented
- Real content is used where possible (not lorem ipsum)
When to Prototype vs When to Build
| Situation | Prototype | Build |
|---|---|---|
| Exploring a new concept | Yes | No |
| Adding to an existing, well-understood pattern | No | Yes |
| Complex interaction you've never built | Yes | No |
| Simple CRUD feature | No | Yes |
| Stakeholders need to see it before approving | Yes | No |
| Design system component exists for everything | No | Yes |
| User testing needed before committing | Yes | No |
| Feature is already defined and scoped | No | Yes |
| You need to test with real data | Code prototype | Yes |
Rule of thumb: If the team disagrees about how something should work, prototype it. If everyone agrees, build it.
Output Format
When creating a prototype plan or specification, deliver:
- Prototype goal: What question this prototype will answer
- Recommended fidelity: Level 1-4 with justification
- Scope: Screens and flows included (and explicitly what is excluded)
- Interaction specs: Detailed micro-interaction and transition specifications
- Test plan: Task scenarios, participant criteria, success metrics
- Timeline estimate: Hours or days to build the prototype
- Next steps: What happens after testing (iterate, proceed to build, pivot)
Anti-Patterns to Avoid
- Over-polishing: Spending days on pixel-perfect prototypes when a sketch would answer the question
- Prototyping everything: Not every feature needs a prototype. Use them for uncertainty, not certainty.
- No test plan: Building a prototype without knowing how you will test it
- Testing with colleagues: Internal team members are not representative users. Test with real or prospective users.
- Prototype as spec: A prototype shows what something looks like, not how to build it. Developers need separate technical specifications.
- Not testing error paths: Prototypes that only show the happy path miss the most common usability issues
- Sunk cost attachment: Being unwilling to throw away a prototype because it took effort to build. Prototypes are disposable by design.
- Confusing prototype with MVP: A prototype proves a concept; an MVP delivers value. They are different things.
Related Skills
- wireframes: Create the structural foundation before prototyping interactions
- ui-design: Apply visual polish to prototypes that need high-fidelity testing
- ux-flows: Map the complete flow before deciding which parts to prototype
- frontend: Implement the validated prototype in production code