claude-os/docs/guides/SESSION_START_PROTOCOL.md
Bob Roberts a744080e65 feat: Add Skills Library and Session Insights (v2.3)
## Skills Library
- Browse and install 36+ community skills from Anthropic & Superpowers
- Local skill templates (Rails, React, testing)
- Create custom project-specific skills
- Beautiful UI with search and filtering
- /claude-os-skills command for CLI management

## Session Insights
- Parse Claude Code native .jsonl session files
- Extract patterns, decisions, blockers automatically
- Track tool usage and file changes
- Session summary generation for LLM processing

## Documentation
- Updated README with v2.3 features
- Updated API_REFERENCE with new endpoints
- Added SKILLS_GUIDE.md and SESSIONS_GUIDE.md
- Updated GitHub Pages (docs/index.html)
- Reorganized docs (internal_docs for private)

## Bug Fixes
- Fixed httpx client closure in community skill install
- Fixed frontend request format for skill install

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 12:56:49 -06:00

390 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Session Start Protocol
**What Claude Should Do AUTOMATICALLY When You Start ANY Conversation**
---
## 🎯 The Problem
When you start Claude Code CLI:
- You're in a specific project directory
- You may have been working on something
- There's context from previous sessions
- You have knowledge in Claude OS
**But Claude starts with ZERO context.**
---
## ✅ The Solution: Automatic Session Start
**Every time a conversation starts, Claude should:**
### Phase 1: Detect Project (5 seconds)
```bash
# Check for Claude OS project
pwd
ls -la | grep -E "(CLAUDE.md|.claude-os|agent-os)"
```
**If `.claude-os/config.json` exists:**
- ✅ This is a Claude OS project
- → Proceed with full session start
**If not:**
- ℹ️ Generic mode (no project context)
- → Offer to initialize with `/claude-os-init`
---
### Phase 2: Read Project State (10 seconds)
**Files to read:**
1. **`CLAUDE.md`** - Project overview (always loaded first)
2. **`.claude-os/config.json`** - Project configuration
3. **`claude-os-state.json`** - Session state (if exists)
4. **`agent-os/config.yml`** - Agent-OS config (if using specs)
**Example:**
```
Reading CLAUDE.md...
Reading .claude-os/config.json...
Reading claude-os-state.json...
✓ Project: Pistn
✓ MCPs: 4 configured
✓ Last session: Oct 29, 2025 (2 days ago)
✓ Agent-OS: Enabled (3 active specs)
```
---
### Phase 3: Check Git Context (5 seconds)
```bash
git branch --show-current
git status --short
git log -3 --oneline
git remote get-url origin
```
**Extract:**
- Current branch name
- Uncommitted changes count
- Recent commits
- Whether we're ahead/behind remote
**Example:**
```
Branch: feature/appointment-redesign
Status: 3 files modified, 1 untracked
Recent commits:
- abc1234 Add sidebar navigation
- def5678 Convert panels to cards
- ghi9012 Update appointment form layout
```
---
### Phase 4: Search Project Memories (15 seconds)
**Search query based on:**
- Last session task (from `claude-os-state.json`)
- Current branch name
- Recent commit messages
- `+recent` modifier
**Example query:**
```
"appointment dashboard redesign recent"
```
**Search:**
- `{project}-project_memories` knowledge base
- Return top 5 most relevant memories
- Show me titles and key insights
**Example:**
```
📚 Found 5 relevant memories:
1. Appointment Dashboard Redesign Plan (Oct 28)
→ 67-page implementation plan, 5 tabs documented
2. Current Dashboard Analysis (Oct 28)
→ All features catalogued, zero functionality loss
3. Bootstrap to Modern Cards Pattern (Oct 25)
→ Reusable conversion pattern
4. Sidebar Navigation Pattern (Oct 22)
→ localStorage persistence, responsive
5. Tekmetric Integration Notes (Oct 20)
→ Must preserve API sync on save
```
---
### Phase 5: Load Coding Standards (10 seconds)
**Search `{project}-project_profile`:**
- Query: "coding standards architecture conventions"
- Load key architectural decisions
- Load tech stack preferences
**Example:**
```
📋 Coding Standards:
• Service objects for business logic
• Decorator pattern with Draper
• Fragment caching with Redis
• Bootstrap 3.x styling (no Bootstrap 4/5)
• RSpec for testing
• Concerns for shared controller logic
```
---
### Phase 6: Check Kanban Board (5 seconds)
**If Agent-OS is enabled:**
```http
GET /api/projects/{id}/kanban
```
**Show:**
- Total specs
- Active specs (not completed/archived)
- Current tasks in progress
- Next tasks todo
**Example:**
```
📊 Kanban Board:
• 3 specs total (52 tasks)
• 1 spec in progress: Group Account Rendering (45% complete)
• 2 tasks in progress:
- PHASE2-TASK3: Implement concern methods
- PHASE2-TASK4: Add helper methods
• 29 tasks remaining
```
---
### Phase 7: Present Session Start Summary (Display to User)
**Format:**
```
═══════════════════════════════════════════════════════════════
🚀 WELCOME BACK!
═══════════════════════════════════════════════════════════════
📁 Project: Pistn (Ruby on Rails)
🌿 Branch: feature/appointment-redesign
📅 Last Session: 2 days ago (Oct 29, 2025)
⏱️ Duration: 2h 15m
═══════════════════════════════════════════════════════════════
📚 CONTEXT LOADED
═══════════════════════════════════════════════════════════════
✓ 5 relevant memories found
✓ Coding standards loaded
✓ 3 architectural patterns available
✓ Kanban board synced (45% complete)
🎯 LAST TASK: Redesign Appointment Dashboard
We completed:
✓ Sidebar navigation component
✓ Bootstrap panels → modern cards
✓ iOS-style toggle switches
Still working on:
⏳ Phase 2: Implement concern methods
⏳ Phase 2: Add helper methods
═══════════════════════════════════════════════════════════════
💡 KEY INSIGHTS
═══════════════════════════════════════════════════════════════
• 67-page implementation plan available
• Zero functionality loss requirement
• Tekmetric integration must be preserved
• Bootstrap 3.x only (no v4/v5)
═══════════════════════════════════════════════════════════════
🔄 AVAILABLE PATTERNS
═══════════════════════════════════════════════════════════════
• Sidebar navigation (from user-auth work)
• Card-based layouts (from reports redesign)
• Modern toggle switches (already in app)
• Service object pattern (business logic)
• Draper decorators (view logic)
═══════════════════════════════════════════════════════════════
⚠️ STATUS
═══════════════════════════════════════════════════════════════
Git Status:
• 3 files modified
• 1 file untracked
• ⚠️ Uncommitted changes (from last session)
Blockers:
• None! ✓
═══════════════════════════════════════════════════════════════
🎯 SUGGESTED NEXT STEPS
═══════════════════════════════════════════════════════════════
Option 1: Continue Phase 2 Implementation
→ Implement concern methods for PHASE2-TASK3
→ Should take ~30 minutes based on estimate
Option 2: Commit Previous Work
→ 3 files modified need to be committed
→ Clean git state before starting new work
Option 3: Start Something New
→ Tell me what you'd like to work on
═══════════════════════════════════════════════════════════════
What would you like to do?
```
---
## 🎛️ Configuration
**Auto-start can be configured in `.claude-os/config.json`:**
```json
{
"session_management": {
"auto_start": true,
"auto_search_memories": true,
"max_memories_to_load": 5,
"search_days_back": 14,
"show_git_status": true,
"show_kanban_status": true,
"proactive_suggestions": true
}
}
```
---
## 🚫 When NOT to Auto-Start
**Skip session start if:**
- User message starts with a direct question (e.g., "What is...")
- User is clearly asking for help/docs (e.g., "How do I...")
- User explicitly says "ignore context" or "fresh start"
- No `.claude-os/` directory exists
**In these cases:**
- Answer the question directly
- Offer to initialize Claude OS after answering
---
## 📊 Session Tracking During Conversation
**Throughout the session, Claude should:**
### Track Key Events
- When user starts implementing something
- When they hit a blocker
- When they discover a pattern
- When they make an architectural decision
- When they solve a complex problem
### Proactive Memory References
```
You: "I need to add caching to this endpoint"
Claude: "FYI, we have a memory about fragment caching with Redis
from the reports redesign. Want me to use that pattern?"
```
### Auto-Save Suggestions
```
You: "Finally got the Tekmetric sync working with the new structure!"
Claude: "That sounds like a high-value solution. Would you like me
to save this to project memories for future reference?"
```
---
## 💾 Session End Protocol
**When conversation ends (or user says "done"):**
### Option 1: User Runs `/claude-os-session end`
- Follow the detailed end protocol from claude-os-session.md
- Analyze work, suggest saves, update statistics
### Option 2: Conversation Ends Naturally
- Claude should still provide a brief summary:
```
═══════════════════════════════════════════════════════════════
📊 SESSION COMPLETE
═══════════════════════════════════════════════════════════════
Duration: ~45 minutes
Work: Implemented concern methods for PHASE2-TASK3
Quick saves available:
• Concern method pattern for group accounts
• Service object integration approach
Run /claude-os-session end for full summary and saves
Or just continue working next time - I'll remember!
═══════════════════════════════════════════════════════════════
```
---
## 🎯 The Goal
**Every session should feel like:**
- Claude already knows everything
- Claude remembers what we were doing
- Claude proactively brings up relevant context
- Claude suggests next steps based on history
- Zero context loss between sessions
**NOT like:**
- Starting from scratch
- Repeating ourselves
- Explaining the same architecture again
- Searching for what we did before
---
## 🔄 Implementation Checklist
For Claude to do this automatically:
- [ ] Check for `.claude-os/` directory at conversation start
- [ ] Read `CLAUDE.md` if present
- [ ] Read `.claude-os/config.json` if present
- [ ] Read `claude-os-state.json` if present
- [ ] Run git status and git log
- [ ] Search project_memories with intelligent query
- [ ] Load coding standards from project_profile
- [ ] Check Kanban board status (if Agent-OS enabled)
- [ ] Present comprehensive session start summary
- [ ] Track key events during session
- [ ] Provide session end summary
---
**This protocol ensures you NEVER start a conversation from zero context again!** 🚀