Add system reminders (#8)

This commit is contained in:
Mike 2026-01-23 10:16:33 -07:00 committed by GitHub
parent d64d58c069
commit 223ea3239b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 358 additions and 3 deletions

View File

@ -139,16 +139,49 @@ Parts of the main system prompt.
Text for large system reminders. Text for large system reminders.
> [!NOTE] - [System Reminder: Agent mention](./system-prompts/system-reminder-agent-mention.md) (**45** tks) - Notification that user wants to invoke an agent.
> Note that we're planning to add a **system reminder creator/editor** to [tweakcc](https://github.com/Piebald-AI/tweakcc); :+1: [this issue](https://github.com/Piebald-AI/tweakcc/issues/113) if you're interested in that idea. - [System Reminder: Compact file reference](./system-prompts/system-reminder-compact-file-reference.md) (**57** tks) - Reference to file read before conversation summarization.
- [System Reminder: Delegate mode prompt](./system-prompts/system-reminder-delegate-mode-prompt.md) (**185** tks) - System reminder for delegate mode. - [System Reminder: Delegate mode prompt](./system-prompts/system-reminder-delegate-mode-prompt.md) (**185** tks) - System reminder for delegate mode.
- [System Reminder: Exited delegate mode](./system-prompts/system-reminder-exited-delegate-mode.md) (**50** tks) - Notification when exiting delegate mode in swarm.
- [System Reminder: Exited plan mode](./system-prompts/system-reminder-exited-plan-mode.md) (**73** tks) - Notification when exiting plan mode.
- [System Reminder: File exists but empty](./system-prompts/system-reminder-file-exists-but-empty.md) (**27** tks) - Warning when reading an empty file.
- [System Reminder: File modified by user or linter](./system-prompts/system-reminder-file-modified-by-user-or-linter.md) (**97** tks) - Notification that a file was modified externally.
- [System Reminder: File opened in IDE](./system-prompts/system-reminder-file-opened-in-ide.md) (**37** tks) - Notification that user opened a file in IDE.
- [System Reminder: File shorter than offset](./system-prompts/system-reminder-file-shorter-than-offset.md) (**59** tks) - Warning when file read offset exceeds file length.
- [System Reminder: File truncated](./system-prompts/system-reminder-file-truncated.md) (**74** tks) - Notification that file was truncated due to size.
- [System Reminder: Hook additional context](./system-prompts/system-reminder-hook-additional-context.md) (**35** tks) - Additional context from a hook.
- [System Reminder: Hook blocking error](./system-prompts/system-reminder-hook-blocking-error.md) (**52** tks) - Error from a blocking hook command.
- [System Reminder: Hook stopped continuation](./system-prompts/system-reminder-hook-stopped-continuation.md) (**30** tks) - Message when a hook stops continuation.
- [System Reminder: Hook success](./system-prompts/system-reminder-hook-success.md) (**29** tks) - Success message from a hook.
- [System Reminder: Invoked skills](./system-prompts/system-reminder-invoked-skills.md) (**33** tks) - List of skills invoked in this session.
- [System Reminder: Lines selected in IDE](./system-prompts/system-reminder-lines-selected-in-ide.md) (**66** tks) - Notification about lines selected by user in IDE.
- [System Reminder: MCP resource no content](./system-prompts/system-reminder-mcp-resource-no-content.md) (**41** tks) - Shown when MCP resource has no content.
- [System Reminder: MCP resource no displayable content](./system-prompts/system-reminder-mcp-resource-no-displayable-content.md) (**43** tks) - Shown when MCP resource has no displayable content.
- [System Reminder: Malware analysis after Read tool call](./system-prompts/system-reminder-malware-analysis-after-read-tool-call.md) (**87** tks) - Instructions for analyzing malware without improving or augmenting it.
- [System Reminder: Memory file contents](./system-prompts/system-reminder-memory-file-contents.md) (**38** tks) - Contents of a memory file by path.
- [System Reminder: Nested memory contents](./system-prompts/system-reminder-nested-memory-contents.md) (**33** tks) - Contents of a nested memory file.
- [System Reminder: New diagnostics detected](./system-prompts/system-reminder-new-diagnostics-detected.md) (**35** tks) - Notification about new diagnostic issues.
- [System Reminder: Output style active](./system-prompts/system-reminder-output-style-active.md) (**32** tks) - Notification that an output style is active.
- [System Reminder: Output token limit exceeded](./system-prompts/system-reminder-output-token-limit-exceeded.md) (**35** tks) - Warning when response exceeds output token limit.
- [System Reminder: Plan file reference](./system-prompts/system-reminder-plan-file-reference.md) (**62** tks) - Reference to an existing plan file.
- [System Reminder: Plan mode is active (5-phase)](./system-prompts/system-reminder-plan-mode-is-active-5-phase.md) (**1348** tks) - Enhanced plan mode system reminder with parallel exploration and multi-agent planning. - [System Reminder: Plan mode is active (5-phase)](./system-prompts/system-reminder-plan-mode-is-active-5-phase.md) (**1348** tks) - Enhanced plan mode system reminder with parallel exploration and multi-agent planning.
- [System Reminder: Plan mode is active (iterative)](./system-prompts/system-reminder-plan-mode-is-active-iterative.md) (**854** tks) - Iterative plan mode system reminder for main agent with user interviewing workflow. - [System Reminder: Plan mode is active (iterative)](./system-prompts/system-reminder-plan-mode-is-active-iterative.md) (**854** tks) - Iterative plan mode system reminder for main agent with user interviewing workflow.
- [System Reminder: Plan mode is active (subagent)](./system-prompts/system-reminder-plan-mode-is-active-subagent.md) (**310** tks) - Simplified plan mode system reminder for sub agents. - [System Reminder: Plan mode is active (subagent)](./system-prompts/system-reminder-plan-mode-is-active-subagent.md) (**310** tks) - Simplified plan mode system reminder for sub agents.
- [System Reminder: Plan mode re-entry](./system-prompts/system-reminder-plan-mode-re-entry.md) (**236** tks) - System reminder sent when the user enters Plan mode after having previously exited it either via shift+tab or by approving Claude's plan.. - [System Reminder: Plan mode re-entry](./system-prompts/system-reminder-plan-mode-re-entry.md) (**236** tks) - System reminder sent when the user enters Plan mode after having previously exited it either via shift+tab or by approving Claude's plan..
- [System Reminder: Queued command (prompt)](./system-prompts/system-reminder-queued-command-prompt.md) (**35** tks) - Queued user message to address (prompt variant).
- [System Reminder: Queued command](./system-prompts/system-reminder-queued-command.md) (**31** tks) - Queued user message to address.
- [System Reminder: Session continuation](./system-prompts/system-reminder-session-continuation.md) (**37** tks) - Notification that session continues from another machine.
- [System Reminder: Session memory](./system-prompts/system-reminder-session-memory.md) (**105** tks) - Past session summaries that may be relevant.
- [System Reminder: Task status](./system-prompts/system-reminder-task-status.md) (**18** tks) - Task status with TaskOutput tool reference.
- [System Reminder: Task tools reminder](./system-prompts/system-reminder-task-tools-reminder.md) (**123** tks) - Reminder to use task tracking tools.
- [System Reminder: Team Coordination](./system-prompts/system-reminder-team-coordination.md) (**247** tks) - System reminder for team coordination. - [System Reminder: Team Coordination](./system-prompts/system-reminder-team-coordination.md) (**247** tks) - System reminder for team coordination.
- [System Reminder: Team Shutdown](./system-prompts/system-reminder-team-shutdown.md) (**136** tks) - System reminder for team shutdown. - [System Reminder: Team Shutdown](./system-prompts/system-reminder-team-shutdown.md) (**136** tks) - System reminder for team shutdown.
- [System Reminder: Todo list changed](./system-prompts/system-reminder-todo-list-changed.md) (**61** tks) - Notification that todo list has changed.
- [System Reminder: Todo list empty](./system-prompts/system-reminder-todo-list-empty.md) (**83** tks) - Reminder that todo list is empty.
- [System Reminder: TodoWrite reminder](./system-prompts/system-reminder-todowrite-reminder.md) (**98** tks) - Reminder to use TodoWrite tool for task tracking.
- [System Reminder: Token usage](./system-prompts/system-reminder-token-usage.md) (**39** tks) - Current token usage statistics.
- [System Reminder: USD budget](./system-prompts/system-reminder-usd-budget.md) (**42** tks) - Current USD budget statistics.
- [System Reminder: Verify plan reminder](./system-prompts/system-reminder-verify-plan-reminder.md) (**47** tks) - Reminder to verify completed plan.
### Builtin Tool Descriptions ### Builtin Tool Descriptions

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: Agent mention'
description: Notification that user wants to invoke an agent
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
The user has expressed a desire to invoke the agent "${ATTACHMENT_OBJECT.agentType}". Please invoke the agent appropriately, passing in the required context to it.

View File

@ -0,0 +1,9 @@
<!--
name: 'System Reminder: Compact file reference'
description: Reference to file read before conversation summarization
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
- READ_TOOL_OBJECT
-->
Note: ${ATTACHMENT_OBJECT.filename} was read before the last conversation was summarized, but the contents are too large to include. Use ${READ_TOOL_OBJECT.name} tool if you need to access it.

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: Exited delegate mode'
description: Notification when exiting delegate mode in swarm
ccVersion: 2.1.18
-->
## Exited Delegate Mode
You have exited delegate mode. You can now use all tools (Bash, Read, Write, Edit, etc.) and take actions directly. Continue with your tasks.

View File

@ -0,0 +1,10 @@
<!--
name: 'System Reminder: Exited plan mode'
description: Notification when exiting plan mode
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
## Exited Plan Mode
You have exited plan mode. You can now make edits, run tools, and take actions.${ATTACHMENT_OBJECT.planExists?` The plan file is located at ${ATTACHMENT_OBJECT.planFilePath} if you need to reference it.`:""}

View File

@ -0,0 +1,6 @@
<!--
name: 'System Reminder: File exists but empty'
description: Warning when reading an empty file
ccVersion: 2.1.18
-->
<system-reminder>Warning: the file exists but the contents are empty.</system-reminder>

View File

@ -0,0 +1,9 @@
<!--
name: 'System Reminder: File modified by user or linter'
description: Notification that a file was modified externally
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
Note: ${ATTACHMENT_OBJECT.filename} was modified, either by the user or by a linter. This change was intentional, so make sure to take it into account as you proceed (ie. don't revert it unless the user asks you to). Don't tell the user this, since they are already aware. Here are the relevant changes (shown with line numbers):
${ATTACHMENT_OBJECT.snippet}

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: File opened in IDE'
description: Notification that user opened a file in IDE
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
The user opened the file ${ATTACHMENT_OBJECT.filename} in the IDE. This may or may not be related to the current task.

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: File shorter than offset'
description: Warning when file read offset exceeds file length
ccVersion: 2.1.18
variables:
- RESULT_OBJECT
-->
<system-reminder>Warning: the file exists but is shorter than the provided offset (${RESULT_OBJECT.file.startLine}). The file has ${RESULT_OBJECT.file.totalLines} lines.</system-reminder>

View File

@ -0,0 +1,10 @@
<!--
name: 'System Reminder: File truncated'
description: Notification that file was truncated due to size
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
- MAX_LINES_CONSTANT
- READ_TOOL_OBJECT
-->
Note: The file ${ATTACHMENT_OBJECT.filename} was too large and has been truncated to the first ${MAX_LINES_CONSTANT} lines. Don't tell the user about this truncation. Use ${READ_TOOL_OBJECT.name} to read more of the file if you need.

View File

@ -0,0 +1,9 @@
<!--
name: 'System Reminder: Hook additional context'
description: Additional context from a hook
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
${ATTACHMENT_OBJECT.hookName} hook additional context: ${ATTACHMENT_OBJECT.content.join(`
`)}

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: Hook blocking error'
description: Error from a blocking hook command
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
${ATTACHMENT_OBJECT.hookName} hook blocking error from command: "${ATTACHMENT_OBJECT.blockingError.command}": ${ATTACHMENT_OBJECT.blockingError.blockingError}

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: Hook stopped continuation'
description: Message when a hook stops continuation
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
${ATTACHMENT_OBJECT.hookName} hook stopped continuation: ${ATTACHMENT_OBJECT.message}

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: Hook success'
description: Success message from a hook
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
${ATTACHMENT_OBJECT.hookName} hook success: ${ATTACHMENT_OBJECT.content}

View File

@ -0,0 +1,10 @@
<!--
name: 'System Reminder: Invoked skills'
description: List of skills invoked in this session
ccVersion: 2.1.18
variables:
- FORMATTED_SKILLS_LIST
-->
The following skills were invoked in this session. Continue to follow these guidelines:
${FORMATTED_SKILLS_LIST}

View File

@ -0,0 +1,12 @@
<!--
name: 'System Reminder: Lines selected in IDE'
description: Notification about lines selected by user in IDE
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
- TRUNCATED_CONTENT
-->
The user selected the lines ${ATTACHMENT_OBJECT.lineStart} to ${ATTACHMENT_OBJECT.lineEnd} from ${ATTACHMENT_OBJECT.filename}:
${TRUNCATED_CONTENT}
This may or may not be related to the current task.

View File

@ -0,0 +1,10 @@
<!--
name: 'System Reminder: Malware analysis after Read tool call'
description: Instructions for analyzing malware without improving or augmenting it
ccVersion: 2.1.18
-->
<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: MCP resource no content'
description: Shown when MCP resource has no content
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
<mcp-resource server="${ATTACHMENT_OBJECT.server}" uri="${ATTACHMENT_OBJECT.uri}">(No content)</mcp-resource>

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: MCP resource no displayable content'
description: Shown when MCP resource has no displayable content
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
<mcp-resource server="${ATTACHMENT_OBJECT.server}" uri="${ATTACHMENT_OBJECT.uri}">(No displayable content)</mcp-resource>

View File

@ -0,0 +1,11 @@
<!--
name: 'System Reminder: Memory file contents'
description: Contents of a memory file by path
ccVersion: 2.1.18
variables:
- MEMORY_ITEM
- MEMORY_TYPE_DESCRIPTION
-->
Contents of ${MEMORY_ITEM.path}${MEMORY_TYPE_DESCRIPTION}:
${MEMORY_ITEM.content}

View File

@ -0,0 +1,10 @@
<!--
name: 'System Reminder: Nested memory contents'
description: Contents of a nested memory file
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
Contents of ${ATTACHMENT_OBJECT.content.path}:
${ATTACHMENT_OBJECT.content.content}

View File

@ -0,0 +1,10 @@
<!--
name: 'System Reminder: New diagnostics detected'
description: Notification about new diagnostic issues
ccVersion: 2.1.18
variables:
- DIAGNOSTICS_SUMMARY
-->
<new-diagnostics>The following new diagnostic issues were detected:
${DIAGNOSTICS_SUMMARY}</new-diagnostics>

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: Output style active'
description: Notification that an output style is active
ccVersion: 2.1.18
variables:
- OUTPUT_STYLE_CONFIG
-->
${OUTPUT_STYLE_CONFIG.name} output style is active. Remember to follow the specific guidelines for this style.

View File

@ -0,0 +1,6 @@
<!--
name: 'System Reminder: Output token limit exceeded'
description: Warning when response exceeds output token limit
ccVersion: 2.1.18
-->
Your response was cut off because it exceeded the output token limit. Please break your work into smaller pieces. Continue from where you left off.

View File

@ -0,0 +1,14 @@
<!--
name: 'System Reminder: Plan file reference'
description: Reference to an existing plan file
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
A plan file exists from plan mode at: ${ATTACHMENT_OBJECT.planFilePath}
Plan contents:
${ATTACHMENT_OBJECT.planContent}
If this plan is relevant to the current work and not already complete, continue working on it.

View File

@ -0,0 +1,11 @@
<!--
name: 'System Reminder: Queued command (prompt)'
description: Queued user message to address (prompt variant)
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
The user sent the following message:
${ATTACHMENT_OBJECT.prompt}
Please address this message and continue with your tasks.

View File

@ -0,0 +1,11 @@
<!--
name: 'System Reminder: Queued command'
description: Queued user message to address
ccVersion: 2.1.18
variables:
- MESSAGE_TEXT
-->
The user sent the following message:
${MESSAGE_TEXT}
Please address this message and continue with your tasks.

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: Session continuation'
description: Notification that session continues from another machine
ccVersion: 2.1.18
variables:
- GET_CWD_FN
-->
This session is being continued from another machine. Application state may have changed. The updated working directory is ${GET_CWD_FN()}

View File

@ -0,0 +1,12 @@
<!--
name: 'System Reminder: Session memory'
description: Past session summaries that may be relevant
ccVersion: 2.1.18
variables:
- FORMATTED_MEMORIES
-->
<session-memory>
These session summaries are from PAST sessions that might not be related to the current task and may have outdated info. Do not assume the current task is related to these summaries, until the user's messages indicate so or reference similar tasks. Only a preview of each memory is shown - use the Read tool with the provided path to access full session memory when a session is relevant.
${FORMATTED_MEMORIES}
</session-memory>

View File

@ -0,0 +1,6 @@
<!--
name: 'System Reminder: Task status'
description: Task status with TaskOutput tool reference
ccVersion: 2.1.18
-->
You can check its output using the TaskOutput tool.

View File

@ -0,0 +1,9 @@
<!--
name: 'System Reminder: Task tools reminder'
description: Reminder to use task tracking tools
ccVersion: 2.1.18
variables:
- TASK_CREATE_TOOL_NAME
- TASK_UPDATE_TOOL_NAME
-->
The task tools haven't been used recently. If you're working on tasks that would benefit from tracking progress, consider using ${TASK_CREATE_TOOL_NAME} to add new tasks and ${TASK_UPDATE_TOOL_NAME} to update task status (set to in_progress when starting, completed when done). Also consider cleaning up the task list if it has become stale. Only use these if relevant to the current work. This is just a gentle reminder - ignore if not applicable. Make sure that you NEVER mention this reminder to the user

View File

@ -0,0 +1,11 @@
<!--
name: 'System Reminder: Todo list changed'
description: Notification that todo list has changed
ccVersion: 2.1.18
variables:
- JSON_STRINGIFY_FN
- ATTACHMENT_OBJECT
-->
Your todo list has changed. DO NOT mention this explicitly to the user. Here are the latest contents of your todo list:
${JSON_STRINGIFY_FN(ATTACHMENT_OBJECT.content)}. Continue on with the tasks at hand if applicable.

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: Todo list empty'
description: Reminder that todo list is empty
ccVersion: 2.1.18
variables:
- TODOWRITE_TOOL_NAME
-->
This is a reminder that your todo list is currently empty. DO NOT mention this to the user explicitly because they are already aware. If you are working on tasks that would benefit from a todo list please use the ${TODOWRITE_TOOL_NAME} tool to create one. If not, please feel free to ignore. Again do not mention this message to the user.

View File

@ -0,0 +1,6 @@
<!--
name: 'System Reminder: TodoWrite reminder'
description: Reminder to use TodoWrite tool for task tracking
ccVersion: 2.1.18
-->
The TodoWrite tool hasn't been used recently. If you're working on tasks that would benefit from tracking progress, consider using the TodoWrite tool to track progress. Also consider cleaning up the todo list if has become stale and no longer matches what you are working on. Only use it if it's relevant to the current work. This is just a gentle reminder - ignore if not applicable. Make sure that you NEVER mention this reminder to the user

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: Token usage'
description: Current token usage statistics
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
Token usage: ${ATTACHMENT_OBJECT.used}/${ATTACHMENT_OBJECT.total}; ${ATTACHMENT_OBJECT.remaining} remaining

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: USD budget'
description: Current USD budget statistics
ccVersion: 2.1.18
variables:
- ATTACHMENT_OBJECT
-->
USD budget: $${ATTACHMENT_OBJECT.used}/$${ATTACHMENT_OBJECT.total}; $${ATTACHMENT_OBJECT.remaining} remaining

View File

@ -0,0 +1,8 @@
<!--
name: 'System Reminder: Verify plan reminder'
description: Reminder to verify completed plan
ccVersion: 2.1.18
variables:
- TASK_TOOL_NAME
-->
You have completed implementing the plan. Please call the "" tool directly (NOT the ${TASK_TOOL_NAME} tool or an agent) to verify that all plan items were completed correctly.