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.
This commit is contained in:
Andrew Beal 2026-04-24 20:18:37 +01:00
parent f46f738ca7
commit b21207adcf
2 changed files with 8 additions and 7 deletions

View file

@ -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

View file

@ -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.",