# Conversation Lifecycle This diagram shows how different prompts are used throughout a Claude Code session, from start to finish. ```mermaid sequenceDiagram autonumber participant User participant CC as Claude Code participant Main as Main Agent participant Tools as Tools participant SubAgent as Sub-agents participant Utility as Utility Agents Note over CC: Session Start rect rgb(225, 245, 254) Note over Main: System Prompt Assembly CC->>Main: Load Main System Prompt CC->>Main: Inject Tool Descriptions CC->>Main: Add Conditional Sections
(Git Status, Learning Mode, etc.) end User->>CC: Initial message CC->>Main: Process request rect rgb(232, 245, 233) Note over Main,Tools: Work Phase loop Task Execution Main->>Tools: Use tools (Read, Write, Bash, etc.) Tools-->>Main: Results alt Complex task Main->>SubAgent: Delegate via Task tool Note over SubAgent: Agent-specific prompt loaded SubAgent-->>Main: Results end end end rect rgb(255, 243, 224) Note over Utility: Context Management alt Context grows large CC->>Utility: Trigger Summarization Note over Utility: Conversation Summarization prompt Utility-->>CC: Compressed context end end User->>CC: Follow-up messages Note over Main: Continue with context rect rgb(252, 228, 236) Note over Utility: Session End CC->>Utility: Generate session title Note over Utility: Session Title & Branch prompt Utility-->>CC: Title and branch name end ``` ## Lifecycle Phases ### 1. Session Initialization When a Claude Code session starts, the system prompt is assembled from multiple pieces: ```mermaid flowchart LR subgraph Assembly["System Prompt Assembly"] direction TB Base["Main System Prompt"] Tools["Tool Descriptions"] Cond["Conditional Sections"] Base --> Final["Complete System Prompt"] Tools --> Final Cond --> Final end click Base href "../system-prompts/system-prompt-main-system-prompt.md" "Main System Prompt" ``` **Key Prompts:** - [Main System Prompt](../system-prompts/system-prompt-main-system-prompt.md) - Core behavior and policies - [Git Status](../system-prompts/system-prompt-git-status.md) - Repository state (if in git repo) - [Learning Mode](../system-prompts/system-prompt-learning-mode.md) - Educational mode (if enabled) - [Scratchpad Directory](../system-prompts/system-prompt-scratchpad-directory.md) - Temp file location (if configured) ### 2. Work Phase During active work, the main agent uses tools and may delegate to sub-agents: | Action | Prompts Used | |--------|-------------| | Direct tool use | Individual [tool descriptions](./3-tool-ecosystem.md) | | Codebase exploration | [Explore Agent](../system-prompts/agent-prompt-explore.md) via Task | | Planning | [Plan Agent](../system-prompts/agent-prompt-plan-mode-enhanced.md) via Task | | Task management | [TodoWrite](../system-prompts/tool-description-todowrite.md) | ### 3. Context Management As conversation grows, summarization preserves important context: ```mermaid flowchart LR Long["Long Conversation"] --> Trigger{"Context
too large?"} Trigger -->|Yes| Summary["Summarization Agent"] Summary --> Compact["Compacted Context"] Compact --> Continue["Continue Session"] Trigger -->|No| Continue click Summary href "../system-prompts/agent-prompt-conversation-summarization.md" "Summarization" ``` **Key Prompts:** - [Conversation Summarization](../system-prompts/agent-prompt-conversation-summarization.md) - Standard summarization - [Summarization with Additional Instructions](../system-prompts/agent-prompt-conversation-summarization-with-additional-instructions.md) - Custom summarization rules ### 4. Session End When a session concludes, utility agents generate metadata: **Key Prompts:** - [Session Title & Branch Generation](../system-prompts/agent-prompt-session-title-and-branch-generation.md) - Creates descriptive title and git branch name - [Session Notes Template](../system-prompts/agent-prompt-session-notes-template.md) - Structure for session notes - [Session Notes Update](../system-prompts/agent-prompt-session-notes-update-instructions.md) - How to update notes during session ## Prompt Injection Points | Phase | Injection Point | Prompt Type | |-------|----------------|-------------| | Start | System message | Main + conditionals | | Tool call | Tool schema | Tool descriptions | | Sub-agent spawn | New context | Agent prompts | | Context compact | Background | Summarization prompt | | Plan mode | System reminder | Plan mode reminders | | Session end | Background | Title/branch generation |