skills/sobriety-app-design/SKILL.md
Expert in designing AI-powered sobriety and recovery applications with trauma-informed UX. Covers sobriety counters, milestone celebrations, daily check-in flows, mood/craving tracking, meeting finders, sponsor communication, emergency crisis buttons, and ethical gamification. Activate on 'recovery app design', 'sobriety app UX', 'sobriety counter design', 'recovery app features', 'craving tracker UI', 'meeting finder UX', 'crisis button design', 'recovery milestones', 'sober app wireframe', 'trauma-informed app design'. NOT for clinical treatment protocols (use modern-drug-rehab-computer), active crisis intervention (call 988), or general mobile UX without recovery context (use mobile-ux-optimizer).
npx skillsauth add curiositech/windags-skills sobriety-app-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Design AI-powered sobriety and recovery applications that feel safe, non-judgmental, and empowering. This skill covers the specific UX patterns, features, and design philosophy that make recovery apps genuinely useful rather than clinical, preachy, or abandoned after three days.
Use for:
Do NOT use for:
modern-drug-rehab-computermobile-ux-optimizerrecovery-app-onboardingMost wellness apps lose 77% of daily active users within three days. Only 4% of mental health app users are still active after 15 days. Recovery apps must break this pattern because disengagement is not merely "churn" -- it can mean someone lost a lifeline.
WELLNESS APP FAILURE MODES RECOVERY APP RESPONSE
─────────────────────────────────── ───────────────────────────────────
Burdensome onboarding Value before signup (meeting finder
works without an account)
Hidden costs / upsells Crisis features are ALWAYS free.
Never paywall the safety plan.
Generic content Personalized to substance, program,
and stage of recovery
Guilt-based re-engagement "We're here when you're ready"
("You missed 3 days!") not "You broke your streak!"
Engagement metrics over outcomes Measure sobriety milestones,
crisis calls made, meetings found
The "Success Paradox" -- users Recovery is lifelong. The app
quit when they feel better evolves WITH the user's stage.
Recovery apps succeed when they become part of the person's recovery infrastructure -- as essential as their sponsor's number, their home group, and their therapist. That means the app must be useful in crisis, meaningful in stability, and invisible when not needed.
SAMHSA defines six principles of trauma-informed care. Every screen, interaction, and notification in a recovery app must honor them:
The counter is the heartbeat of most recovery apps. Design it carefully.
┌──────────────────────────────────────────────────────┐
│ │
│ ┌────────────────────┐ │
│ │ 127 days │ │
│ │ 3 hours 42 min │ │
│ └────────────────────┘ │
│ │
│ ┌─────────┐ ┌─────────┐ ┌──────────┐ │
│ │ $3,810 │ │ 1,524 │ │ 2,032 │ │
│ │ saved │ │ hours │ │ calories │ │
│ └─────────┘ └─────────┘ └──────────┘ │
│ │
│ Next milestone: 6 months (53 days away) │
│ ████████████████████████░░░░░░░░░ 71% │
│ │
└──────────────────────────────────────────────────────┘
Design Rules:
The check-in is the app's primary engagement loop. It must be completable in under 60 seconds.
┌──────────────────────────────────────────────────────┐
│ Good morning. How are you today? │
│ │
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ Hard │ │ Meh │ │ Okay │ │ Good │ │Great │ │
│ │ 1 │ │ 2 │ │ 3 │ │ 4 │ │ 5 │ │
│ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │
│ │
│ Any cravings? ○ None ○ Mild ○ Strong │
│ │
│ HALT check: │
│ ☐ Hungry ☐ Angry ☐ Lonely ☐ Tired │
│ │
│ [ Add a note (optional) _____________________ ] │
│ │
│ [ Submit Check-In ] │
│ │
│ ─── or just tap your mood and go ─── │
│ │
└──────────────────────────────────────────────────────┘
Design Rules:
┌──────────────────────────────────────────────────────┐
│ YOUR WEEK │
│ │
│ Mon Tue Wed Thu Fri Sat Sun │
│ 4 3 3 2 4 5 4 ← mood │
│ 0 1 0 2 0 0 0 ← cravings │
│ │
│ ┌──────────────────────────────────┐ │
│ │ Pattern detected: │ │
│ │ Cravings tend to spike on days │ │
│ │ when your mood drops below 3. │ │
│ │ Thursday you were also Lonely. │ │
│ │ │ │
│ │ Consider: reaching out to │ │
│ │ someone before cravings build. │ │
│ └──────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────┘
Design Rules:
┌──────────────────────────────────────────────────────┐
│ Find a Meeting │
│ │
│ ┌──────────────────────────────────┐ │
│ │ 📍 Near me │ 🔤 By ZIP code │ │
│ └──────────────────────────────────┘ │
│ │
│ Programs: [AA] [NA] [SMART] [All] │
│ Format: [In-Person] [Online] [Hybrid] │
│ Time: [Now] [Today] [This Week] │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ Serenity Group 0.3 mi │ │
│ │ AA Open Discussion 7:00 PM │ │
│ │ First Baptist Church │ │
│ │ [ Directions ] [ Save ] │ │
│ ├──────────────────────────────────────┤ │
│ │ Recovery Dharma Online NOW │ │
│ │ Meditation Meeting Zoom │ │
│ │ [ Join ] [ Save ] │ │
│ └──────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────┘
Design Rules:
Non-negotiable: crisis resources must be reachable from every screen in two taps or fewer.
┌──────────────────────────────────────────────────────┐
│ │
│ ┌──────────────────────────────────────┐ │
│ │ NEED HELP RIGHT NOW? │ │
│ │ │ │
│ │ [ Call 988 ] │ │
│ │ Suicide & Crisis Lifeline │ │
│ │ │ │
│ │ [ Call 1-800-662-4357 ] │ │
│ │ SAMHSA National Helpline (free) │ │
│ │ │ │
│ │ [ Text HOME to 741741 ] │ │
│ │ Crisis Text Line │ │
│ │ │ │
│ │ [ Call My Sponsor ] │ │
│ │ [sponsor name if saved] │ │
│ │ │ │
│ │ [ My Safety Plan ] │ │
│ │ │ │
│ └──────────────────────────────────────┘ │
│ │
│ You are not alone. Help is available now. │
│ │
└──────────────────────────────────────────────────────┘
Design Rules:
Gamification in recovery apps must motivate without manipulating. People in recovery are often hyper-aware of manipulation after years of their own addiction lying to them.
DO:
DO NOT:
┌──────────────────────────────────────────────────────┐
│ My Support Network │
│ │
│ ┌───────────────────────────┐ │
│ │ Sponsor: Mike R. │ │
│ │ [ Call ] [ Text ] │ │
│ │ Last check-in: Yesterday │ │
│ └───────────────────────────┘ │
│ │
│ ┌───────────────────────────┐ │
│ │ Accountability: Sarah T. │ │
│ │ [ Call ] [ Text ] │ │
│ │ Shared: Daily check-ins │ │
│ └───────────────────────────┘ │
│ │
│ [ + Add Support Person ] │
│ │
│ ── Quick SOS ── │
│ Send a pre-written message to your support │
│ network with one tap: "I need to talk." │
│ │
└──────────────────────────────────────────────────────┘
Design Rules:
Primary: #2D6A6A (teal -- calm, trustworthy)
Secondary: #7B9E6B (sage green -- growth, renewal)
Accent: #D4A76A (warm gold -- milestone celebrations)
Background: #FAF8F5 (warm off-white -- gentle, not clinical)
Text: #2C2C2C (soft black -- readable without harshness)
Crisis: #C75450 (muted red -- urgent but not alarming)
Pattern: Designing the app like a medical portal with sterile language and hospital aesthetics. Problem: Users feel pathologized, not supported. "Patient" language triggers shame. Fix: Warm, peer-voiced tone. "How are you feeling?" not "Rate your symptoms."
Pattern: App lectures users about the dangers of substance use. Problem: Every person in recovery already knows. Lecturing is condescending and drives disengagement. Fix: Assume the user is competent and courageous. Provide tools, not sermons.
Pattern: Notifications that shame non-engagement ("You haven't logged in for 3 days!"). Problem: Shame is the number one relapse trigger. Guilt-based re-engagement is dangerous. Fix: Warm re-engagement: "No pressure. We're here when you need us." Or simply say nothing.
Pattern: Collecting detailed substance use history, mental health data, and location without clear need. Problem: People in recovery are (rightly) protective of their privacy. Data breaches in this domain are catastrophic. Fix: Collect minimum viable data. Process locally when possible. Encrypt everything. Let users delete everything with one action.
Pattern: Adding meditation, fitness tracking, meal planning, sleep tracking, and CBT exercises into one app. Problem: Overwhelming. Recovery is already exhausting. A 47-feature app feels like another obligation. Fix: Do 3-4 things exceptionally well. Meeting finder, check-ins, crisis access, sobriety counter. That is a complete app.
Pattern: Supporting "all pathways" in marketing but designing exclusively around 12-step language and concepts. Problem: Alienates SMART Recovery, Recovery Dharma, secular, medication-assisted, and harm reduction users. Fix: Program-agnostic core with opt-in pathway customization. Test with diverse recovery communities.
Design Philosophy: A recovery app earns its place on someone's phone by being genuinely useful in the hardest moments of their life. Every design decision should be tested against one question: "Would this help someone at 2 AM who is considering using?" If the answer is not a clear yes, reconsider whether it belongs.
tools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.