You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Transform onboarding from a data-collection exercise into a goals-driven conversation that deeply personalizes Gary — shaping IDENTITY.md, SOUL.md, prompt selection, and priority weighting based on what the user actually needs help with. The current onboarding asks who you are; this asks what you need and adapts everything accordingly.
Why This Matters
Every Gary deployment is different:
A founder needs email triage + calendar prep + investor research
Slack/messaging synthesis — keeping up with channels without reading everything
Research — staying informed on topics, competitors, industry
Task/project tracking — keeping commitments visible, following up
Personal organization — family calendar, personal email, life admin
Writing/drafting — emails, docs, announcements
Other: ___
Q2: "How would you describe your work style?" (pick one)
Fast-paced, give me bullets and action items only
Thorough — I want context and reasoning
Casual — talk to me like a friend who happens to be organized
Professional — clean, structured, no personality needed
Q3: "What's your biggest recurring frustration?" (free form)
This surfaces the pain point that Gary should prioritize solving
Q4: "Is this primarily for work, personal life, or both?"
Work only
Personal only
Both — but work is primary
Both — roughly equal
Q5: "What tools/surfaces do you check most?" (rank or select top 3)
Email, Slack, Calendar, GitHub, Linear/Jira, Notion, Discord, other
Q6: (If "personal" selected) "What personal things should Gary help with?"
Family calendar coordination
Personal email management
Research / learning
Health / fitness tracking
Finance / bills
Travel planning
Other: ___
Phase 2: Identity Generation
Based on answers, Claude generates a customized IDENTITY.md:
# IDENTITY.md — Who Am I?-**Name:** Gary (or user's chosen name)
-**Role:** Personal productivity assistant (work-focused)
-**Vibe:** Direct and action-oriented ← derived from Q2
-**Primary focus:** Email triage, meeting prep ← derived from Q1
-**Secondary focus:** Slack synthesis ← derived from Q1
-**Pain point:** "I miss important emails because they're buried in noise" ← from Q3
-**Human:**[name from existing onboarding]
Phase 3: Soul Generation
SOUL.md gets generated from a personality questionnaire:
Q7: "When Gary gives you information, do you prefer:"
Just the answer, no explanation
Answer + brief reasoning
Full context so I can make my own call
Q8: "Should Gary proactively suggest things, or only respond when asked?"
Be proactive — surface things I might miss
Mostly reactive — I'll ask when I need something
Proactive for urgent things only
Q9: "How should Gary handle uncertainty?"
Flag it clearly and let me decide
Make a best guess and note the uncertainty
Ask me before proceeding
Q10: "Pick the vibe that feels right:"
Sharp coworker who knows everything
Calm executive assistant
Enthusiastic teammate
No personality — just the data
These answers generate a personalized SOUL.md with the right tone, proactivity level, and communication style.
Phase 4: Prompt Adaptation
Based on Q1/Q4/Q5 answers, adjust prompt behavior:
User Need
Prompt Impact
Email-heavy
Briefing leads with email triage, expands email section
Slack-heavy
Briefing leads with Slack digest, more channel coverage
Personal mode
Skip work-oriented language, add personal calendar/email sections
## User Profile
Read `config/user-profile.json` to understand what this user cares about most.
Adjust section ordering and depth based on their priorities.
AskUserQuestion Usage
Use AskUserQuestion tool throughout — it supports:
Multiple choice (select one)
Free-form text
Can be called sequentially for a conversational flow
For "select all that apply" — present as numbered list, ask user to type numbers (e.g., "1, 3, 5") or use multiple sequential single-select questions.
Verification
Onboarding asks goals/needs questions before data source setup
IDENTITY.md is generated from answers (not template defaults)
SOUL.md is generated from personality questions
config/user-profile.json is written with parsed preferences
At least one prompt (morning-briefing) reads user-profile.json and adapts
Import path works for at least one source (Claude Desktop memory)
User can re-run personalization without losing data source connections
Automation Hints
scope: CLAUDE.md (onboarding section), IDENTITY.md, SOUL.md, config/user-profile.json (new), prompts/morning-briefing.md
do-not-touch: SETUP.md, prompts/shared/, data source connectors
approach: extend-onboarding-flow
risk: medium (touches core onboarding UX — test with a fresh clone)
max-files-changed: 8
blocked-by: none (can build independently of #2 onboarding redesign, but should integrate with it)
bail-if: AskUserQuestion tool unavailable or onboarding redesign conflicts
Priority
Medium-High — this is a differentiator. Generic AI assistants are everywhere; one that adapts to your workflow is the value prop.
Summary
Transform onboarding from a data-collection exercise into a goals-driven conversation that deeply personalizes Gary — shaping IDENTITY.md, SOUL.md, prompt selection, and priority weighting based on what the user actually needs help with. The current onboarding asks who you are; this asks what you need and adapts everything accordingly.
Why This Matters
Every Gary deployment is different:
Right now, everyone gets the same prompts, the same SOUL.md, the same briefing format. Personalization makes Gary feel yours instead of generic.
Proposed Flow
Phase 1: Goals & Needs Assessment
Use
AskUserQuestionwith a mix of multiple-choice (select all that apply) and free-form questions:Q1: "What do you most need help with?" (select all that apply)
Q2: "How would you describe your work style?" (pick one)
Q3: "What's your biggest recurring frustration?" (free form)
Q4: "Is this primarily for work, personal life, or both?"
Q5: "What tools/surfaces do you check most?" (rank or select top 3)
Q6: (If "personal" selected) "What personal things should Gary help with?"
Phase 2: Identity Generation
Based on answers, Claude generates a customized IDENTITY.md:
Phase 3: Soul Generation
SOUL.md gets generated from a personality questionnaire:
Q7: "When Gary gives you information, do you prefer:"
Q8: "Should Gary proactively suggest things, or only respond when asked?"
Q9: "How should Gary handle uncertainty?"
Q10: "Pick the vibe that feels right:"
These answers generate a personalized SOUL.md with the right tone, proactivity level, and communication style.
Phase 4: Prompt Adaptation
Based on Q1/Q4/Q5 answers, adjust prompt behavior:
Implementation options:
<!-- IF email_priority == high -->)config/user-profile.jsonthat prompts read at runtime to adjust behaviorRecommend Option C — single config file, prompts check it, easy to update later without re-onboarding.
Phase 5: Import Existing Identity
Support bringing identity from other AI tools:
"Do you already have an AI assistant identity or memory you'd like to import?"
~/.claude/for memory/identity files)If importing: parse the content, extract relevant personality/preference signals, merge into IDENTITY.md and SOUL.md rather than overwriting.
Technical Implementation
Config File:
config/user-profile.json{ "priorities": ["email", "calendar", "slack"], "mode": "work_primary", "style": "direct_action", "proactivity": "proactive_urgent", "uncertainty_handling": "flag_and_decide", "vibe": "sharp_coworker", "pain_point": "Missing important emails in noise", "personal_areas": [], "imported_from": null }Prompt Integration
Prompts read user-profile.json at runtime:
AskUserQuestion Usage
Use
AskUserQuestiontool throughout — it supports:For "select all that apply" — present as numbered list, ask user to type numbers (e.g., "1, 3, 5") or use multiple sequential single-select questions.
Verification
config/user-profile.jsonis written with parsed preferencesAutomation Hints
scope:
CLAUDE.md(onboarding section),IDENTITY.md,SOUL.md,config/user-profile.json(new),prompts/morning-briefing.mddo-not-touch:
SETUP.md,prompts/shared/, data source connectorsapproach: extend-onboarding-flow
risk: medium (touches core onboarding UX — test with a fresh clone)
max-files-changed: 8
blocked-by: none (can build independently of #2 onboarding redesign, but should integrate with it)
bail-if: AskUserQuestion tool unavailable or onboarding redesign conflicts
Priority
Medium-High — this is a differentiator. Generic AI assistants are everywhere; one that adapts to your workflow is the value prop.