diff --git a/README.md b/README.md
index 54c67b2..c766382 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ Download it and try it out for free! **https://piebald.ai/**
# Claude Code System Prompts
-This repository contains an up-to-date list of all Claude Code's various system prompts and their associated token counts as of **[Claude Code v2.0.61](https://www.npmjs.com/package/@anthropic-ai/claude-code/v/2.0.61) (December 7th, 2025).** It also contains a [**CHANGELOG.md**](./CHANGELOG.md) for the system prompts across 42 versions since v2.0.14. From the team behind [
**Piebald.**](https://piebald.ai/)
+This repository contains an up-to-date list of all Claude Code's various system prompts and their associated token counts as of **[Claude Code v2.0.62](https://www.npmjs.com/package/@anthropic-ai/claude-code/v/2.0.62) (December 8th, 2025).** It also contains a [**CHANGELOG.md**](./CHANGELOG.md) for the system prompts across 43 versions since v2.0.14. From the team behind [
**Piebald.**](https://piebald.ai/)
Why multiple "system prompts?"
@@ -105,7 +105,7 @@ Misc large strings.
Parts of the main system prompt.
-- [**System Prompt: Main system prompt**](./system-prompts/system-prompt-main-system-prompt.md) (**2972** tks) - Core system prompt for Claude Code defining behavior, tone, and tool usage policies.
+- [**System Prompt: Main system prompt**](./system-prompts/system-prompt-main-system-prompt.md) (**3033** tks) - Core system prompt for Claude Code defining behavior, tone, and tool usage policies.
- [System Prompt: Learning mode (insights)](./system-prompts/system-prompt-learning-mode-insights.md) (**142** tks) - Instructions for providing educational insights when learning mode is active.
- [System Prompt: Learning mode](./system-prompts/system-prompt-learning-mode.md) (**1042** tks) - System Prompt: Main system prompt for learning mode with human collaboration instructions.
- [System Prompt: MCP CLI](./system-prompts/system-prompt-mcp-cli.md) (**1335** tks) - Instructions for using mcp-cli to interact with Model Context Protocol servers.
@@ -125,9 +125,10 @@ Text for large system reminders.
### Builtin Tool Descriptions
+- [Tool Description: AskUserQuestion](./system-prompts/tool-description-askuserquestion.md) (**137** tks) - Tool description for asking user questions..
- [Tool Description: Bash](./system-prompts/tool-description-bash.md) (**1074** tks) - Description for the Bash tool, which allows Claude to run shell commands.
- [Tool Description: Edit](./system-prompts/tool-description-edit.md) (**278** tks) - Tool description for performing exact string replacements in files.
-- [Tool Description: EnterPlanMode](./system-prompts/tool-description-enterplanmode.md) (**773** tks) - Description for the EnterPlanMode tool, which lets Claude enter plan mode proactively..
+- [Tool Description: EnterPlanMode](./system-prompts/tool-description-enterplanmode.md) (**970** tks) - Tool description for entering plan mode to explore and design implementation approaches.
- [Tool Description: ExitPlanMode v2](./system-prompts/tool-description-exitplanmode-v2.md) (**450** tks) - V2 description for the ExitPlanMode tool, which presents a plan dialog for the user to approve.
- [Tool Description: ExitPlanMode](./system-prompts/tool-description-exitplanmode.md) (**342** tks) - Description for the ExitPlanMode tool, which presents a plan dialog for the user to approve.
- [Tool Description: Glob](./system-prompts/tool-description-glob.md) (**122** tks) - Tool description for file pattern matching and searching by name.
@@ -135,12 +136,12 @@ Text for large system reminders.
- [Tool Description: LSP](./system-prompts/tool-description-lsp.md) (**172** tks) - Description for the LSP tool..
- [Tool Description: NotebookEdit](./system-prompts/tool-description-notebookedit.md) (**121** tks) - Tool description for editing Jupyter notebook cells.
- [Tool Description: ReadFile](./system-prompts/tool-description-readfile.md) (**439** tks) - Tool description for reading files.
-- [Tool Description: Skill](./system-prompts/tool-description-skill.md) (**279** tks) - Tool description for executing skills in the main conversation.
+- [Tool Description: Skill](./system-prompts/tool-description-skill.md) (**292** tks) - Tool description for executing skills in the main conversation.
- [Tool Description: SlashCommand](./system-prompts/tool-description-slashcommand.md) (**355** tks) - Tool description for executing slash commands.
- [Tool Description: TaskUpdate](./system-prompts/tool-description-taskupdate.md) (**555** tks) - Description for the TaskUpdate tool, which updates Claude's task list.
-- [Tool Description: Task](./system-prompts/tool-description-task.md) (**1146** tks) - Tool description for launching specialized sub-agents to handle complex tasks.
+- [Tool Description: Task](./system-prompts/tool-description-task.md) (**1193** tks) - Tool description for launching specialized sub-agents to handle complex tasks.
- [Tool Description: TodoWrite](./system-prompts/tool-description-todowrite.md) (**2167** tks) - Tool description for creating and managing task lists.
-- [Tool Description: WebFetch](./system-prompts/tool-description-webfetch.md) (**278** tks) - Tool description for web fetch functionality.
+- [Tool Description: WebFetch](./system-prompts/tool-description-webfetch.md) (**265** tks) - Tool description for web fetch functionality.
- [Tool Description: WebSearch](./system-prompts/tool-description-websearch.md) (**334** tks) - Tool description for web search functionality.
- [Tool Description: Write](./system-prompts/tool-description-write.md) (**159** tks) - Tool description creating/overwriting writing individual files.
diff --git a/system-prompts/system-prompt-main-system-prompt.md b/system-prompts/system-prompt-main-system-prompt.md
index 2a3185f..4b9bad5 100644
--- a/system-prompts/system-prompt-main-system-prompt.md
+++ b/system-prompts/system-prompt-main-system-prompt.md
@@ -1,7 +1,7 @@
+Use this tool when you need to ask the user questions during execution. This allows you to:
+1. Gather user preferences or requirements
+2. Clarify ambiguous instructions
+3. Get decisions on implementation choices as you work
+4. Offer choices to the user about what direction to take.
+
+Usage notes:
+- Users will always be able to select "Other" to provide custom text input
+- Use multiSelect: true to allow multiple answers to be selected for a question
+- If you recommend a specific option, make that the first option in the list and add "(Recommended)" at the end of the label
diff --git a/system-prompts/tool-description-enterplanmode.md b/system-prompts/tool-description-enterplanmode.md
index 302d9a5..476b92a 100644
--- a/system-prompts/tool-description-enterplanmode.md
+++ b/system-prompts/tool-description-enterplanmode.md
@@ -1,44 +1,51 @@
-Use this tool when you encounter a complex task that requires careful planning and exploration before implementation. This tool transitions you into plan mode where you can thoroughly explore the codebase and design an implementation approach.
+Use this tool proactively when you're about to start a non-trivial implementation task. Getting user sign-off on your approach before writing code prevents wasted effort and ensures alignment. This tool transitions you into plan mode where you can explore the codebase and design an implementation approach for user approval.
## When to Use This Tool
-Use EnterPlanMode when ANY of these conditions apply:
+**Prefer using EnterPlanMode** for implementation tasks unless they're simple. Use it when ANY of these conditions apply:
-1. **Multiple Valid Approaches**: The task can be solved in several different ways, each with trade-offs
+1. **New Feature Implementation**: Adding meaningful new functionality
+ - Example: "Add a logout button" - where should it go? What should happen on click?
+ - Example: "Add form validation" - what rules? What error messages?
+
+2. **Multiple Valid Approaches**: The task can be solved in several different ways
- Example: "Add caching to the API" - could use Redis, in-memory, file-based, etc.
- Example: "Improve performance" - many optimization strategies possible
-2. **Significant Architectural Decisions**: The task requires choosing between architectural patterns
+3. **Code Modifications**: Changes that affect existing behavior or structure
+ - Example: "Update the login flow" - what exactly should change?
+ - Example: "Refactor this component" - what's the target architecture?
+
+4. **Architectural Decisions**: The task requires choosing between patterns or technologies
- Example: "Add real-time updates" - WebSockets vs SSE vs polling
- Example: "Implement state management" - Redux vs Context vs custom solution
-3. **Large-Scale Changes**: The task touches many files or systems
+5. **Multi-File Changes**: The task will likely touch more than 2-3 files
- Example: "Refactor the authentication system"
- - Example: "Migrate from REST to GraphQL"
+ - Example: "Add a new API endpoint with tests"
-4. **Unclear Requirements**: You need to explore before understanding the full scope
+6. **Unclear Requirements**: You need to explore before understanding the full scope
- Example: "Make the app faster" - need to profile and identify bottlenecks
- Example: "Fix the bug in checkout" - need to investigate root cause
-5. **User Input Needed**: You'll need to ask clarifying questions before starting
- - If you would use ${ASK_USER_QUESTION_TOOL_NAME} to clarify the approach, consider EnterPlanMode instead
+7. **User Preferences Matter**: The implementation could reasonably go multiple ways
+ - If you would use ${ASK_USER_QUESTION_TOOL_NAME} to clarify the approach, use EnterPlanMode instead
- Plan mode lets you explore first, then present options with context
## When NOT to Use This Tool
-Do NOT use EnterPlanMode for:
-- Simple, straightforward tasks with obvious implementation
-- Small bug fixes where the solution is clear
-- Adding a single function or small feature
-- Tasks you're already confident how to implement
-- Research-only tasks (use the Task tool with explore agent instead)
+Only skip EnterPlanMode for simple tasks:
+- Single-line or few-line fixes (typos, obvious bugs, small tweaks)
+- Adding a single function with clear requirements
+- Tasks where the user has given very specific, detailed instructions
+- Pure research/exploration tasks (use the Task tool with explore agent instead)
## What Happens in Plan Mode
@@ -54,7 +61,7 @@ In plan mode, you'll:
### GOOD - Use EnterPlanMode:
User: "Add user authentication to the app"
-- This requires architectural decisions (session vs JWT, where to store tokens, middleware structure)
+- Requires architectural decisions (session vs JWT, where to store tokens, middleware structure)
User: "Optimize the database queries"
- Multiple approaches possible, need to profile first, significant impact
@@ -62,6 +69,12 @@ User: "Optimize the database queries"
User: "Implement dark mode"
- Architectural decision on theme system, affects many components
+User: "Add a delete button to the user profile"
+- Seems simple but involves: where to place it, confirmation dialog, API call, error handling, state updates
+
+User: "Update the error handling in the API"
+- Affects multiple files, user should approve the approach
+
### BAD - Don't use EnterPlanMode:
User: "Fix the typo in the README"
- Straightforward, no planning needed
@@ -75,6 +88,5 @@ User: "What files handle routing?"
## Important Notes
- This tool REQUIRES user approval - they must consent to entering plan mode
-- Be thoughtful about when to use it - unnecessary plan mode slows down simple tasks
-- If unsure whether to use it, err on the side of starting implementation
-- You can always ask the user "Would you like me to plan this out first?"
+- If unsure whether to use it, err on the side of planning - it's better to get alignment upfront than to redo work
+- Users appreciate being consulted before significant changes are made to their codebase
diff --git a/system-prompts/tool-description-skill.md b/system-prompts/tool-description-skill.md
index 1a62deb..23cf09b 100644
--- a/system-prompts/tool-description-skill.md
+++ b/system-prompts/tool-description-skill.md
@@ -1,7 +1,7 @@
- Fetches content from a specified URL and processes it using an AI model
@@ -12,7 +12,7 @@ ccVersion: 2.0.14
- Use this tool when you need to retrieve and analyze web content
Usage notes:
- - IMPORTANT: If an MCP-provided web fetch tool is available, prefer using that tool instead of this one, as it may have fewer restrictions. All MCP-provided tools start with "mcp__".
+ - IMPORTANT: If an MCP-provided web fetch tool is available, prefer using that tool instead of this one, as it may have fewer restrictions.
- The URL must be a fully-formed valid URL
- HTTP URLs will be automatically upgraded to HTTPS
- The prompt should describe what information you want to extract from the page