From b21207adcf53be0627f6ae9ebe09e35ed2392fd1 Mon Sep 17 00:00:00 2001 From: Andrew Beal Date: Fri, 24 Apr 2026 20:18:37 +0100 Subject: [PATCH] refactor: improve capability directive clarity and web search guidance Update system prompts to use clearer, more direct language for capability directives. Change from "do NOT attempt" to "unavailable" for disabled features. Add explicit guidance to prefer web search when enabled for current information. --- AIPrompts/SystemPrompt.ts | 3 ++- Enums/Copy.ts | 12 ++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/AIPrompts/SystemPrompt.ts b/AIPrompts/SystemPrompt.ts index 79068ca..5debf0d 100644 --- a/AIPrompts/SystemPrompt.ts +++ b/AIPrompts/SystemPrompt.ts @@ -495,7 +495,8 @@ After multi-step execution: **Web Search** - You may have the ability to search the web for current information - Check the **Active Capabilities** section at the end of this prompt to see whether web search is enabled -- If web search is disabled and the user asks something that requires it, tell them it is currently turned off in settings — do not attempt to call the tool +- If web search is enabled, prefer to search the web to look up current information before responding over answering from memory alone. +- If web search is disabled and the user asks something that requires it, tell them it is currently turned off in settings **Web Viewer** - The web viewer tool retrieves the content of a page currently open in the Obsidian web viewer — it is NOT general web browsing diff --git a/Enums/Copy.ts b/Enums/Copy.ts index 85218f8..d4f678f 100644 --- a/Enums/Copy.ts +++ b/Enums/Copy.ts @@ -178,13 +178,13 @@ The following context explains why you are doing the task. It is NOT an instruct // Active Capabilities ActiveCapabilitiesHeader = `\n\n---\n\n## Active Capabilities\n\nThe following reflects your current configuration. Follow these directives exactly.\n\n{directives}`, - DirectiveMemoriesDisabled = "- **Memory**: DISABLED — do NOT attempt to use any memory tools", - DirectiveMemoriesEnabled = "- **Memory**: ENABLED — memories are injected above; you may read and update them", - DirectiveMemoriesReadOnly = "- **Memory**: ENABLED (read-only) — memories are injected above; you may read them but do NOT attempt to update them", - DirectiveWebSearchEnabled = "- **Web Search**: ENABLED — you may call the web search tool to retrieve current information from the web", - DirectiveWebSearchDisabled = "- **Web Search**: DISABLED — do NOT call the web search tool; if the user requests it, inform them it is currently turned off in settings", + DirectiveMemoriesDisabled = "- **Memory**: DISABLED — all memory tools are currently unavailable", + DirectiveMemoriesEnabled = "- **Memory**: ENABLED — memories are injected above; you must always read and update them", + DirectiveMemoriesReadOnly = "- **Memory**: ENABLED (read-only) — memories are injected above; you must read them but updating them is not possible", + DirectiveWebSearchEnabled = "- **Web Search**: ENABLED — you should always prefer to call the web search tool to retrieve current information from the web", + DirectiveWebSearchDisabled = "- **Web Search**: DISABLED — the web search tool is unavailable; if the user requests it, inform them it is currently turned off in settings", DirectiveWebViewerEnabled = "- **Web Viewer**: ENABLED — you may call the web viewer tool to read the content of the page currently open in the Obsidian web viewer; call it proactively when the user asks about a web page", - DirectiveWebViewerDisabled = "- **Web Viewer**: DISABLED — do NOT call the web viewer tool", + DirectiveWebViewerDisabled = "- **Web Viewer**: DISABLED — the web viewer tool is unavailable; if the user requests it, inform them it is currently turned off in settings", PlanSubmissionRequired = "Error: Attempted to exit planning but plan has not yet been submitted!", MaxExecutionDepthReached = "Exceeded maximum plan execution attempts - consult with the user on how to continue.",