onboarding-empty-state-prompts

Category: Documents Risk: Medium risk ★ 3.9 · Rating 3.9/5 (8) sboghossian/mini-claude-for-legal MIT

Rating is derived from the repo's GitHub stars and shown for reference.

network_access

name: onboarding-empty-state-prompts
description: Use when a user encounters an empty state in a legal AI assistant — a screen with no prior content, no chats, no documents, no projects — and the system must provide an actionable, persona-appropriate prompt rather than a dead end. Covers the specific prompt language, CTA patterns, and personalization signals for every major empty-state screen. Eliminates "no data" dead-ends and converts them into the user's next productive action.
license: MIT
metadata:
id: onboarding.empty-state-prompts
category: onboarding
priority: P0
intent: [onboarding, empty-state, prompts, UX, engagement, retention]
related: [onboarding-first-prompt-suggestion-by-persona, onboarding-persona-detection-questions, onboarding-b2c-vs-b2b-fork, onboarding-feature-discovery-tour]
source: Louis — HAQQ Legal AI (github.com/sboghossian/mini-claude-for-legal)
version: "1.0"

Onboarding — Empty-State Prompts

When this applies

An empty state is any screen or section in the product that has no user-generated content yet: no chats, no documents, no projects, no recent activity. Empty states are high-risk UX moments — a user who sees a blank screen with no guidance will drop off. This skill converts every empty state into an invitation to take the next productive action.

Empty states fall into two types:

  1. First-time empty: the user has never used this area of the product
  2. Return-visit empty: the user has used the product but has no recent activity in this area (cleared history, new device, returning after a long absence)

Both types need actionable prompts. The second type benefits from additional context awareness ("Welcome back…").


Behavior — The Empty-State Pattern

Every empty state must follow this pattern:

  1. Acknowledge the state briefly (optional — skip if the UI design makes the empty state self-explanatory)
  2. Provide a specific, actionable next step — not a vague "get started" directive
  3. Make the action easy — clickable chips, pre-filled example prompts, or direct CTAs
  4. Never leave the user with nothing to do

Empty states should never be negative or apologetic ("No data found", "Nothing here yet"). They should be forward-looking and inviting.


Prompt by Screen

/home (no recent chats)

Default prompt:

"Let's start. Draft an NDA, review a contract, or ask a legal question — Louis is ready."

Clickable chips:

  • "Draft an NDA"
  • "Review a contract"
  • "Ask about my rights"
  • "Help me start a business"

Returning user variant:

"Welcome back. Pick up where you left off — or start something new."

/assistant (new chat, blank composer)

Surface persona-appropriate starter prompts from [[onboarding-first-prompt-suggestion-by-persona]].

For consumer (louis-twin) persona:

  • "I got a contract to sign — can you explain it?"
  • "I want to know my rights as a tenant in [jurisdiction]"
  • "Help me start a freelance business — what do I need?"

For lawyer persona:

  • "Review this MSA from a vendor-side perspective"
  • "Draft a mutual NDA for a joint venture under UAE law"
  • "Compare non-compete enforceability in LB, KSA, and UAE"

/projects (no projects)

Default prompt:

"Create a project to organise documents and chats by matter. Keep everything related to a client or transaction in one place."

CTA button: "New Project"

Example project names to show as clickable: "Vendor Agreement — Q2", "Employment Dispute", "Company Formation LB"

/doc-workspace (no documents in current project)

Default prompt:

"Upload a contract or legal document — Louis will analyse it, flag key issues, and explain every clause."

CTAs:

  • "Upload document"
  • "Use the demo contract (Acme MSA)"
  • "Paste contract text"

Sub-prompt (lawyer fork):

"Or generate a first draft — specify the document type, parties, jurisdiction, and key commercial terms."

/drafting-board (empty board, no matters)

Default prompt:

"Start a new matter and Louis will map out a multi-step legal workflow — research, drafting, review, and delivery."

CTA: "New matter"

Example matter types to show: "NDA negotiation", "Employment contract review", "Corporate restructuring"

/skills (no recent skills or route tests)

Default prompt:

"Louis routes every request to specialised skills. Use the route-tester to see which skill handles any message — and explore the full library."

CTA: "Open route-tester"

Second CTA: "Browse skills library"


Personalization Layers

Persona-aware

  • The specific prompt chips and CTA text adapt to the user's persona (B2C vs B2B, and sub-role within B2B)
  • Persona is read from [[onboarding-persona-detection-questions]] output
  • If persona is unknown (first visit, no quiz), use the consumer-default prompts for /home and /assistant

Time-of-day-aware

Time window Tone adjustment
Morning (6am–11am) "Start your day with…" / "Ready to get ahead of today's work?"
Afternoon (11am–5pm) Neutral; task-focused
Evening (5pm–10pm) "Wrapping up the day?" / "Quick review before you close?"
Late night (10pm+) Neutral; no social-pressure urgency language

Recency-aware (returning user)

  • If the user has prior chats or projects: "Welcome back. Continue with [last matter name]?" with a clickable link
  • If the user has been inactive > 7 days: "It's been a while — here's what Louis can help with today." + fresh prompt chips
  • Do not use guilting language ("You haven't used Louis in 14 days") — use inviting language only

Jurisdiction-aware

Where jurisdiction is known from the user profile or prior prompts:

  • Localise the example chips: "Know your rights in [UAE / Lebanon / KSA]" rather than generic "[jurisdiction]"
  • Surface jurisdiction-relevant templates in document-workspace empty states

Anti-Patterns to Avoid

Anti-pattern Replace with
"No data found" "Create your first [project / document / chat] here"
"Nothing here yet" A specific invitation to create something
"Get started!" (no next step) A concrete, clickable action
Locking the empty state behind a tutorial Always give the user something to do now
Pure decorative empty state (illustration only, no text) Add at least one actionable CTA

  • [[onboarding-first-prompt-suggestion-by-persona]]
  • [[onboarding-persona-detection-questions]]
  • [[onboarding-b2c-vs-b2b-fork]]
  • [[onboarding-feature-discovery-tour]]
  • [[messaging-surface-rule-in-app-non-lawyer-fork]]
  • [[messaging-surface-rule-in-app-lawyer-fork]]