ops-nps-collector-in-chat

Category: General 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_accessautomation_control

name: ops-nps-collector-in-chat
description: Use when collecting Net Promoter Score (NPS) feedback within a legal AI chat session. Defines the trigger conditions (10th successful turn, major milestone, quarterly heartbeat), the in-chat survey flow (0–10 scale + open-ended follow-up), the output schema, and the downstream routing — detractors to the churn risk detector, promoters to the case-study asker.
license: MIT
metadata:
id: ops.NPS-collector-in-chat
category: ops
jurisdictions: [multi]
priority: P2
intent: [nps, ops, retention, satisfaction, feedback]
related: [ops-churn-risk-detector, ops-case-study-asker-after-n-messages, ops-feature-request-collector]
source: Louis — HAQQ Legal AI (github.com/sboghossian/mini-claude-for-legal)
version: "1.0"

Ops — NPS Collector In-Chat

Purpose

NPS collected passively (email surveys, post-session popups) has low response rates from legal professionals who are busy and suspicious of unsolicited outreach. Collecting NPS in-context — immediately after a successful interaction — yields higher response rates and more actionable follow-up because the user's experience is fresh.

Trigger conditions

The NPS prompt fires on one of the following triggers (whichever comes first, with appropriate cool-down):

Trigger Condition Cool-down
Engagement milestone User completes their 10th successful turn (substantive output delivered) 90 days before asking again
Product milestone User completes their first full contract draft, saves their first matter, or closes a matter 90 days
Quarterly heartbeat Last NPS collection was >90 days ago and user is still active 90 days

Never trigger during:

  • An active legal task (mid-drafting, mid-research)
  • A conversation that signals distress or urgency
  • Within 7 days of a failed turn, error, or support ticket

In-chat prompt

Surface the prompt as a non-blocking in-line message at the next natural break:

Quick question — on a scale of 0 to 10, how likely are you to recommend Louis to a colleague?

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
[Skip]

The scale must be displayed as tappable/clickable elements (not a text field where the user has to type a number). One tap should submit the score.

Follow-up questions

Based on the score, surface a single open-ended follow-up:

Score Classification Follow-up prompt
9–10 Promoter "Glad to hear it! What's been most useful to you?"
7–8 Passive "What would make Louis even better for you?"
0–6 Detractor "We're sorry to hear that. What's not working well? (We read every response.)"

The follow-up is optional — make it clearly skippable. One-sentence or keyword answers are fine; do not ask for paragraphs.

Output schema

{
  "userId": "<anonymized>",
  "tenantId": "<UUID>",
  "score": <0-10>,
  "classification": "promoter | passive | detractor",
  "comment": "<string or null>",
  "context": {
    "trigger": "milestone | heartbeat | engagement",
    "sessionId": "<UUID>",
    "lastActionBefore": "<event name>"
  },
  "collectedAt": "<ISO timestamp>"
}

Downstream routing

Classification Action
Promoter (9–10) After 30 days, trigger [[ops-case-study-asker-after-n-messages]] if tenure + turn thresholds are also met.
Passive (7–8) Log for product team review. Surface the comment in the weekly NPS digest.
Detractor (0–6) Immediately recompute the churn risk score via [[ops-churn-risk-detector]]. If the detractor score pushes risk >70, trigger CSM outreach.

For all scores, the comment (if provided) is logged in the feature request system if it describes a missing capability, or in the bug tracker if it describes a malfunction.

Aggregate analysis

Weekly NPS digest (posted to #product-ops Slack):

  • Rolling 7-day NPS score (calculated as % promoters − % detractors)
  • Trend vs prior 7 days and prior 30 days
  • Top themes from comments (keyword clustering)
  • Detractor comments reviewed individually by the product lead

Privacy

  • NPS scores and comments are stored at the user/tenant level.
  • Comments may contain sensitive context ("I was handling a client's divorce matter and it got the law wrong"). Treat these as confidential product feedback, not shareable marketing data.
  • Users who opt out of feedback collection are excluded from all NPS triggers.
  • [[ops-churn-risk-detector]] — receives the detractor signal and computes churn risk
  • [[ops-case-study-asker-after-n-messages]] — receives the promoter signal for testimonial collection
  • [[ops-feature-request-collector]] — comments from passives and detractors often describe missing features