From b1cee0a9f7eb29cb18c8a43223b2f7dd26dca286 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Wed, 3 Dec 2025 23:30:36 +0100 Subject: [PATCH] Increase likelihood of Serena's manual being read (if not provided at MCP connection time) --- src/serena/tools/config_tools.py | 4 +++- src/serena/tools/workflow_tools.py | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/serena/tools/config_tools.py b/src/serena/tools/config_tools.py index bc856ec5..45ca01c7 100644 --- a/src/serena/tools/config_tools.py +++ b/src/serena/tools/config_tools.py @@ -14,7 +14,9 @@ class ActivateProjectTool(Tool, ToolMarkerDoesNotRequireActiveProject): :param project: the name of a registered project to activate or a path to a project directory """ active_project = self.agent.activate_project_from_path_or_name(project) - return active_project.get_activation_message() + result = active_project.get_activation_message() + result += "\nIMPORTANT: If you have not yet read the 'Serena Instructions Manual', do it now before continuing!" + return result class RemoveProjectTool(Tool, ToolMarkerDoesNotRequireActiveProject, ToolMarkerOptional): diff --git a/src/serena/tools/workflow_tools.py b/src/serena/tools/workflow_tools.py index 72be7268..a3a58104 100644 --- a/src/serena/tools/workflow_tools.py +++ b/src/serena/tools/workflow_tools.py @@ -132,6 +132,7 @@ class InitialInstructionsTool(Tool, ToolMarkerDoesNotRequireActiveProject): def apply(self) -> str: """ Provides the 'Serena Instructions Manual', which contains essential information on how to use the Serena toolbox. - Call this tool if you have not yet read this very important manual! + IMPORTANT: If you have not yet read the manual, call this tool immediately after you are given your task by the user, + as it will critically inform you! """ return self.agent.create_system_prompt()