← Back to Kontasks
Session Briefing v2 Phase 4 - Implementation Plan
Implementation plan for onboarding mode with welcome flow and AI connection wizard
Output
🌟 Session Briefing v2 - Phase 4: Onboarding
📋 Implementation Plan
Phase 4 adds a welcome flow for new users - the "grand beginning" that makes first contact with the AI workspace feel polished and intentional.
🔍 Detection Logic
A user is considered "new" when:
- No kontask history - Zero kontasks for this user
- No session briefing saved - Empty localStorage
- Fresh session - No pending/completed work
File: session-briefing.ts → buildBriefingCard()
🎨 Welcome Flow UI
┌────────────────────────────────────────────┐ │ 🌟 Welcome to GreatVibe │ │ ━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ Your AI-powered development workspace. │ │ │ │ Quick start: │ │ 1. Ask Claude anything in console below │ │ 2. Decisions appear as kontasks (tap) │ │ 3. Work continues in the background │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 💬 Start │ │ 📖 Docs │ │ ⚙ Setup │ │ │ └──────────┘ └──────────┘ └──────────┘ │ └────────────────────────────────────────────┘
🔧 Files to Modify
| File | Changes |
|---|---|
session-briefing.ts |
Add buildOnboardingCard() function, update buildBriefingCard() to detect new user state |
session-context.ts |
Add isNewUser flag to context response |
router.ts |
Add kontask count check for user in session-context API |
✨ Onboarding Actions
| Button | Action |
|---|---|
| 💬 Start Chatting | Auto-submit "Hello! I'm new here - give me a quick tour of what you can help with." |
| 📖 Read Docs | Link to CLAUDE.md or docs page |
| ⚙ Setup AI | Future: Open AI connection wizard modal |
⚠️ Scope Decision
The AI connection wizard (API key configuration) is complex:
- Requires secure storage for API keys
- Multiple AI providers (Claude, GPT, Gemini)
- Connection testing UI
Recommendation: Implement welcome flow first (simpler), defer wizard to separate Phase 4b.
What's Next?
Choose an approach:
Quick Actions
Original Request
No layout configured
Details
Type
General
Status
Completed
Scope
vibetools
Tags
kontasksuionboarding
Created
4 Jan 2026, 3:51 pm
Updated
4 Jan 2026, 3:51 pm
Timing
⏱️ 91.6s
12 tools
● TTFE 4%
● Thinking 41%
● Tools 55%
Created By
claude
Raw Data
{
"id": "90a6b32e-0565-4997-a610-e2c69507fc27",
"type": "general",
"status": "completed",
"title": "Session Briefing v2 Phase 4 - Implementation Plan",
"description": "Implementation plan for onboarding mode with welcome flow and AI connection wizard",
"context": {
"output": "<div style=\"background:#1e1e1e;color:#e0e0e0;padding:20px;border-radius:8px;font-family:sans-serif;\">\n<h2 style=\"color:#fff;margin:0 0 16px 0;\">🌟 Session Briefing v2 - Phase 4: Onboarding</h2>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"margin:0 0 12px 0;color:#98c379;\">📋 Implementation Plan</h3>\n<p style=\"color:#9ca3af;margin:0 0 16px 0;\">Phase 4 adds a welcome flow for new users - the \"grand beginning\" that makes first contact with the AI workspace feel polished and intentional.</p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"margin:0 0 12px 0;color:#61afef;\">🔍 Detection Logic</h3>\n<p style=\"color:#e0e0e0;margin:0 0 12px 0;\">A user is considered \"new\" when:</p>\n<ul style=\"color:#e0e0e0;margin:0;padding-left:20px;line-height:1.8;\">\n<li><strong>No kontask history</strong> - Zero kontasks for this user</li>\n<li><strong>No session briefing saved</strong> - Empty localStorage</li>\n<li><strong>Fresh session</strong> - No pending/completed work</li>\n</ul>\n<p style=\"color:#7f848e;margin:12px 0 0 0;font-size:0.9rem;\">File: <code style=\"background:#374151;padding:2px 6px;border-radius:3px;\">session-briefing.ts</code> → <code>buildBriefingCard()</code></p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"margin:0 0 12px 0;color:#c678dd;\">🎨 Welcome Flow UI</h3>\n<pre style=\"background:#1a1a2e;padding:12px;border-radius:6px;color:#e0e0e0;font-size:0.85rem;overflow-x:auto;\">\n┌────────────────────────────────────────────┐\n│ 🌟 Welcome to GreatVibe │\n│ ━━━━━━━━━━━━━━━━━━━━━━━━ │\n│ │\n│ Your AI-powered development workspace. │\n│ │\n│ Quick start: │\n│ 1. Ask Claude anything in console below │\n│ 2. Decisions appear as kontasks (tap) │\n│ 3. Work continues in the background │\n│ │\n│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │\n│ │ 💬 Start │ │ 📖 Docs │ │ ⚙ Setup │ │\n│ └──────────┘ └──────────┘ └──────────┘ │\n└────────────────────────────────────────────┘\n</pre>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"margin:0 0 12px 0;color:#f59e0b;\">🔧 Files to Modify</h3>\n<table style=\"width:100%;color:#e0e0e0;border-collapse:collapse;font-size:0.9rem;\">\n<tr style=\"border-bottom:1px solid #444;\">\n<th style=\"text-align:left;padding:8px;color:#fff;\">File</th>\n<th style=\"text-align:left;padding:8px;color:#fff;\">Changes</th>\n</tr>\n<tr style=\"border-bottom:1px solid #333;\">\n<td style=\"padding:8px;\"><code>session-briefing.ts</code></td>\n<td style=\"padding:8px;\">Add <code>buildOnboardingCard()</code> function, update <code>buildBriefingCard()</code> to detect new user state</td>\n</tr>\n<tr style=\"border-bottom:1px solid #333;\">\n<td style=\"padding:8px;\"><code>session-context.ts</code></td>\n<td style=\"padding:8px;\">Add <code>isNewUser</code> flag to context response</td>\n</tr>\n<tr>\n<td style=\"padding:8px;\"><code>router.ts</code></td>\n<td style=\"padding:8px;\">Add kontask count check for user in session-context API</td>\n</tr>\n</table>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"margin:0 0 12px 0;color:#22c55e;\">✨ Onboarding Actions</h3>\n<table style=\"width:100%;color:#e0e0e0;border-collapse:collapse;font-size:0.9rem;\">\n<tr style=\"border-bottom:1px solid #444;\">\n<th style=\"text-align:left;padding:8px;color:#fff;\">Button</th>\n<th style=\"text-align:left;padding:8px;color:#fff;\">Action</th>\n</tr>\n<tr style=\"border-bottom:1px solid #333;\">\n<td style=\"padding:8px;\">💬 Start Chatting</td>\n<td style=\"padding:8px;\">Auto-submit \"Hello! I'm new here - give me a quick tour of what you can help with.\"</td>\n</tr>\n<tr style=\"border-bottom:1px solid #333;\">\n<td style=\"padding:8px;\">📖 Read Docs</td>\n<td style=\"padding:8px;\">Link to CLAUDE.md or docs page</td>\n</tr>\n<tr>\n<td style=\"padding:8px;\">⚙ Setup AI</td>\n<td style=\"padding:8px;\">Future: Open AI connection wizard modal</td>\n</tr>\n</table>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;margin-bottom:16px;\">\n<h3 style=\"margin:0 0 12px 0;color:#ef4444;\">⚠️ Scope Decision</h3>\n<p style=\"color:#e0e0e0;margin:0 0 12px 0;\">The AI connection wizard (API key configuration) is complex:</p>\n<ul style=\"color:#9ca3af;margin:0;padding-left:20px;line-height:1.8;font-size:0.9rem;\">\n<li>Requires secure storage for API keys</li>\n<li>Multiple AI providers (Claude, GPT, Gemini)</li>\n<li>Connection testing UI</li>\n</ul>\n<p style=\"color:#f59e0b;margin:12px 0 0 0;\"><strong>Recommendation:</strong> Implement welcome flow first (simpler), defer wizard to separate Phase 4b.</p>\n</div>\n\n<div style=\"background:#2d2d2d;padding:16px;border-radius:6px;\">\n<h4 style=\"margin:0 0 8px 0;color:#fff;\">What's Next?</h4>\n<p style=\"color:#9ca3af;margin:0;\">Choose an approach:</p>\n</div>\n</div>",
"requestedAt": "2026-01-04T05:46:30.000Z",
"requestId": "21599338-f1a6-4ba6-bcd2-324f90421881",
"choices": [
{
"label": "Start implementation",
"value": "Start implementing Session Briefing v2 Phase 4 - welcome flow only. Focus on detection logic and onboarding card UI, deferring the AI connection wizard to a separate phase.",
"primary": true
},
{
"label": "Full Phase 4 with wizard",
"value": "Implement the full Phase 4 including the AI connection wizard modal - more complex but complete feature"
},
{
"label": "Review detection logic first",
"value": "Show me the exact detection logic code before implementing - I want to review how we determine if a user is new"
}
],
"turnTiming": {
"totalMs": 91557,
"ttfeMs": 3219,
"thinkingMs": 37792,
"toolExecutionMs": 50544,
"toolCallCount": 12,
"thinkingPct": 41,
"toolsPct": 55,
"ttfePct": 4
}
},
"createdBy": "claude",
"createdAt": "2026-01-04T05:51:24.565Z",
"updatedAt": "2026-01-04T05:51:30.153Z",
"requestId": "21599338-f1a6-4ba6-bcd2-324f90421881",
"scope": "vibetools",
"tags": [
"kontasks",
"ui",
"onboarding"
],
"targetUser": "claude"
}