From b7f18ba28b8c8744d434c6826c9c9ae172936776 Mon Sep 17 00:00:00 2001 From: sidtheone Date: Fri, 27 Feb 2026 22:56:56 +0100 Subject: [PATCH 01/14] feat: add configurable structured interaction directive to agent activation Adds a new `interaction_style` config option (structured/open) to core module.yaml so users can choose how agents ask questions. When set to "structured" (default), agents present numbered option lists and wait for selection. When "open", agents ask questions naturally. Changes: - src/core/module.yaml: new interaction_style config with single-select - activation-rules.txt: conditional rule based on {interaction_style} - activation-steps.txt: include {interaction_style} in stored variables Co-Authored-By: Claude Opus 4.6 --- src/core/module.yaml | 10 ++++++++++ src/core/tasks/workflow.xml | 1 + src/utility/agent-components/activation-rules.txt | 1 + src/utility/agent-components/activation-steps.txt | 2 +- src/utility/agent-components/agent-command-header.md | 2 ++ src/utility/agent-components/handler-action.txt | 1 + src/utility/agent-components/handler-exec.txt | 1 + src/utility/agent-components/handler-multi.txt | 2 +- .../agent-components/handler-validate-workflow.txt | 2 +- src/utility/agent-components/handler-workflow.txt | 1 + .../lib/ide/templates/agent-command-template.md | 2 ++ .../lib/ide/templates/combined/antigravity.md | 2 ++ .../lib/ide/templates/combined/default-agent.md | 2 ++ .../lib/ide/templates/combined/default-task.md | 2 ++ .../lib/ide/templates/combined/default-tool.md | 2 ++ .../ide/templates/combined/default-workflow-yaml.md | 2 ++ .../lib/ide/templates/combined/default-workflow.md | 2 ++ .../lib/ide/templates/combined/gemini-agent.toml | 2 ++ .../lib/ide/templates/combined/gemini-task.toml | 1 + .../lib/ide/templates/combined/gemini-tool.toml | 1 + .../ide/templates/combined/gemini-workflow-yaml.toml | 1 + .../lib/ide/templates/combined/gemini-workflow.toml | 1 + .../lib/ide/templates/combined/kiro-agent.md | 2 ++ .../installers/lib/ide/templates/combined/kiro-task.md | 2 ++ .../installers/lib/ide/templates/combined/kiro-tool.md | 2 ++ .../lib/ide/templates/combined/kiro-workflow-yaml.md | 2 ++ .../lib/ide/templates/combined/kiro-workflow.md | 2 ++ .../lib/ide/templates/combined/opencode-agent.md | 2 ++ .../lib/ide/templates/combined/opencode-task.md | 2 ++ .../lib/ide/templates/combined/opencode-tool.md | 2 ++ .../ide/templates/combined/opencode-workflow-yaml.md | 1 + .../lib/ide/templates/combined/opencode-workflow.md | 1 + .../installers/lib/ide/templates/combined/rovodev.md | 2 ++ .../cli/installers/lib/ide/templates/combined/trae.md | 2 ++ .../lib/ide/templates/combined/windsurf-workflow.md | 2 ++ .../lib/ide/templates/workflow-command-template.md | 2 ++ .../installers/lib/ide/templates/workflow-commander.md | 2 ++ 37 files changed, 68 insertions(+), 3 deletions(-) diff --git a/src/core/module.yaml b/src/core/module.yaml index 10596d862..c45a302b7 100644 --- a/src/core/module.yaml +++ b/src/core/module.yaml @@ -23,3 +23,13 @@ output_folder: prompt: "Where should output files be saved?" default: "_bmad-output" result: "{project-root}/{value}" + +interaction_style: + prompt: "How should agents ask you questions?" + default: "structured" + result: "{value}" + single-select: + - value: "structured" + label: "Structured - Numbered option lists (recommended)" + - value: "open" + label: "Open - Natural conversational questions" diff --git a/src/core/tasks/workflow.xml b/src/core/tasks/workflow.xml index 536c9d8e7..67d1ee023 100644 --- a/src/core/tasks/workflow.xml +++ b/src/core/tasks/workflow.xml @@ -2,6 +2,7 @@ Execute given workflow by loading its configuration, following instructions, and producing output + RULE: When interaction_style is "structured", EVERY question to the user MUST use the native question tool. No exceptions. No inline prompts. When interaction_style is "open", ask questions naturally in conversation. Always read COMPLETE files - NEVER use offset/limit when reading any workflow related files Instructions are MANDATORY - either as file path, steps or embedded list in YAML, XML or markdown Execute ALL steps in instructions IN EXACT ORDER diff --git a/src/utility/agent-components/activation-rules.txt b/src/utility/agent-components/activation-rules.txt index a67ae4993..21eee456d 100644 --- a/src/utility/agent-components/activation-rules.txt +++ b/src/utility/agent-components/activation-rules.txt @@ -1,5 +1,6 @@ ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style. + RULE: When interaction_style is "structured", EVERY question to the user MUST use the native question tool. No exceptions. No inline prompts. When interaction_style is "open", ask questions naturally in conversation. Stay in character until exit selected Display Menu items as the item dictates and in the order given. Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml diff --git a/src/utility/agent-components/activation-steps.txt b/src/utility/agent-components/activation-steps.txt index 9ead0e01c..5d0393805 100644 --- a/src/utility/agent-components/activation-steps.txt +++ b/src/utility/agent-components/activation-steps.txt @@ -1,7 +1,7 @@ Load persona from this current agent file (already in context) 🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: - Load and read {project-root}/_bmad/{{module}}/config.yaml NOW - - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}, {interaction_style} - VERIFY: If config not loaded, STOP and report error to user - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored diff --git a/src/utility/agent-components/agent-command-header.md b/src/utility/agent-components/agent-command-header.md index d4f9b5d6a..fd4abc1a5 100644 --- a/src/utility/agent-components/agent-command-header.md +++ b/src/utility/agent-components/agent-command-header.md @@ -1 +1,3 @@ You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. diff --git a/src/utility/agent-components/handler-action.txt b/src/utility/agent-components/handler-action.txt index db31f4852..da21fa426 100644 --- a/src/utility/agent-components/handler-action.txt +++ b/src/utility/agent-components/handler-action.txt @@ -1,4 +1,5 @@ When menu item has: action="#id" → Find prompt with id="id" in current agent XML, follow its content When menu item has: action="text" → Follow the text directly as an inline instruction + RULE: When interaction_style is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. \ No newline at end of file diff --git a/src/utility/agent-components/handler-exec.txt b/src/utility/agent-components/handler-exec.txt index 1c8459a64..03276dbee 100644 --- a/src/utility/agent-components/handler-exec.txt +++ b/src/utility/agent-components/handler-exec.txt @@ -3,4 +3,5 @@ 1. Read fully and follow the file at that path 2. Process the complete file and follow all instructions within it 3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context. + 4. RULE: When interaction_style is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. \ No newline at end of file diff --git a/src/utility/agent-components/handler-multi.txt b/src/utility/agent-components/handler-multi.txt index f33a73fe5..b6983ce1f 100644 --- a/src/utility/agent-components/handler-multi.txt +++ b/src/utility/agent-components/handler-multi.txt @@ -10,5 +10,5 @@ - For workflow="path/to/workflow.yaml": follow the `handler type="workflow"` instructions - For action="...": Perform the specified action directly 5. Support both exact matches and fuzzy matching based on the match attribute - 6. If no handler matches, prompt user to choose from available options + 6. If no handler matches, prompt user to choose from available options using the AskUserQuestion tool when interaction_style is "structured" \ No newline at end of file diff --git a/src/utility/agent-components/handler-validate-workflow.txt b/src/utility/agent-components/handler-validate-workflow.txt index aca040550..9bd3ff699 100644 --- a/src/utility/agent-components/handler-validate-workflow.txt +++ b/src/utility/agent-components/handler-validate-workflow.txt @@ -3,5 +3,5 @@ 1. You MUST LOAD the file at: {project-root}/_bmad/core/tasks/validate-workflow.xml 2. READ its entire contents and EXECUTE all instructions in that file 3. Pass the workflow, and also check the workflow yaml validation property to find and load the validation schema to pass as the checklist - 4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify + 4. The workflow should try to identify the file to validate based on checklist context or else ask the user to specify using the AskUserQuestion tool when interaction_style is "structured" \ No newline at end of file diff --git a/src/utility/agent-components/handler-workflow.txt b/src/utility/agent-components/handler-workflow.txt index 1be1dcbe5..c7d677117 100644 --- a/src/utility/agent-components/handler-workflow.txt +++ b/src/utility/agent-components/handler-workflow.txt @@ -7,4 +7,5 @@ 4. Follow workflow.xml instructions precisely following all steps 5. Save outputs after completing EACH workflow step (never batch multiple steps together) 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet + 7. RULE: When interaction_style is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. \ No newline at end of file diff --git a/tools/cli/installers/lib/ide/templates/agent-command-template.md b/tools/cli/installers/lib/ide/templates/agent-command-template.md index 897136317..c2c2f44f2 100644 --- a/tools/cli/installers/lib/ide/templates/agent-command-template.md +++ b/tools/cli/installers/lib/ide/templates/agent-command-template.md @@ -5,6 +5,8 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + 1. LOAD the FULL agent file from @_bmad/{{module}}/agents/{{path}} 2. READ its entire contents - this contains the complete agent persona, menu, and instructions diff --git a/tools/cli/installers/lib/ide/templates/combined/antigravity.md b/tools/cli/installers/lib/ide/templates/combined/antigravity.md index 88e806e9d..d6c9b09b7 100644 --- a/tools/cli/installers/lib/ide/templates/combined/antigravity.md +++ b/tools/cli/installers/lib/ide/templates/combined/antigravity.md @@ -6,3 +6,5 @@ description: '{{description}}' Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} Follow all instructions in the workflow file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-agent.md b/tools/cli/installers/lib/ide/templates/combined/default-agent.md index f8ad93801..bc6f0e6ab 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-agent.md @@ -5,6 +5,8 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. + 1. LOAD the FULL agent file from {project-root}/_bmad/{{path}} 2. READ its entire contents - this contains the complete agent persona, menu, and instructions diff --git a/tools/cli/installers/lib/ide/templates/combined/default-task.md b/tools/cli/installers/lib/ide/templates/combined/default-task.md index b865d6ffb..8d07ad96d 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-task.md @@ -8,3 +8,5 @@ description: '{{description}}' Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the task file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-tool.md b/tools/cli/installers/lib/ide/templates/combined/default-tool.md index 11c6aac8d..01c0acc97 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-tool.md @@ -8,3 +8,5 @@ description: '{{description}}' Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the tool file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md index eca904370..d7d72098b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md @@ -3,6 +3,8 @@ name: '{{name}}' description: '{{description}}' --- +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md index afb0dea58..97db910c3 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md @@ -3,4 +3,6 @@ name: '{{name}}' description: '{{description}}' --- +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml index ae5f791cf..0a8fcc75d 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml @@ -7,6 +7,8 @@ PRE-FLIGHT CHECKLIST: 2. [ ] IMMEDIATE ACTION: Read and internalize the full agent definition at {project-root}/{{bmadFolderName}}/{{path}}. 3. [ ] CONFIRM: The user's name from config is {user_name}. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. + Only after all checks are complete, greet the user by name and display the menu. Acknowledge this checklist is complete in your first response. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml index 7d15e2164..a9ab4d15b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml @@ -6,6 +6,7 @@ TASK INSTRUCTIONS: 1. LOAD the task file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents 3. FOLLOW every instruction precisely as specified +4. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml index fc78c6b72..9927fbe4c 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml @@ -6,6 +6,7 @@ TOOL INSTRUCTIONS: 1. LOAD the tool file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents 3. FOLLOW every instruction precisely as specified +4. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml index bc6c8da39..e3ca1180f 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml @@ -11,6 +11,7 @@ CRITICAL: This is a structured YAML workflow. Follow these steps precisely: - Dependencies between steps 3. EXECUTE each step in order 4. VALIDATE outputs before proceeding to next step +5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml index 3306cce04..63b20c572 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml @@ -9,6 +9,7 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps +5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md index e2c2a83fa..33d9f93c1 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md @@ -6,6 +6,8 @@ inclusion: manual You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + 1. LOAD the FULL agent file from #[[file:{{bmadFolderName}}/{{path}}]] 2. READ its entire contents - this contains the complete agent persona, menu, and instructions diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md index 8952e5ee2..7a7454fe6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md @@ -7,3 +7,5 @@ inclusion: manual Read the entire task file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the task file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md index cd903217a..5a45b0b3b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md @@ -7,3 +7,5 @@ inclusion: manual Read the entire tool file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the tool file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md index 4ee4e0824..1db8829e6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md @@ -4,6 +4,8 @@ inclusion: manual # {{name}} +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md index e1847f414..5966c0c72 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md @@ -4,4 +4,6 @@ inclusion: manual # {{name}} +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL #[[file:{{bmadFolderName}}/{{path}}]], READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md index 828d673ac..a58aae109 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md @@ -5,6 +5,8 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents - this contains the complete agent persona, menu, and instructions diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md index 772f9c9eb..ee26a3c3a 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md @@ -10,4 +10,6 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. + TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md index 88c317e63..c726d3eec 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md @@ -10,4 +10,6 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. + TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index 88838cc1c..5e4182627 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -12,5 +12,6 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps +5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index 88838cc1c..5e4182627 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -12,5 +12,6 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps +5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/rovodev.md b/tools/cli/installers/lib/ide/templates/combined/rovodev.md index 066945ee5..4e16682c6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/rovodev.md +++ b/tools/cli/installers/lib/ide/templates/combined/rovodev.md @@ -7,3 +7,5 @@ Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} Follow all instructions in the workflow file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/trae.md b/tools/cli/installers/lib/ide/templates/combined/trae.md index b4d43d7af..73adae9a6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/trae.md +++ b/tools/cli/installers/lib/ide/templates/combined/trae.md @@ -7,3 +7,5 @@ Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} Follow all instructions in the workflow file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md index 6366425c7..154fddbc9 100644 --- a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md @@ -8,3 +8,5 @@ auto_execution_mode: "iterate" Read the entire workflow file at {project-root}/_bmad/{{workflow_path}} Follow all instructions in the workflow file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/workflow-command-template.md b/tools/cli/installers/lib/ide/templates/workflow-command-template.md index 5c9e436c7..f5caa9948 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-command-template.md +++ b/tools/cli/installers/lib/ide/templates/workflow-command-template.md @@ -2,6 +2,8 @@ description: '{{description}}' --- +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/workflow-commander.md b/tools/cli/installers/lib/ide/templates/workflow-commander.md index 3645c1a2f..5ab0d99a8 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-commander.md +++ b/tools/cli/installers/lib/ide/templates/workflow-commander.md @@ -2,4 +2,6 @@ description: '{{description}}' --- +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{{workflow_path}}, READ its entire contents and follow its directions exactly! From 3d4da09ac3206051d3a90476a6670d250d2688bb Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 00:55:47 +0100 Subject: [PATCH 02/14] test: IDE templates + interaction_style config only Isolated test branch with just IDE template rules and module.yaml config. No core agent-component or workflow.xml changes. Co-Authored-By: Claude Opus 4.6 --- src/core/module.yaml | 10 ++++++++++ src/utility/agent-components/activation-steps.txt | 2 +- .../lib/ide/templates/agent-command-template.md | 2 ++ .../lib/ide/templates/combined/antigravity.md | 2 ++ .../lib/ide/templates/combined/default-agent.md | 2 ++ .../lib/ide/templates/combined/default-task.md | 2 ++ .../lib/ide/templates/combined/default-tool.md | 2 ++ .../ide/templates/combined/default-workflow-yaml.md | 2 ++ .../lib/ide/templates/combined/default-workflow.md | 2 ++ .../lib/ide/templates/combined/gemini-agent.toml | 2 ++ .../lib/ide/templates/combined/gemini-task.toml | 1 + .../lib/ide/templates/combined/gemini-tool.toml | 1 + .../ide/templates/combined/gemini-workflow-yaml.toml | 1 + .../lib/ide/templates/combined/gemini-workflow.toml | 1 + .../lib/ide/templates/combined/kiro-agent.md | 2 ++ .../installers/lib/ide/templates/combined/kiro-task.md | 2 ++ .../installers/lib/ide/templates/combined/kiro-tool.md | 2 ++ .../lib/ide/templates/combined/kiro-workflow-yaml.md | 2 ++ .../lib/ide/templates/combined/kiro-workflow.md | 2 ++ .../lib/ide/templates/combined/opencode-agent.md | 2 ++ .../lib/ide/templates/combined/opencode-task.md | 2 ++ .../lib/ide/templates/combined/opencode-tool.md | 2 ++ .../ide/templates/combined/opencode-workflow-yaml.md | 1 + .../lib/ide/templates/combined/opencode-workflow.md | 1 + .../installers/lib/ide/templates/combined/rovodev.md | 2 ++ .../cli/installers/lib/ide/templates/combined/trae.md | 2 ++ .../lib/ide/templates/combined/windsurf-workflow.md | 2 ++ .../lib/ide/templates/workflow-command-template.md | 2 ++ .../installers/lib/ide/templates/workflow-commander.md | 2 ++ 29 files changed, 59 insertions(+), 1 deletion(-) diff --git a/src/core/module.yaml b/src/core/module.yaml index 10596d862..c45a302b7 100644 --- a/src/core/module.yaml +++ b/src/core/module.yaml @@ -23,3 +23,13 @@ output_folder: prompt: "Where should output files be saved?" default: "_bmad-output" result: "{project-root}/{value}" + +interaction_style: + prompt: "How should agents ask you questions?" + default: "structured" + result: "{value}" + single-select: + - value: "structured" + label: "Structured - Numbered option lists (recommended)" + - value: "open" + label: "Open - Natural conversational questions" diff --git a/src/utility/agent-components/activation-steps.txt b/src/utility/agent-components/activation-steps.txt index 9ead0e01c..5d0393805 100644 --- a/src/utility/agent-components/activation-steps.txt +++ b/src/utility/agent-components/activation-steps.txt @@ -1,7 +1,7 @@ Load persona from this current agent file (already in context) 🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: - Load and read {project-root}/_bmad/{{module}}/config.yaml NOW - - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder} + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}, {interaction_style} - VERIFY: If config not loaded, STOP and report error to user - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored diff --git a/tools/cli/installers/lib/ide/templates/agent-command-template.md b/tools/cli/installers/lib/ide/templates/agent-command-template.md index 897136317..c2c2f44f2 100644 --- a/tools/cli/installers/lib/ide/templates/agent-command-template.md +++ b/tools/cli/installers/lib/ide/templates/agent-command-template.md @@ -5,6 +5,8 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + 1. LOAD the FULL agent file from @_bmad/{{module}}/agents/{{path}} 2. READ its entire contents - this contains the complete agent persona, menu, and instructions diff --git a/tools/cli/installers/lib/ide/templates/combined/antigravity.md b/tools/cli/installers/lib/ide/templates/combined/antigravity.md index 88e806e9d..d6c9b09b7 100644 --- a/tools/cli/installers/lib/ide/templates/combined/antigravity.md +++ b/tools/cli/installers/lib/ide/templates/combined/antigravity.md @@ -6,3 +6,5 @@ description: '{{description}}' Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} Follow all instructions in the workflow file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-agent.md b/tools/cli/installers/lib/ide/templates/combined/default-agent.md index f8ad93801..bc6f0e6ab 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-agent.md @@ -5,6 +5,8 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. + 1. LOAD the FULL agent file from {project-root}/_bmad/{{path}} 2. READ its entire contents - this contains the complete agent persona, menu, and instructions diff --git a/tools/cli/installers/lib/ide/templates/combined/default-task.md b/tools/cli/installers/lib/ide/templates/combined/default-task.md index b865d6ffb..8d07ad96d 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-task.md @@ -8,3 +8,5 @@ description: '{{description}}' Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the task file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-tool.md b/tools/cli/installers/lib/ide/templates/combined/default-tool.md index 11c6aac8d..01c0acc97 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-tool.md @@ -8,3 +8,5 @@ description: '{{description}}' Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the tool file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md index eca904370..d7d72098b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md @@ -3,6 +3,8 @@ name: '{{name}}' description: '{{description}}' --- +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md index afb0dea58..97db910c3 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md @@ -3,4 +3,6 @@ name: '{{name}}' description: '{{description}}' --- +RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml index ae5f791cf..0a8fcc75d 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml @@ -7,6 +7,8 @@ PRE-FLIGHT CHECKLIST: 2. [ ] IMMEDIATE ACTION: Read and internalize the full agent definition at {project-root}/{{bmadFolderName}}/{{path}}. 3. [ ] CONFIRM: The user's name from config is {user_name}. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. + Only after all checks are complete, greet the user by name and display the menu. Acknowledge this checklist is complete in your first response. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml index 7d15e2164..a9ab4d15b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml @@ -6,6 +6,7 @@ TASK INSTRUCTIONS: 1. LOAD the task file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents 3. FOLLOW every instruction precisely as specified +4. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml index fc78c6b72..9927fbe4c 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml @@ -6,6 +6,7 @@ TOOL INSTRUCTIONS: 1. LOAD the tool file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents 3. FOLLOW every instruction precisely as specified +4. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml index bc6c8da39..e3ca1180f 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml @@ -11,6 +11,7 @@ CRITICAL: This is a structured YAML workflow. Follow these steps precisely: - Dependencies between steps 3. EXECUTE each step in order 4. VALIDATE outputs before proceeding to next step +5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml index 3306cce04..63b20c572 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml @@ -9,6 +9,7 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps +5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md index e2c2a83fa..33d9f93c1 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md @@ -6,6 +6,8 @@ inclusion: manual You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + 1. LOAD the FULL agent file from #[[file:{{bmadFolderName}}/{{path}}]] 2. READ its entire contents - this contains the complete agent persona, menu, and instructions diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md index 8952e5ee2..7a7454fe6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md @@ -7,3 +7,5 @@ inclusion: manual Read the entire task file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the task file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md index cd903217a..5a45b0b3b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md @@ -7,3 +7,5 @@ inclusion: manual Read the entire tool file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the tool file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md index 4ee4e0824..1db8829e6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md @@ -4,6 +4,8 @@ inclusion: manual # {{name}} +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md index e1847f414..5966c0c72 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md @@ -4,4 +4,6 @@ inclusion: manual # {{name}} +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL #[[file:{{bmadFolderName}}/{{path}}]], READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md index 828d673ac..a58aae109 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md @@ -5,6 +5,8 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents - this contains the complete agent persona, menu, and instructions diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md index 772f9c9eb..ee26a3c3a 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md @@ -10,4 +10,6 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. + TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md index 88c317e63..c726d3eec 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md @@ -10,4 +10,6 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. + TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index 88838cc1c..5e4182627 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -12,5 +12,6 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps +5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index 88838cc1c..5e4182627 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -12,5 +12,6 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps +5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/rovodev.md b/tools/cli/installers/lib/ide/templates/combined/rovodev.md index 066945ee5..4e16682c6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/rovodev.md +++ b/tools/cli/installers/lib/ide/templates/combined/rovodev.md @@ -7,3 +7,5 @@ Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} Follow all instructions in the workflow file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/trae.md b/tools/cli/installers/lib/ide/templates/combined/trae.md index b4d43d7af..73adae9a6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/trae.md +++ b/tools/cli/installers/lib/ide/templates/combined/trae.md @@ -7,3 +7,5 @@ Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} Follow all instructions in the workflow file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md index 6366425c7..154fddbc9 100644 --- a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md @@ -8,3 +8,5 @@ auto_execution_mode: "iterate" Read the entire workflow file at {project-root}/_bmad/{{workflow_path}} Follow all instructions in the workflow file exactly as written. + +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/workflow-command-template.md b/tools/cli/installers/lib/ide/templates/workflow-command-template.md index 5c9e436c7..f5caa9948 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-command-template.md +++ b/tools/cli/installers/lib/ide/templates/workflow-command-template.md @@ -2,6 +2,8 @@ description: '{{description}}' --- +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/workflow-commander.md b/tools/cli/installers/lib/ide/templates/workflow-commander.md index 3645c1a2f..5ab0d99a8 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-commander.md +++ b/tools/cli/installers/lib/ide/templates/workflow-commander.md @@ -2,4 +2,6 @@ description: '{{description}}' --- +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{{workflow_path}}, READ its entire contents and follow its directions exactly! From 6522e8e92ae6693bb9b3921cec937db2acc1d404 Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 01:06:05 +0100 Subject: [PATCH 03/14] feat: use platform-specific tool names for Gemini (ask_user) and OpenCode (question) Co-Authored-By: Claude Opus 4.6 --- .../cli/installers/lib/ide/templates/combined/gemini-agent.toml | 2 +- .../cli/installers/lib/ide/templates/combined/gemini-task.toml | 2 +- .../cli/installers/lib/ide/templates/combined/gemini-tool.toml | 2 +- .../lib/ide/templates/combined/gemini-workflow-yaml.toml | 2 +- .../installers/lib/ide/templates/combined/gemini-workflow.toml | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-agent.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-task.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-tool.md | 2 +- .../lib/ide/templates/combined/opencode-workflow-yaml.md | 2 +- .../installers/lib/ide/templates/combined/opencode-workflow.md | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml index 0a8fcc75d..a96ad8f39 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml @@ -7,7 +7,7 @@ PRE-FLIGHT CHECKLIST: 2. [ ] IMMEDIATE ACTION: Read and internalize the full agent definition at {project-root}/{{bmadFolderName}}/{{path}}. 3. [ ] CONFIRM: The user's name from config is {user_name}. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. Only after all checks are complete, greet the user by name and display the menu. Acknowledge this checklist is complete in your first response. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml index a9ab4d15b..31837088e 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml @@ -6,7 +6,7 @@ TASK INSTRUCTIONS: 1. LOAD the task file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -4. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +4. RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml index 9927fbe4c..b92c41489 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml @@ -6,7 +6,7 @@ TOOL INSTRUCTIONS: 1. LOAD the tool file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -4. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +4. RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml index e3ca1180f..06b31b680 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml @@ -11,7 +11,7 @@ CRITICAL: This is a structured YAML workflow. Follow these steps precisely: - Dependencies between steps 3. EXECUTE each step in order 4. VALIDATE outputs before proceeding to next step -5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +5. RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml index 63b20c572..30a422695 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml @@ -9,7 +9,7 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +5. RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md index a58aae109..5b395861b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md index ee26a3c3a..9226cc0c6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md @@ -10,6 +10,6 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md index c726d3eec..a8265a92f 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md @@ -10,6 +10,6 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index 5e4182627..19f1267b7 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -12,6 +12,6 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +5. RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index 5e4182627..19f1267b7 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -12,6 +12,6 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +5. RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} From 57018815f60687d344a11e327062959de17a3ebb Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 09:29:44 +0100 Subject: [PATCH 04/14] =?UTF-8?q?fix:=20address=20PR=20review=20=E2=80=94?= =?UTF-8?q?=20standardize=20templates=20and=20document=20config=20settings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace Claude-specific AskUserQuestion in default-* templates with generic numbered-list wording since these are universal fallbacks for all IDEs - Fix hardcoded _bmad paths to use {{bmadFolderName}} in antigravity, rovodev, trae, windsurf-workflow, and default-agent templates - Extract RULE from numbered steps to standalone directive in gemini and opencode workflow/tool templates - Standardize RULE wording: add "Do NOT ask open-ended inline questions" to all templates missing it for consistency - Move RULE before execution instructions in default-task and rovodev templates - Add {document_output_language} to activation-steps session variables - Add interaction_style confirmation to gemini-agent preflight checklist - Document all config settings including interaction_style in install guide Co-Authored-By: Claude Opus 4.6 --- docs/how-to/install-bmad.md | 19 +++++++++++++++++-- .../agent-components/activation-steps.txt | 2 +- .../lib/ide/templates/combined/antigravity.md | 4 ++-- .../ide/templates/combined/default-agent.md | 4 ++-- .../ide/templates/combined/default-task.md | 4 ++-- .../ide/templates/combined/default-tool.md | 2 +- .../combined/default-workflow-yaml.md | 2 +- .../templates/combined/default-workflow.md | 2 +- .../ide/templates/combined/gemini-agent.toml | 1 + .../ide/templates/combined/gemini-tool.toml | 3 ++- .../combined/gemini-workflow-yaml.toml | 3 ++- .../templates/combined/gemini-workflow.toml | 3 ++- .../lib/ide/templates/combined/kiro-task.md | 2 +- .../lib/ide/templates/combined/kiro-tool.md | 2 +- .../combined/opencode-workflow-yaml.md | 3 ++- .../templates/combined/opencode-workflow.md | 3 ++- .../lib/ide/templates/combined/rovodev.md | 6 +++--- .../lib/ide/templates/combined/trae.md | 4 ++-- .../templates/combined/windsurf-workflow.md | 4 ++-- 19 files changed, 47 insertions(+), 26 deletions(-) diff --git a/docs/how-to/install-bmad.md b/docs/how-to/install-bmad.md index 177c2c884..f8e274d5e 100644 --- a/docs/how-to/install-bmad.md +++ b/docs/how-to/install-bmad.md @@ -57,9 +57,24 @@ Each tool has its own way of integrating commands. The installer creates tiny pr The installer shows available modules. Select whichever ones you need — most users just want **BMad Method** (the software development module). -### 5. Follow the Prompts +### 5. Configure Settings -The installer guides you through the rest — custom content, settings, etc. +The installer prompts you for core settings that control how agents behave: + +| Setting | Default | Description | +| ------- | ------- | ----------- | +| **User Name** | `BMad` | What agents call you — use your name or a team name | +| **Communication Language** | `English` | Language agents use when chatting with you | +| **Document Output Language** | `English` | Language for generated documents and artifacts | +| **Output Folder** | `_bmad-output` | Where agents save generated files | +| **Interaction Style** | `structured` | How agents ask you questions (see below) | + +**Interaction Style** controls how agents present choices: + +- **Structured** (recommended) — Agents present numbered option lists for every question, using your IDE's native question tool when available. This keeps conversations focused and reduces ambiguity. +- **Open** — Agents ask natural conversational questions. More flexible but can lead to longer back-and-forth. + +These settings are saved to `_bmad//config.yaml` and can be changed later by editing that file and rerunning the installer. ## What You Get diff --git a/src/utility/agent-components/activation-steps.txt b/src/utility/agent-components/activation-steps.txt index 5d0393805..d91cec5c4 100644 --- a/src/utility/agent-components/activation-steps.txt +++ b/src/utility/agent-components/activation-steps.txt @@ -1,7 +1,7 @@ Load persona from this current agent file (already in context) 🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT: - Load and read {project-root}/_bmad/{{module}}/config.yaml NOW - - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}, {interaction_style} + - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}, {interaction_style}, {document_output_language} - VERIFY: If config not loaded, STOP and report error to user - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored diff --git a/tools/cli/installers/lib/ide/templates/combined/antigravity.md b/tools/cli/installers/lib/ide/templates/combined/antigravity.md index d6c9b09b7..def43ab1a 100644 --- a/tools/cli/installers/lib/ide/templates/combined/antigravity.md +++ b/tools/cli/installers/lib/ide/templates/combined/antigravity.md @@ -3,8 +3,8 @@ name: '{{name}}' description: '{{description}}' --- -Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} +Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-agent.md b/tools/cli/installers/lib/ide/templates/combined/default-agent.md index bc6f0e6ab..68b6d72b0 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-agent.md @@ -5,10 +5,10 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. -1. LOAD the FULL agent file from {project-root}/_bmad/{{path}} +1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents - this contains the complete agent persona, menu, and instructions 3. FOLLOW every step in the section precisely 4. DISPLAY the welcome/greeting as instructed diff --git a/tools/cli/installers/lib/ide/templates/combined/default-task.md b/tools/cli/installers/lib/ide/templates/combined/default-task.md index 8d07ad96d..6deadaba7 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-task.md @@ -5,8 +5,8 @@ description: '{{description}}' # {{name}} +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the task file exactly as written. - -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-tool.md b/tools/cli/installers/lib/ide/templates/combined/default-tool.md index 01c0acc97..4ea9bfed6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-tool.md @@ -9,4 +9,4 @@ Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the tool file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md index d7d72098b..2babe059a 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md @@ -3,7 +3,7 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md index 97db910c3..5d07d0a7e 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md @@ -3,6 +3,6 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml index a96ad8f39..05cdb3d9f 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml @@ -6,6 +6,7 @@ PRE-FLIGHT CHECKLIST: 1. [ ] IMMEDIATE ACTION: Load and parse {project-root}/{{bmadFolderName}}/{{module}}/config.yaml - store ALL config values in memory for use throughout the session. 2. [ ] IMMEDIATE ACTION: Read and internalize the full agent definition at {project-root}/{{bmadFolderName}}/{{path}}. 3. [ ] CONFIRM: The user's name from config is {user_name}. +4. [ ] CONFIRM: interaction_style is set to "{interaction_style}". RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml index b92c41489..969ffb4ec 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml @@ -6,7 +6,8 @@ TOOL INSTRUCTIONS: 1. LOAD the tool file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -4. RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml index 06b31b680..a9f8a14ca 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml @@ -11,7 +11,8 @@ CRITICAL: This is a structured YAML workflow. Follow these steps precisely: - Dependencies between steps 3. EXECUTE each step in order 4. VALIDATE outputs before proceeding to next step -5. RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml index 30a422695..3a2774adb 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml @@ -9,7 +9,8 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -5. RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md index 7a7454fe6..d6b388162 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md @@ -8,4 +8,4 @@ Read the entire task file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the task file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md index 5a45b0b3b..e07fa6a8d 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md @@ -8,4 +8,4 @@ Read the entire tool file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the tool file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index 19f1267b7..71989b55e 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -12,6 +12,7 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -5. RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index 19f1267b7..71989b55e 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -12,6 +12,7 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -5. RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/rovodev.md b/tools/cli/installers/lib/ide/templates/combined/rovodev.md index 4e16682c6..02b6ac956 100644 --- a/tools/cli/installers/lib/ide/templates/combined/rovodev.md +++ b/tools/cli/installers/lib/ide/templates/combined/rovodev.md @@ -4,8 +4,8 @@ --- -Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. + +Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} Follow all instructions in the workflow file exactly as written. - -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/trae.md b/tools/cli/installers/lib/ide/templates/combined/trae.md index 73adae9a6..6d3a8a2e5 100644 --- a/tools/cli/installers/lib/ide/templates/combined/trae.md +++ b/tools/cli/installers/lib/ide/templates/combined/trae.md @@ -4,8 +4,8 @@ ## Instructions -Read the entire workflow file at: {project-root}/_bmad/{{workflow_path}} +Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md index 154fddbc9..5be5357bf 100644 --- a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md @@ -5,8 +5,8 @@ auto_execution_mode: "iterate" # {{name}} -Read the entire workflow file at {project-root}/_bmad/{{workflow_path}} +Read the entire workflow file at {project-root}/{{bmadFolderName}}/{{workflow_path}} Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. From dc6c1a1b4527ec34c50bd80fce3cc0428484ee38 Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 12:24:29 +0100 Subject: [PATCH 05/14] refactor: simplify RULE wording with free-form escape clause Replace emphatic "EVERY...MUST...Do NOT...No exceptions" phrasing with clearer natural language that includes an explicit free-form override. Research shows single clear sentences with conditional logic outperform stacked absolute directives for LLM compliance. New wording: "questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input." Also extracts RULE from step 4 in gemini-task.toml to standalone. Co-Authored-By: Claude Opus 4.6 --- .../cli/installers/lib/ide/templates/agent-command-template.md | 2 +- tools/cli/installers/lib/ide/templates/combined/antigravity.md | 2 +- .../cli/installers/lib/ide/templates/combined/default-agent.md | 2 +- .../cli/installers/lib/ide/templates/combined/default-task.md | 2 +- .../cli/installers/lib/ide/templates/combined/default-tool.md | 2 +- .../lib/ide/templates/combined/default-workflow-yaml.md | 2 +- .../installers/lib/ide/templates/combined/default-workflow.md | 2 +- .../installers/lib/ide/templates/combined/gemini-agent.toml | 2 +- .../cli/installers/lib/ide/templates/combined/gemini-task.toml | 3 ++- .../cli/installers/lib/ide/templates/combined/gemini-tool.toml | 2 +- .../lib/ide/templates/combined/gemini-workflow-yaml.toml | 2 +- .../installers/lib/ide/templates/combined/gemini-workflow.toml | 2 +- tools/cli/installers/lib/ide/templates/combined/kiro-agent.md | 2 +- tools/cli/installers/lib/ide/templates/combined/kiro-task.md | 2 +- tools/cli/installers/lib/ide/templates/combined/kiro-tool.md | 2 +- .../lib/ide/templates/combined/kiro-workflow-yaml.md | 2 +- .../cli/installers/lib/ide/templates/combined/kiro-workflow.md | 2 +- .../installers/lib/ide/templates/combined/opencode-agent.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-task.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-tool.md | 2 +- .../lib/ide/templates/combined/opencode-workflow-yaml.md | 2 +- .../installers/lib/ide/templates/combined/opencode-workflow.md | 2 +- tools/cli/installers/lib/ide/templates/combined/rovodev.md | 2 +- tools/cli/installers/lib/ide/templates/combined/trae.md | 2 +- .../installers/lib/ide/templates/combined/windsurf-workflow.md | 2 +- .../installers/lib/ide/templates/workflow-command-template.md | 2 +- tools/cli/installers/lib/ide/templates/workflow-commander.md | 2 +- 27 files changed, 28 insertions(+), 27 deletions(-) diff --git a/tools/cli/installers/lib/ide/templates/agent-command-template.md b/tools/cli/installers/lib/ide/templates/agent-command-template.md index c2c2f44f2..5ad23cb57 100644 --- a/tools/cli/installers/lib/ide/templates/agent-command-template.md +++ b/tools/cli/installers/lib/ide/templates/agent-command-template.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. 1. LOAD the FULL agent file from @_bmad/{{module}}/agents/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/antigravity.md b/tools/cli/installers/lib/ide/templates/combined/antigravity.md index def43ab1a..ac3ac1d72 100644 --- a/tools/cli/installers/lib/ide/templates/combined/antigravity.md +++ b/tools/cli/installers/lib/ide/templates/combined/antigravity.md @@ -7,4 +7,4 @@ Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_p Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-agent.md b/tools/cli/installers/lib/ide/templates/combined/default-agent.md index 68b6d72b0..e1603afee 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-task.md b/tools/cli/installers/lib/ide/templates/combined/default-task.md index 6deadaba7..19426c52d 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-task.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-tool.md b/tools/cli/installers/lib/ide/templates/combined/default-tool.md index 4ea9bfed6..7de248337 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-tool.md @@ -9,4 +9,4 @@ Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the tool file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md index 2babe059a..58019db06 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md @@ -3,7 +3,7 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md index 5d07d0a7e..4c2b0343d 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md @@ -3,6 +3,6 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml index 05cdb3d9f..fecfcd597 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml @@ -8,7 +8,7 @@ PRE-FLIGHT CHECKLIST: 3. [ ] CONFIRM: The user's name from config is {user_name}. 4. [ ] CONFIRM: interaction_style is set to "{interaction_style}". -RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. Only after all checks are complete, greet the user by name and display the menu. Acknowledge this checklist is complete in your first response. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml index 31837088e..df90f42d1 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml @@ -6,7 +6,8 @@ TASK INSTRUCTIONS: 1. LOAD the task file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -4. RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. + +RULE: When interaction_style is "structured", questions to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml index 969ffb4ec..cdddcd380 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml @@ -7,7 +7,7 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml index a9f8a14ca..4b20ffab6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml @@ -12,7 +12,7 @@ CRITICAL: This is a structured YAML workflow. Follow these steps precisely: 3. EXECUTE each step in order 4. VALIDATE outputs before proceeding to next step -RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml index 3a2774adb..4c6eb9c4a 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml @@ -10,7 +10,7 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md index 33d9f93c1..3883c30ba 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md @@ -6,7 +6,7 @@ inclusion: manual You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. 1. LOAD the FULL agent file from #[[file:{{bmadFolderName}}/{{path}}]] diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md index d6b388162..c2435e13b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md @@ -8,4 +8,4 @@ Read the entire task file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the task file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md index e07fa6a8d..8221f069e 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md @@ -8,4 +8,4 @@ Read the entire tool file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the tool file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md index 1db8829e6..5a87da051 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md @@ -4,7 +4,7 @@ inclusion: manual # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md index 5966c0c72..d1e891b06 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md @@ -4,6 +4,6 @@ inclusion: manual # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL #[[file:{{bmadFolderName}}/{{path}}]], READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md index 5b395861b..ce1cc5eab 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST call the question tool unless the workflow or user explicitly requests free-form input. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md index 9226cc0c6..1c600c94a 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md @@ -10,6 +10,6 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST call the question tool unless the workflow or user explicitly requests free-form input. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md index a8265a92f..4546d2dca 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md @@ -10,6 +10,6 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST call the question tool unless the workflow or user explicitly requests free-form input. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index 71989b55e..066f45809 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -13,6 +13,6 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST call the question tool unless the workflow or user explicitly requests free-form input. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index 71989b55e..066f45809 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -13,6 +13,6 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", EVERY question to the user MUST call the question tool. Do NOT write questions as plain text. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST call the question tool unless the workflow or user explicitly requests free-form input. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/rovodev.md b/tools/cli/installers/lib/ide/templates/combined/rovodev.md index 02b6ac956..beeb6498f 100644 --- a/tools/cli/installers/lib/ide/templates/combined/rovodev.md +++ b/tools/cli/installers/lib/ide/templates/combined/rovodev.md @@ -4,7 +4,7 @@ --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/trae.md b/tools/cli/installers/lib/ide/templates/combined/trae.md index 6d3a8a2e5..8536ca436 100644 --- a/tools/cli/installers/lib/ide/templates/combined/trae.md +++ b/tools/cli/installers/lib/ide/templates/combined/trae.md @@ -8,4 +8,4 @@ Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_p Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md index 5be5357bf..6764e25ec 100644 --- a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md @@ -9,4 +9,4 @@ Read the entire workflow file at {project-root}/{{bmadFolderName}}/{{workflow_pa Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/workflow-command-template.md b/tools/cli/installers/lib/ide/templates/workflow-command-template.md index f5caa9948..e795b1b95 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-command-template.md +++ b/tools/cli/installers/lib/ide/templates/workflow-command-template.md @@ -2,7 +2,7 @@ description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/workflow-commander.md b/tools/cli/installers/lib/ide/templates/workflow-commander.md index 5ab0d99a8..13659718b 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-commander.md +++ b/tools/cli/installers/lib/ide/templates/workflow-commander.md @@ -2,6 +2,6 @@ description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. Do NOT ask open-ended inline questions. No exceptions. +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{{workflow_path}}, READ its entire contents and follow its directions exactly! From 85e81389ee3d72e0530f8cd877580f511ee2e32f Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 12:36:54 +0100 Subject: [PATCH 06/14] feat: add dedicated Claude Code templates with AskUserQuestion tool Create claude-specific template set (agent, task, tool, workflow, workflow-yaml) that explicitly references the `AskUserQuestion` tool, matching how gemini/kiro/opencode each have their own templates with IDE-specific tool names. - Change Claude Code template_type from "default" to "claude" in platform-codes.yaml - Replace symlinks with real template files - Create new claude-task.md and claude-tool.md - default-* templates remain as generic fallbacks for cursor, auggie, and other IDEs using numbered-list wording - Fix default-tool.md RULE placement (move before execution instructions) Co-Authored-By: Claude Opus 4.6 --- .../cli/installers/lib/ide/platform-codes.yaml | 2 +- .../lib/ide/templates/combined/claude-agent.md | 18 +++++++++++++++++- .../lib/ide/templates/combined/claude-task.md | 12 ++++++++++++ .../lib/ide/templates/combined/claude-tool.md | 12 ++++++++++++ .../templates/combined/claude-workflow-yaml.md | 17 ++++++++++++++++- .../ide/templates/combined/claude-workflow.md | 9 ++++++++- .../lib/ide/templates/combined/default-tool.md | 4 ++-- 7 files changed, 68 insertions(+), 6 deletions(-) mode change 120000 => 100644 tools/cli/installers/lib/ide/templates/combined/claude-agent.md create mode 100644 tools/cli/installers/lib/ide/templates/combined/claude-task.md create mode 100644 tools/cli/installers/lib/ide/templates/combined/claude-tool.md mode change 120000 => 100644 tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md mode change 120000 => 100644 tools/cli/installers/lib/ide/templates/combined/claude-workflow.md diff --git a/tools/cli/installers/lib/ide/platform-codes.yaml b/tools/cli/installers/lib/ide/platform-codes.yaml index 4e6ca8070..b8881216b 100644 --- a/tools/cli/installers/lib/ide/platform-codes.yaml +++ b/tools/cli/installers/lib/ide/platform-codes.yaml @@ -39,7 +39,7 @@ platforms: description: "Anthropic's official CLI for Claude" installer: target_dir: .claude/commands - template_type: default + template_type: claude ancestor_conflict_check: true cline: diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-agent.md b/tools/cli/installers/lib/ide/templates/combined/claude-agent.md deleted file mode 120000 index 9f6c17b45..000000000 --- a/tools/cli/installers/lib/ide/templates/combined/claude-agent.md +++ /dev/null @@ -1 +0,0 @@ -default-agent.md \ No newline at end of file diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-agent.md b/tools/cli/installers/lib/ide/templates/combined/claude-agent.md new file mode 100644 index 000000000..858d41276 --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-agent.md @@ -0,0 +1,17 @@ +--- +name: '{{name}}' +description: '{{description}}' +--- + +You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. + + +1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} +2. READ its entire contents - this contains the complete agent persona, menu, and instructions +3. FOLLOW every step in the section precisely +4. DISPLAY the welcome/greeting as instructed +5. PRESENT the numbered menu +6. WAIT for user input before proceeding + diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-task.md b/tools/cli/installers/lib/ide/templates/combined/claude-task.md new file mode 100644 index 000000000..80cfb07cf --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-task.md @@ -0,0 +1,12 @@ +--- +name: '{{name}}' +description: '{{description}}' +--- + +# {{name}} + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. + +Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} + +Follow all instructions in the task file exactly as written. diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-tool.md b/tools/cli/installers/lib/ide/templates/combined/claude-tool.md new file mode 100644 index 000000000..bbd4637ae --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-tool.md @@ -0,0 +1,12 @@ +--- +name: '{{name}}' +description: '{{description}}' +--- + +# {{name}} + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. + +Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} + +Follow all instructions in the tool file exactly as written. diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md deleted file mode 120000 index 11f78e1d4..000000000 --- a/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md +++ /dev/null @@ -1 +0,0 @@ -default-workflow-yaml.md \ No newline at end of file diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md new file mode 100644 index 000000000..9345f5462 --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md @@ -0,0 +1,16 @@ +--- +name: '{{name}}' +description: '{{description}}' +--- + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. + +IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: + + +1. Always LOAD the FULL @{project-root}/{{bmadFolderName}}/core/tasks/workflow.xml +2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @{project-root}/{{bmadFolderName}}/{{path}} +3. Pass the yaml path @{project-root}/{{bmadFolderName}}/{{path}} as 'workflow-config' parameter to the workflow.xml instructions +4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions +5. Save outputs after EACH section when generating any documents from templates + diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md deleted file mode 120000 index 8d4ae5238..000000000 --- a/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md +++ /dev/null @@ -1 +0,0 @@ -default-workflow.md \ No newline at end of file diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md new file mode 100644 index 000000000..375d7c261 --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md @@ -0,0 +1,8 @@ +--- +name: '{{name}}' +description: '{{description}}' +--- + +RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. + +IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/default-tool.md b/tools/cli/installers/lib/ide/templates/combined/default-tool.md index 7de248337..8e217cfe1 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-tool.md @@ -5,8 +5,8 @@ description: '{{description}}' # {{name}} +RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. + Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the tool file exactly as written. - -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. From fd80bb625998a0d75beee4666c87e98646e36240 Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 12:37:48 +0100 Subject: [PATCH 07/14] style: backtick tool names in opencode templates for clarity Co-Authored-By: Claude Opus 4.6 --- .../cli/installers/lib/ide/templates/combined/opencode-agent.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-task.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-tool.md | 2 +- .../lib/ide/templates/combined/opencode-workflow-yaml.md | 2 +- .../installers/lib/ide/templates/combined/opencode-workflow.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md index ce1cc5eab..84b0189b4 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", questions to the user MUST call the question tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", questions to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md index 1c600c94a..0b6ea3928 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md @@ -10,6 +10,6 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", questions to the user MUST call the question tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", questions to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md index 4546d2dca..8afcc9714 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md @@ -10,6 +10,6 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", questions to the user MUST call the question tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", questions to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index 066f45809..fc190751d 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -13,6 +13,6 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", questions to the user MUST call the question tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", questions to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index 066f45809..fc190751d 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -13,6 +13,6 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", questions to the user MUST call the question tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", questions to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} From 6feeec9e753232bb0db15de4d952a0d459e49241 Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 13:30:38 +0100 Subject: [PATCH 08/14] style: add EVERY to all RULE directives for consistency Standardize all 27 template RULE lines to use "EVERY question" phrasing. The free-form escape clause prevents over-restriction while EVERY strengthens the default structured behavior. Co-Authored-By: Claude Opus 4.6 --- .../cli/installers/lib/ide/templates/agent-command-template.md | 2 +- tools/cli/installers/lib/ide/templates/combined/antigravity.md | 2 +- .../cli/installers/lib/ide/templates/combined/default-agent.md | 2 +- tools/cli/installers/lib/ide/templates/combined/default-task.md | 2 +- tools/cli/installers/lib/ide/templates/combined/default-tool.md | 2 +- .../lib/ide/templates/combined/default-workflow-yaml.md | 2 +- .../installers/lib/ide/templates/combined/default-workflow.md | 2 +- .../cli/installers/lib/ide/templates/combined/gemini-agent.toml | 2 +- .../cli/installers/lib/ide/templates/combined/gemini-task.toml | 2 +- .../cli/installers/lib/ide/templates/combined/gemini-tool.toml | 2 +- .../lib/ide/templates/combined/gemini-workflow-yaml.toml | 2 +- .../installers/lib/ide/templates/combined/gemini-workflow.toml | 2 +- tools/cli/installers/lib/ide/templates/combined/kiro-agent.md | 2 +- tools/cli/installers/lib/ide/templates/combined/kiro-task.md | 2 +- tools/cli/installers/lib/ide/templates/combined/kiro-tool.md | 2 +- .../installers/lib/ide/templates/combined/kiro-workflow-yaml.md | 2 +- .../cli/installers/lib/ide/templates/combined/kiro-workflow.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-agent.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-task.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-tool.md | 2 +- .../lib/ide/templates/combined/opencode-workflow-yaml.md | 2 +- .../installers/lib/ide/templates/combined/opencode-workflow.md | 2 +- tools/cli/installers/lib/ide/templates/combined/rovodev.md | 2 +- tools/cli/installers/lib/ide/templates/combined/trae.md | 2 +- .../installers/lib/ide/templates/combined/windsurf-workflow.md | 2 +- .../installers/lib/ide/templates/workflow-command-template.md | 2 +- tools/cli/installers/lib/ide/templates/workflow-commander.md | 2 +- 27 files changed, 27 insertions(+), 27 deletions(-) diff --git a/tools/cli/installers/lib/ide/templates/agent-command-template.md b/tools/cli/installers/lib/ide/templates/agent-command-template.md index 5ad23cb57..d9ab8f151 100644 --- a/tools/cli/installers/lib/ide/templates/agent-command-template.md +++ b/tools/cli/installers/lib/ide/templates/agent-command-template.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. 1. LOAD the FULL agent file from @_bmad/{{module}}/agents/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/antigravity.md b/tools/cli/installers/lib/ide/templates/combined/antigravity.md index ac3ac1d72..4de528691 100644 --- a/tools/cli/installers/lib/ide/templates/combined/antigravity.md +++ b/tools/cli/installers/lib/ide/templates/combined/antigravity.md @@ -7,4 +7,4 @@ Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_p Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-agent.md b/tools/cli/installers/lib/ide/templates/combined/default-agent.md index e1603afee..f01d2457f 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-task.md b/tools/cli/installers/lib/ide/templates/combined/default-task.md index 19426c52d..ee9511287 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-task.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-tool.md b/tools/cli/installers/lib/ide/templates/combined/default-tool.md index 8e217cfe1..6383f36c6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-tool.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md index 58019db06..e33120f9f 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md @@ -3,7 +3,7 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md index 4c2b0343d..75872d421 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md @@ -3,6 +3,6 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml index fecfcd597..bfe2a1459 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml @@ -8,7 +8,7 @@ PRE-FLIGHT CHECKLIST: 3. [ ] CONFIRM: The user's name from config is {user_name}. 4. [ ] CONFIRM: interaction_style is set to "{interaction_style}". -RULE: When interaction_style is "structured", questions to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. Only after all checks are complete, greet the user by name and display the menu. Acknowledge this checklist is complete in your first response. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml index df90f42d1..56f8ec16e 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml @@ -7,7 +7,7 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", questions to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml index cdddcd380..68819aef4 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml @@ -7,7 +7,7 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", questions to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml index 4b20ffab6..d16373560 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml @@ -12,7 +12,7 @@ CRITICAL: This is a structured YAML workflow. Follow these steps precisely: 3. EXECUTE each step in order 4. VALIDATE outputs before proceeding to next step -RULE: When interaction_style is "structured", questions to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml index 4c6eb9c4a..ec95c3508 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml @@ -10,7 +10,7 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", questions to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md index 3883c30ba..407afe03b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md @@ -6,7 +6,7 @@ inclusion: manual You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. 1. LOAD the FULL agent file from #[[file:{{bmadFolderName}}/{{path}}]] diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md index c2435e13b..925f6c802 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md @@ -8,4 +8,4 @@ Read the entire task file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the task file exactly as written. -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md index 8221f069e..3182b0fe3 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md @@ -8,4 +8,4 @@ Read the entire tool file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the tool file exactly as written. -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md index 5a87da051..3c71cc6c0 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md @@ -4,7 +4,7 @@ inclusion: manual # {{name}} -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md index d1e891b06..977a98850 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md @@ -4,6 +4,6 @@ inclusion: manual # {{name}} -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL #[[file:{{bmadFolderName}}/{{path}}]], READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md index 84b0189b4..1db56ac69 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", questions to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md index 0b6ea3928..4fa6f2fd6 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md @@ -10,6 +10,6 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", questions to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md index 8afcc9714..89a12d26c 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md @@ -10,6 +10,6 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", questions to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index fc190751d..e56138b05 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -13,6 +13,6 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", questions to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index fc190751d..e56138b05 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -13,6 +13,6 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", questions to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/rovodev.md b/tools/cli/installers/lib/ide/templates/combined/rovodev.md index beeb6498f..99bc77f32 100644 --- a/tools/cli/installers/lib/ide/templates/combined/rovodev.md +++ b/tools/cli/installers/lib/ide/templates/combined/rovodev.md @@ -4,7 +4,7 @@ --- -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/trae.md b/tools/cli/installers/lib/ide/templates/combined/trae.md index 8536ca436..4f3ad39ac 100644 --- a/tools/cli/installers/lib/ide/templates/combined/trae.md +++ b/tools/cli/installers/lib/ide/templates/combined/trae.md @@ -8,4 +8,4 @@ Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_p Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md index 6764e25ec..a17f975fc 100644 --- a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md @@ -9,4 +9,4 @@ Read the entire workflow file at {project-root}/{{bmadFolderName}}/{{workflow_pa Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. diff --git a/tools/cli/installers/lib/ide/templates/workflow-command-template.md b/tools/cli/installers/lib/ide/templates/workflow-command-template.md index e795b1b95..aef45f48b 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-command-template.md +++ b/tools/cli/installers/lib/ide/templates/workflow-command-template.md @@ -2,7 +2,7 @@ description: '{{description}}' --- -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/workflow-commander.md b/tools/cli/installers/lib/ide/templates/workflow-commander.md index 13659718b..2b4416492 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-commander.md +++ b/tools/cli/installers/lib/ide/templates/workflow-commander.md @@ -2,6 +2,6 @@ description: '{{description}}' --- -RULE: When interaction_style is "structured", questions to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{{workflow_path}}, READ its entire contents and follow its directions exactly! From 1cfde63aeee6b8c3669e53d06bc6babe762fb4d2 Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 13:42:32 +0100 Subject: [PATCH 09/14] fix: add interaction_style rule to activation-rules with {braces} Matches the established pattern where all session variables use {braces} when referenced (like {communication_language} and {user_name}). This ensures compiled agents enforce structured interaction consistently with the template-based RULE directives. Co-Authored-By: Claude Opus 4.6 --- src/utility/agent-components/activation-rules.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utility/agent-components/activation-rules.txt b/src/utility/agent-components/activation-rules.txt index a67ae4993..1c4e610f6 100644 --- a/src/utility/agent-components/activation-rules.txt +++ b/src/utility/agent-components/activation-rules.txt @@ -1,5 +1,6 @@ ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style. + When {interaction_style} is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. Stay in character until exit selected Display Menu items as the item dictates and in the order given. Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml From 536c484c7dd73a62a0f3209eea1006866ae1772c Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 13:52:30 +0100 Subject: [PATCH 10/14] fix: use explicit variable reference in interaction_style RULE Change all 34 RULE directives from bare "When interaction_style is" to explicit "Check your stored {interaction_style} session variable from activation step 2" with a fallback default to structured mode. Addresses cynical review finding that LLMs struggle with implicit natural-language conditionals and need explicit variable lookup instructions plus failure mode handling. Co-Authored-By: Claude Opus 4.6 --- src/utility/agent-components/activation-rules.txt | 2 +- tools/cli/installers/lib/ide/codex.js | 1 + .../cli/installers/lib/ide/templates/agent-command-template.md | 2 +- tools/cli/installers/lib/ide/templates/combined/antigravity.md | 2 +- tools/cli/installers/lib/ide/templates/combined/claude-agent.md | 2 +- tools/cli/installers/lib/ide/templates/combined/claude-task.md | 2 +- tools/cli/installers/lib/ide/templates/combined/claude-tool.md | 2 +- .../lib/ide/templates/combined/claude-workflow-yaml.md | 2 +- .../installers/lib/ide/templates/combined/claude-workflow.md | 2 +- .../cli/installers/lib/ide/templates/combined/default-agent.md | 2 +- tools/cli/installers/lib/ide/templates/combined/default-task.md | 2 +- tools/cli/installers/lib/ide/templates/combined/default-tool.md | 2 +- .../lib/ide/templates/combined/default-workflow-yaml.md | 2 +- .../installers/lib/ide/templates/combined/default-workflow.md | 2 +- .../cli/installers/lib/ide/templates/combined/gemini-agent.toml | 2 +- .../cli/installers/lib/ide/templates/combined/gemini-task.toml | 2 +- .../cli/installers/lib/ide/templates/combined/gemini-tool.toml | 2 +- .../lib/ide/templates/combined/gemini-workflow-yaml.toml | 2 +- .../installers/lib/ide/templates/combined/gemini-workflow.toml | 2 +- tools/cli/installers/lib/ide/templates/combined/kiro-agent.md | 2 +- tools/cli/installers/lib/ide/templates/combined/kiro-task.md | 2 +- tools/cli/installers/lib/ide/templates/combined/kiro-tool.md | 2 +- .../installers/lib/ide/templates/combined/kiro-workflow-yaml.md | 2 +- .../cli/installers/lib/ide/templates/combined/kiro-workflow.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-agent.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-task.md | 2 +- .../cli/installers/lib/ide/templates/combined/opencode-tool.md | 2 +- .../lib/ide/templates/combined/opencode-workflow-yaml.md | 2 +- .../installers/lib/ide/templates/combined/opencode-workflow.md | 2 +- tools/cli/installers/lib/ide/templates/combined/rovodev.md | 2 +- tools/cli/installers/lib/ide/templates/combined/trae.md | 2 +- .../installers/lib/ide/templates/combined/windsurf-workflow.md | 2 +- .../installers/lib/ide/templates/workflow-command-template.md | 2 +- tools/cli/installers/lib/ide/templates/workflow-commander.md | 2 +- 34 files changed, 34 insertions(+), 33 deletions(-) diff --git a/src/utility/agent-components/activation-rules.txt b/src/utility/agent-components/activation-rules.txt index 1c4e610f6..e14766619 100644 --- a/src/utility/agent-components/activation-rules.txt +++ b/src/utility/agent-components/activation-rules.txt @@ -1,6 +1,6 @@ ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style. - When {interaction_style} is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. + Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. Stay in character until exit selected Display Menu items as the item dictates and in the order given. Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml diff --git a/tools/cli/installers/lib/ide/codex.js b/tools/cli/installers/lib/ide/codex.js index abee979fd..bf7445e31 100644 --- a/tools/cli/installers/lib/ide/codex.js +++ b/tools/cli/installers/lib/ide/codex.js @@ -416,6 +416,7 @@ class CodexSetup extends BaseIdeSetup { const skillContent = `---\n${fm}\n---\n` + "\nYou must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.\n" + + '\nRULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `ask_user_question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode.\n' + '\n\n' + `1. LOAD the FULL agent file from @${agentPath}\n` + '2. READ its entire contents - this contains the complete agent persona, menu, and instructions\n' + diff --git a/tools/cli/installers/lib/ide/templates/agent-command-template.md b/tools/cli/installers/lib/ide/templates/agent-command-template.md index d9ab8f151..efdf63fa6 100644 --- a/tools/cli/installers/lib/ide/templates/agent-command-template.md +++ b/tools/cli/installers/lib/ide/templates/agent-command-template.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. 1. LOAD the FULL agent file from @_bmad/{{module}}/agents/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/antigravity.md b/tools/cli/installers/lib/ide/templates/combined/antigravity.md index 4de528691..be74195fc 100644 --- a/tools/cli/installers/lib/ide/templates/combined/antigravity.md +++ b/tools/cli/installers/lib/ide/templates/combined/antigravity.md @@ -7,4 +7,4 @@ Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_p Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-agent.md b/tools/cli/installers/lib/ide/templates/combined/claude-agent.md index 858d41276..ff5dd90a7 100644 --- a/tools/cli/installers/lib/ide/templates/combined/claude-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/claude-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-task.md b/tools/cli/installers/lib/ide/templates/combined/claude-task.md index 80cfb07cf..e165713e3 100644 --- a/tools/cli/installers/lib/ide/templates/combined/claude-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/claude-task.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-tool.md b/tools/cli/installers/lib/ide/templates/combined/claude-tool.md index bbd4637ae..21c0a787f 100644 --- a/tools/cli/installers/lib/ide/templates/combined/claude-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/claude-tool.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md index 9345f5462..bf2011a22 100644 --- a/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md @@ -3,7 +3,7 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md index 375d7c261..94ce30143 100644 --- a/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md @@ -3,6 +3,6 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/default-agent.md b/tools/cli/installers/lib/ide/templates/combined/default-agent.md index f01d2457f..19e7b8fc4 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-task.md b/tools/cli/installers/lib/ide/templates/combined/default-task.md index ee9511287..8950cd0e7 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-task.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-tool.md b/tools/cli/installers/lib/ide/templates/combined/default-tool.md index 6383f36c6..e9ddd7d41 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-tool.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md index e33120f9f..1a5c27391 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md @@ -3,7 +3,7 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md index 75872d421..360cff1d9 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md @@ -3,6 +3,6 @@ name: '{{name}}' description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml index bfe2a1459..6e09ba186 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml @@ -8,7 +8,7 @@ PRE-FLIGHT CHECKLIST: 3. [ ] CONFIRM: The user's name from config is {user_name}. 4. [ ] CONFIRM: interaction_style is set to "{interaction_style}". -RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. Only after all checks are complete, greet the user by name and display the menu. Acknowledge this checklist is complete in your first response. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml index 56f8ec16e..8a6092366 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml @@ -7,7 +7,7 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml index 68819aef4..b550822b0 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml @@ -7,7 +7,7 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml index d16373560..d725ddafd 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml @@ -12,7 +12,7 @@ CRITICAL: This is a structured YAML workflow. Follow these steps precisely: 3. EXECUTE each step in order 4. VALIDATE outputs before proceeding to next step -RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml index ec95c3508..d8d810146 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml @@ -10,7 +10,7 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md index 407afe03b..2d127dad4 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md @@ -6,7 +6,7 @@ inclusion: manual You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. 1. LOAD the FULL agent file from #[[file:{{bmadFolderName}}/{{path}}]] diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md index 925f6c802..472841d57 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md @@ -8,4 +8,4 @@ Read the entire task file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the task file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md index 3182b0fe3..1cadd2947 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md @@ -8,4 +8,4 @@ Read the entire tool file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the tool file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md index 3c71cc6c0..91b1715d8 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md @@ -4,7 +4,7 @@ inclusion: manual # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md index 977a98850..6bcc16ff2 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md @@ -4,6 +4,6 @@ inclusion: manual # {{name}} -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL #[[file:{{bmadFolderName}}/{{path}}]], READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md index 1db56ac69..c8d36b2d7 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md index 4fa6f2fd6..c59b4e587 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md @@ -10,6 +10,6 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md index 89a12d26c..ec2796005 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md @@ -10,6 +10,6 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: When interaction_style is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index e56138b05..e1b3d3f30 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -13,6 +13,6 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index e56138b05..e1b3d3f30 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -13,6 +13,6 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: When interaction_style is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/rovodev.md b/tools/cli/installers/lib/ide/templates/combined/rovodev.md index 99bc77f32..8d546a7ca 100644 --- a/tools/cli/installers/lib/ide/templates/combined/rovodev.md +++ b/tools/cli/installers/lib/ide/templates/combined/rovodev.md @@ -4,7 +4,7 @@ --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/trae.md b/tools/cli/installers/lib/ide/templates/combined/trae.md index 4f3ad39ac..278efa6fb 100644 --- a/tools/cli/installers/lib/ide/templates/combined/trae.md +++ b/tools/cli/installers/lib/ide/templates/combined/trae.md @@ -8,4 +8,4 @@ Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_p Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md index a17f975fc..f9429fcac 100644 --- a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md @@ -9,4 +9,4 @@ Read the entire workflow file at {project-root}/{{bmadFolderName}}/{{workflow_pa Follow all instructions in the workflow file exactly as written. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/workflow-command-template.md b/tools/cli/installers/lib/ide/templates/workflow-command-template.md index aef45f48b..374bdbfec 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-command-template.md +++ b/tools/cli/installers/lib/ide/templates/workflow-command-template.md @@ -2,7 +2,7 @@ description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/workflow-commander.md b/tools/cli/installers/lib/ide/templates/workflow-commander.md index 2b4416492..48c57b2d0 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-commander.md +++ b/tools/cli/installers/lib/ide/templates/workflow-commander.md @@ -2,6 +2,6 @@ description: '{{description}}' --- -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{{workflow_path}}, READ its entire contents and follow its directions exactly! From 079bcc98d405bf01b08d330013fc40e14020acec Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 13:54:52 +0100 Subject: [PATCH 11/14] fix: update remaining src files and remove duplicate RULE lines from merge - Apply explicit {interaction_style} variable reference to handler-action, handler-exec, handler-workflow, agent-command-header, and workflow.xml - Remove old duplicate RULE lines left over from merge conflict resolution in 10 template files (default-task/tool, rovodev, opencode-workflow*, gemini-agent/task/tool/workflow/workflow-yaml) Co-Authored-By: Claude Opus 4.6 --- src/core/tasks/workflow.xml | 2 +- src/utility/agent-components/agent-command-header.md | 2 +- src/utility/agent-components/handler-action.txt | 2 +- src/utility/agent-components/handler-exec.txt | 2 +- src/utility/agent-components/handler-workflow.txt | 2 +- tools/cli/installers/lib/ide/templates/combined/default-task.md | 2 -- tools/cli/installers/lib/ide/templates/combined/default-tool.md | 2 -- .../cli/installers/lib/ide/templates/combined/gemini-agent.toml | 2 -- .../cli/installers/lib/ide/templates/combined/gemini-task.toml | 1 - .../cli/installers/lib/ide/templates/combined/gemini-tool.toml | 1 - .../lib/ide/templates/combined/gemini-workflow-yaml.toml | 1 - .../installers/lib/ide/templates/combined/gemini-workflow.toml | 1 - .../lib/ide/templates/combined/opencode-workflow-yaml.md | 1 - .../installers/lib/ide/templates/combined/opencode-workflow.md | 1 - tools/cli/installers/lib/ide/templates/combined/rovodev.md | 2 -- 15 files changed, 5 insertions(+), 19 deletions(-) diff --git a/src/core/tasks/workflow.xml b/src/core/tasks/workflow.xml index 67d1ee023..6966a96a4 100644 --- a/src/core/tasks/workflow.xml +++ b/src/core/tasks/workflow.xml @@ -2,7 +2,7 @@ Execute given workflow by loading its configuration, following instructions, and producing output - RULE: When interaction_style is "structured", EVERY question to the user MUST use the native question tool. No exceptions. No inline prompts. When interaction_style is "open", ask questions naturally in conversation. + RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use the native question tool. No exceptions. No inline prompts. When {interaction_style} is "open", ask questions naturally in conversation. If you cannot determine {interaction_style}, default to structured mode. Always read COMPLETE files - NEVER use offset/limit when reading any workflow related files Instructions are MANDATORY - either as file path, steps or embedded list in YAML, XML or markdown Execute ALL steps in instructions IN EXACT ORDER diff --git a/src/utility/agent-components/agent-command-header.md b/src/utility/agent-components/agent-command-header.md index fd4abc1a5..4e419412b 100644 --- a/src/utility/agent-components/agent-command-header.md +++ b/src/utility/agent-components/agent-command-header.md @@ -1,3 +1,3 @@ You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. If you cannot determine {interaction_style}, default to structured mode. diff --git a/src/utility/agent-components/handler-action.txt b/src/utility/agent-components/handler-action.txt index da21fa426..83201af70 100644 --- a/src/utility/agent-components/handler-action.txt +++ b/src/utility/agent-components/handler-action.txt @@ -1,5 +1,5 @@ When menu item has: action="#id" → Find prompt with id="id" in current agent XML, follow its content When menu item has: action="text" → Follow the text directly as an inline instruction - RULE: When interaction_style is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. + RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to structured mode. \ No newline at end of file diff --git a/src/utility/agent-components/handler-exec.txt b/src/utility/agent-components/handler-exec.txt index 03276dbee..39aa46ce6 100644 --- a/src/utility/agent-components/handler-exec.txt +++ b/src/utility/agent-components/handler-exec.txt @@ -3,5 +3,5 @@ 1. Read fully and follow the file at that path 2. Process the complete file and follow all instructions within it 3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context. - 4. RULE: When interaction_style is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. + 4. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to structured mode. \ No newline at end of file diff --git a/src/utility/agent-components/handler-workflow.txt b/src/utility/agent-components/handler-workflow.txt index c7d677117..252830491 100644 --- a/src/utility/agent-components/handler-workflow.txt +++ b/src/utility/agent-components/handler-workflow.txt @@ -7,5 +7,5 @@ 4. Follow workflow.xml instructions precisely following all steps 5. Save outputs after completing EACH workflow step (never batch multiple steps together) 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet - 7. RULE: When interaction_style is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. + 7. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to structured mode. \ No newline at end of file diff --git a/tools/cli/installers/lib/ide/templates/combined/default-task.md b/tools/cli/installers/lib/ide/templates/combined/default-task.md index 752161ac8..8950cd0e7 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-task.md @@ -10,5 +10,3 @@ RULE: Check your stored {interaction_style} session variable from activation ste Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the task file exactly as written. - -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/default-tool.md b/tools/cli/installers/lib/ide/templates/combined/default-tool.md index b5bf9735f..e9ddd7d41 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-tool.md @@ -10,5 +10,3 @@ RULE: Check your stored {interaction_style} session variable from activation ste Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} Follow all instructions in the tool file exactly as written. - -RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml index 03187bf44..6e09ba186 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml @@ -10,8 +10,6 @@ PRE-FLIGHT CHECKLIST: RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. - Only after all checks are complete, greet the user by name and display the menu. Acknowledge this checklist is complete in your first response. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml index cfe5c3669..8a6092366 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml @@ -6,7 +6,6 @@ TASK INSTRUCTIONS: 1. LOAD the task file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -4. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml index 0fa09e249..b550822b0 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml @@ -6,7 +6,6 @@ TOOL INSTRUCTIONS: 1. LOAD the tool file from {project-root}/{{bmadFolderName}}/{{path}} 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -4. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml index cff87a977..d725ddafd 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml @@ -11,7 +11,6 @@ CRITICAL: This is a structured YAML workflow. Follow these steps precisely: - Dependencies between steps 3. EXECUTE each step in order 4. VALIDATE outputs before proceeding to next step -5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml index 4c38f76f4..d8d810146 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml @@ -9,7 +9,6 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index dd7661cd8..e1b3d3f30 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -12,7 +12,6 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index dd7661cd8..e1b3d3f30 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -12,7 +12,6 @@ WORKFLOW INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -5. RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/rovodev.md b/tools/cli/installers/lib/ide/templates/combined/rovodev.md index deb3d7f7b..8d546a7ca 100644 --- a/tools/cli/installers/lib/ide/templates/combined/rovodev.md +++ b/tools/cli/installers/lib/ide/templates/combined/rovodev.md @@ -9,5 +9,3 @@ RULE: Check your stored {interaction_style} session variable from activation ste Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} Follow all instructions in the workflow file exactly as written. - -RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list. No exceptions. From cc59e1cdb810adf4b9cab2ab517a8b93e733a8f5 Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 13:57:23 +0100 Subject: [PATCH 12/14] feat: change interaction_style default from structured to open - Update module.yaml default to "open" and reorder options - Change fallback in all 40 RULE directives from "default to structured mode" to "default to open mode" Co-Authored-By: Claude Opus 4.6 --- src/core/module.yaml | 8 ++++---- src/core/tasks/workflow.xml | 2 +- src/utility/agent-components/activation-rules.txt | 2 +- src/utility/agent-components/agent-command-header.md | 2 +- src/utility/agent-components/handler-action.txt | 2 +- src/utility/agent-components/handler-exec.txt | 2 +- src/utility/agent-components/handler-workflow.txt | 2 +- tools/cli/installers/lib/ide/codex.js | 2 +- .../lib/ide/templates/agent-command-template.md | 2 +- .../installers/lib/ide/templates/combined/antigravity.md | 2 +- .../installers/lib/ide/templates/combined/claude-agent.md | 2 +- .../installers/lib/ide/templates/combined/claude-task.md | 2 +- .../installers/lib/ide/templates/combined/claude-tool.md | 2 +- .../lib/ide/templates/combined/claude-workflow-yaml.md | 2 +- .../lib/ide/templates/combined/claude-workflow.md | 2 +- .../lib/ide/templates/combined/default-agent.md | 2 +- .../installers/lib/ide/templates/combined/default-task.md | 2 +- .../installers/lib/ide/templates/combined/default-tool.md | 2 +- .../lib/ide/templates/combined/default-workflow-yaml.md | 2 +- .../lib/ide/templates/combined/default-workflow.md | 2 +- .../lib/ide/templates/combined/gemini-agent.toml | 2 +- .../lib/ide/templates/combined/gemini-task.toml | 2 +- .../lib/ide/templates/combined/gemini-tool.toml | 2 +- .../lib/ide/templates/combined/gemini-workflow-yaml.toml | 2 +- .../lib/ide/templates/combined/gemini-workflow.toml | 2 +- .../installers/lib/ide/templates/combined/kiro-agent.md | 2 +- .../installers/lib/ide/templates/combined/kiro-task.md | 2 +- .../installers/lib/ide/templates/combined/kiro-tool.md | 2 +- .../lib/ide/templates/combined/kiro-workflow-yaml.md | 2 +- .../lib/ide/templates/combined/kiro-workflow.md | 2 +- .../lib/ide/templates/combined/opencode-agent.md | 2 +- .../lib/ide/templates/combined/opencode-task.md | 2 +- .../lib/ide/templates/combined/opencode-tool.md | 2 +- .../lib/ide/templates/combined/opencode-workflow-yaml.md | 2 +- .../lib/ide/templates/combined/opencode-workflow.md | 2 +- .../cli/installers/lib/ide/templates/combined/rovodev.md | 2 +- tools/cli/installers/lib/ide/templates/combined/trae.md | 2 +- .../lib/ide/templates/combined/windsurf-workflow.md | 2 +- .../lib/ide/templates/workflow-command-template.md | 2 +- .../installers/lib/ide/templates/workflow-commander.md | 2 +- 40 files changed, 43 insertions(+), 43 deletions(-) diff --git a/src/core/module.yaml b/src/core/module.yaml index c45a302b7..499e09904 100644 --- a/src/core/module.yaml +++ b/src/core/module.yaml @@ -26,10 +26,10 @@ output_folder: interaction_style: prompt: "How should agents ask you questions?" - default: "structured" + default: "open" result: "{value}" single-select: - - value: "structured" - label: "Structured - Numbered option lists (recommended)" - value: "open" - label: "Open - Natural conversational questions" + label: "Open - Natural conversational questions (recommended)" + - value: "structured" + label: "Structured - Numbered option lists" diff --git a/src/core/tasks/workflow.xml b/src/core/tasks/workflow.xml index 6966a96a4..ddbc7dc7a 100644 --- a/src/core/tasks/workflow.xml +++ b/src/core/tasks/workflow.xml @@ -2,7 +2,7 @@ Execute given workflow by loading its configuration, following instructions, and producing output - RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use the native question tool. No exceptions. No inline prompts. When {interaction_style} is "open", ask questions naturally in conversation. If you cannot determine {interaction_style}, default to structured mode. + RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use the native question tool. No exceptions. No inline prompts. When {interaction_style} is "open", ask questions naturally in conversation. If you cannot determine {interaction_style}, default to open mode. Always read COMPLETE files - NEVER use offset/limit when reading any workflow related files Instructions are MANDATORY - either as file path, steps or embedded list in YAML, XML or markdown Execute ALL steps in instructions IN EXACT ORDER diff --git a/src/utility/agent-components/activation-rules.txt b/src/utility/agent-components/activation-rules.txt index e14766619..729d96435 100644 --- a/src/utility/agent-components/activation-rules.txt +++ b/src/utility/agent-components/activation-rules.txt @@ -1,6 +1,6 @@ ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style. - Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. + Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. Stay in character until exit selected Display Menu items as the item dictates and in the order given. Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml diff --git a/src/utility/agent-components/agent-command-header.md b/src/utility/agent-components/agent-command-header.md index 4e419412b..7efcb0b18 100644 --- a/src/utility/agent-components/agent-command-header.md +++ b/src/utility/agent-components/agent-command-header.md @@ -1,3 +1,3 @@ You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the AskUserQuestion tool. Do NOT write questions as plain text. No exceptions. If you cannot determine {interaction_style}, default to open mode. diff --git a/src/utility/agent-components/handler-action.txt b/src/utility/agent-components/handler-action.txt index 83201af70..b13f045c4 100644 --- a/src/utility/agent-components/handler-action.txt +++ b/src/utility/agent-components/handler-action.txt @@ -1,5 +1,5 @@ When menu item has: action="#id" → Find prompt with id="id" in current agent XML, follow its content When menu item has: action="text" → Follow the text directly as an inline instruction - RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to structured mode. + RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to open mode. \ No newline at end of file diff --git a/src/utility/agent-components/handler-exec.txt b/src/utility/agent-components/handler-exec.txt index 39aa46ce6..f9daeec02 100644 --- a/src/utility/agent-components/handler-exec.txt +++ b/src/utility/agent-components/handler-exec.txt @@ -3,5 +3,5 @@ 1. Read fully and follow the file at that path 2. Process the complete file and follow all instructions within it 3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context. - 4. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to structured mode. + 4. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to open mode. \ No newline at end of file diff --git a/src/utility/agent-components/handler-workflow.txt b/src/utility/agent-components/handler-workflow.txt index 252830491..fa9241925 100644 --- a/src/utility/agent-components/handler-workflow.txt +++ b/src/utility/agent-components/handler-workflow.txt @@ -7,5 +7,5 @@ 4. Follow workflow.xml instructions precisely following all steps 5. Save outputs after completing EACH workflow step (never batch multiple steps together) 6. If workflow.yaml path is "todo", inform user the workflow hasn't been implemented yet - 7. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to structured mode. + 7. RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to open mode. \ No newline at end of file diff --git a/tools/cli/installers/lib/ide/codex.js b/tools/cli/installers/lib/ide/codex.js index bf7445e31..091e7c27d 100644 --- a/tools/cli/installers/lib/ide/codex.js +++ b/tools/cli/installers/lib/ide/codex.js @@ -416,7 +416,7 @@ class CodexSetup extends BaseIdeSetup { const skillContent = `---\n${fm}\n---\n` + "\nYou must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.\n" + - '\nRULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `ask_user_question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode.\n' + + '\nRULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `ask_user_question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode.\n' + '\n\n' + `1. LOAD the FULL agent file from @${agentPath}\n` + '2. READ its entire contents - this contains the complete agent persona, menu, and instructions\n' + diff --git a/tools/cli/installers/lib/ide/templates/agent-command-template.md b/tools/cli/installers/lib/ide/templates/agent-command-template.md index efdf63fa6..501db53be 100644 --- a/tools/cli/installers/lib/ide/templates/agent-command-template.md +++ b/tools/cli/installers/lib/ide/templates/agent-command-template.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. 1. LOAD the FULL agent file from @_bmad/{{module}}/agents/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/antigravity.md b/tools/cli/installers/lib/ide/templates/combined/antigravity.md index be74195fc..5aa5d5216 100644 --- a/tools/cli/installers/lib/ide/templates/combined/antigravity.md +++ b/tools/cli/installers/lib/ide/templates/combined/antigravity.md @@ -7,4 +7,4 @@ Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_p Follow all instructions in the workflow file exactly as written. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-agent.md b/tools/cli/installers/lib/ide/templates/combined/claude-agent.md index ff5dd90a7..a03686ce4 100644 --- a/tools/cli/installers/lib/ide/templates/combined/claude-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/claude-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-task.md b/tools/cli/installers/lib/ide/templates/combined/claude-task.md index e165713e3..27852b558 100644 --- a/tools/cli/installers/lib/ide/templates/combined/claude-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/claude-task.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-tool.md b/tools/cli/installers/lib/ide/templates/combined/claude-tool.md index 21c0a787f..5add365a0 100644 --- a/tools/cli/installers/lib/ide/templates/combined/claude-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/claude-tool.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md index bf2011a22..14b86becb 100644 --- a/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/claude-workflow-yaml.md @@ -3,7 +3,7 @@ name: '{{name}}' description: '{{description}}' --- -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md b/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md index 94ce30143..386111f84 100644 --- a/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/claude-workflow.md @@ -3,6 +3,6 @@ name: '{{name}}' description: '{{description}}' --- -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/default-agent.md b/tools/cli/installers/lib/ide/templates/combined/default-agent.md index 19e7b8fc4..8646885d8 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-task.md b/tools/cli/installers/lib/ide/templates/combined/default-task.md index 8950cd0e7..d6d09cfce 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-task.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. Read the entire task file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-tool.md b/tools/cli/installers/lib/ide/templates/combined/default-tool.md index e9ddd7d41..2ebbf8700 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-tool.md @@ -5,7 +5,7 @@ description: '{{description}}' # {{name}} -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. Read the entire tool file at: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md index 1a5c27391..50ceae07a 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow-yaml.md @@ -3,7 +3,7 @@ name: '{{name}}' description: '{{description}}' --- -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md index 360cff1d9..0204e43cd 100644 --- a/tools/cli/installers/lib/ide/templates/combined/default-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/default-workflow.md @@ -3,6 +3,6 @@ name: '{{name}}' description: '{{description}}' --- -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{project-root}/{{bmadFolderName}}/{{path}}, READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml index 6e09ba186..5e366905f 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-agent.toml @@ -8,7 +8,7 @@ PRE-FLIGHT CHECKLIST: 3. [ ] CONFIRM: The user's name from config is {user_name}. 4. [ ] CONFIRM: interaction_style is set to "{interaction_style}". -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. Only after all checks are complete, greet the user by name and display the menu. Acknowledge this checklist is complete in your first response. diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml index 8a6092366..4edca6c98 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-task.toml @@ -7,7 +7,7 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml index b550822b0..bd88db4d3 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-tool.toml @@ -7,7 +7,7 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml index d725ddafd..50b9899c1 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow-yaml.toml @@ -12,7 +12,7 @@ CRITICAL: This is a structured YAML workflow. Follow these steps precisely: 3. EXECUTE each step in order 4. VALIDATE outputs before proceeding to next step -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml index d8d810146..505ff4d4b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml +++ b/tools/cli/installers/lib/ide/templates/combined/gemini-workflow.toml @@ -10,7 +10,7 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the ask_user tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{workflow_path}} """ diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md index 2d127dad4..7139027a4 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-agent.md @@ -6,7 +6,7 @@ inclusion: manual You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. 1. LOAD the FULL agent file from #[[file:{{bmadFolderName}}/{{path}}]] diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md index 472841d57..0f888c33b 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-task.md @@ -8,4 +8,4 @@ Read the entire task file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the task file exactly as written. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md index 1cadd2947..cfeb4417a 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-tool.md @@ -8,4 +8,4 @@ Read the entire tool file at: #[[file:{{bmadFolderName}}/{{path}}]] Follow all instructions in the tool file exactly as written. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md index 91b1715d8..25b0dd552 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow-yaml.md @@ -4,7 +4,7 @@ inclusion: manual # {{name}} -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md index 6bcc16ff2..84fe56a4a 100644 --- a/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/kiro-workflow.md @@ -4,6 +4,6 @@ inclusion: manual # {{name}} -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL #[[file:{{bmadFolderName}}/{{path}}]], READ its entire contents and follow its directions exactly! diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md index c8d36b2d7..568a2b813 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-agent.md @@ -5,7 +5,7 @@ description: '{{description}}' You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. 1. LOAD the FULL agent file from {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md index c59b4e587..ebc5c96bb 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-task.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-task.md @@ -10,6 +10,6 @@ TASK INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. TASK FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md index ec2796005..d71c404cd 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-tool.md @@ -10,6 +10,6 @@ TOOL INSTRUCTIONS: 2. READ its entire contents 3. FOLLOW every instruction precisely as specified -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. TOOL FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md index e1b3d3f30..56c444a87 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow-yaml.md @@ -13,6 +13,6 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md index e1b3d3f30..56c444a87 100644 --- a/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/opencode-workflow.md @@ -13,6 +13,6 @@ WORKFLOW INSTRUCTIONS: 3. FOLLOW every step precisely as specified 4. DO NOT skip or modify any steps -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `question` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. WORKFLOW FILE: {project-root}/{{bmadFolderName}}/{{path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/rovodev.md b/tools/cli/installers/lib/ide/templates/combined/rovodev.md index 8d546a7ca..d93ceee65 100644 --- a/tools/cli/installers/lib/ide/templates/combined/rovodev.md +++ b/tools/cli/installers/lib/ide/templates/combined/rovodev.md @@ -4,7 +4,7 @@ --- -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_path}} diff --git a/tools/cli/installers/lib/ide/templates/combined/trae.md b/tools/cli/installers/lib/ide/templates/combined/trae.md index 278efa6fb..1df51bf82 100644 --- a/tools/cli/installers/lib/ide/templates/combined/trae.md +++ b/tools/cli/installers/lib/ide/templates/combined/trae.md @@ -8,4 +8,4 @@ Read the entire workflow file at: {project-root}/{{bmadFolderName}}/{{workflow_p Follow all instructions in the workflow file exactly as written. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. diff --git a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md index f9429fcac..b0d8b6fe1 100644 --- a/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md +++ b/tools/cli/installers/lib/ide/templates/combined/windsurf-workflow.md @@ -9,4 +9,4 @@ Read the entire workflow file at {project-root}/{{bmadFolderName}}/{{workflow_pa Follow all instructions in the workflow file exactly as written. -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. diff --git a/tools/cli/installers/lib/ide/templates/workflow-command-template.md b/tools/cli/installers/lib/ide/templates/workflow-command-template.md index 374bdbfec..ec51e940c 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-command-template.md +++ b/tools/cli/installers/lib/ide/templates/workflow-command-template.md @@ -2,7 +2,7 @@ description: '{{description}}' --- -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded: diff --git a/tools/cli/installers/lib/ide/templates/workflow-commander.md b/tools/cli/installers/lib/ide/templates/workflow-commander.md index 48c57b2d0..ff3955f9a 100644 --- a/tools/cli/installers/lib/ide/templates/workflow-commander.md +++ b/tools/cli/installers/lib/ide/templates/workflow-commander.md @@ -2,6 +2,6 @@ description: '{{description}}' --- -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to structured mode. +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @{{workflow_path}}, READ its entire contents and follow its directions exactly! From 8d690da99a6027d646db1d52ebbb1fadcfc83b45 Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 16:35:37 +0100 Subject: [PATCH 13/14] feat: add Claude Code hotfix for interaction_style variable reference Standalone instruction file that patches existing BMAD installations to use explicit {interaction_style} session variable lookup with open-mode default fallback. Co-Authored-By: Claude Opus 4.6 --- .../claude-hotfix-interaction-style.md | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 tools/cli/installers/lib/ide/templates/combined/claude-hotfix-interaction-style.md diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-hotfix-interaction-style.md b/tools/cli/installers/lib/ide/templates/combined/claude-hotfix-interaction-style.md new file mode 100644 index 000000000..bb6432abe --- /dev/null +++ b/tools/cli/installers/lib/ide/templates/combined/claude-hotfix-interaction-style.md @@ -0,0 +1,67 @@ +--- +name: 'BMAD Hotfix: interaction_style variable reference' +description: 'Patches all interaction_style RULE directives to use explicit session variable lookup with open-mode default' +--- + +# Hotfix: interaction_style explicit variable reference + +You are applying a hotfix to this BMAD installation. Follow these steps exactly. + +## What this fixes + +Old RULE directives use bare text like `When interaction_style is "structured"` which LLMs fail to evaluate reliably. This hotfix: +1. Replaces all bare conditionals with explicit variable lookup: `Check your stored {interaction_style} session variable from activation step 2` +2. Adds fallback: `If you cannot determine {interaction_style}, default to open mode` +3. Ensures Claude Code files reference the `AskUserQuestion` tool by name + +## Steps + +### Step 1 — Find all affected files + +Search the entire project for files containing `interaction_style`. Target these locations: +- `_bmad/` — agent `.md` files, `tasks/workflow.xml`, handler files +- `.claude/commands/` — all slash command entry points + +### Step 2 — Replace RULE directives in `.claude/commands/` files + +For every file in `.claude/commands/` that contains an interaction_style RULE, replace the RULE line with: + +``` +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. +``` + +Common old patterns to find and replace: +- `RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool...` +- `RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool...` +- `RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list...` +- Any line starting with `RULE:` that contains `interaction_style` + +### Step 3 — Fix `_bmad/core/tasks/workflow.xml` + +Find the `` containing `interaction_style` and replace it with: + +```xml +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use the native question tool. No exceptions. No inline prompts. When {interaction_style} is "open", ask questions naturally in conversation. If you cannot determine {interaction_style}, default to open mode. +``` + +### Step 4 — Fix agent `` blocks + +In all agent `.md` files under `_bmad/*/agents/`, find the `` rule containing `interaction_style` and replace with: + +```xml +Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. +``` + +### Step 5 — Fix handler rules in agent files + +In agent `.md` files, find handler RULE lines containing `interaction_style` and replace with: + +``` +RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to open mode. +``` + +### Step 6 — Verify + +Run a search for `When interaction_style is` across the entire project. There should be ZERO matches remaining. Every reference should now start with `Check your stored {interaction_style}`. + +Report the total number of files modified. From f096714369cb5bc8b40a53387b890c37778586d9 Mon Sep 17 00:00:00 2001 From: sidtheone Date: Sat, 28 Feb 2026 16:37:01 +0100 Subject: [PATCH 14/14] Revert "feat: add Claude Code hotfix for interaction_style variable reference" This reverts commit 8d690da99a6027d646db1d52ebbb1fadcfc83b45. --- .../claude-hotfix-interaction-style.md | 67 ------------------- 1 file changed, 67 deletions(-) delete mode 100644 tools/cli/installers/lib/ide/templates/combined/claude-hotfix-interaction-style.md diff --git a/tools/cli/installers/lib/ide/templates/combined/claude-hotfix-interaction-style.md b/tools/cli/installers/lib/ide/templates/combined/claude-hotfix-interaction-style.md deleted file mode 100644 index bb6432abe..000000000 --- a/tools/cli/installers/lib/ide/templates/combined/claude-hotfix-interaction-style.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -name: 'BMAD Hotfix: interaction_style variable reference' -description: 'Patches all interaction_style RULE directives to use explicit session variable lookup with open-mode default' ---- - -# Hotfix: interaction_style explicit variable reference - -You are applying a hotfix to this BMAD installation. Follow these steps exactly. - -## What this fixes - -Old RULE directives use bare text like `When interaction_style is "structured"` which LLMs fail to evaluate reliably. This hotfix: -1. Replaces all bare conditionals with explicit variable lookup: `Check your stored {interaction_style} session variable from activation step 2` -2. Adds fallback: `If you cannot determine {interaction_style}, default to open mode` -3. Ensures Claude Code files reference the `AskUserQuestion` tool by name - -## Steps - -### Step 1 — Find all affected files - -Search the entire project for files containing `interaction_style`. Target these locations: -- `_bmad/` — agent `.md` files, `tasks/workflow.xml`, handler files -- `.claude/commands/` — all slash command entry points - -### Step 2 — Replace RULE directives in `.claude/commands/` files - -For every file in `.claude/commands/` that contains an interaction_style RULE, replace the RULE line with: - -``` -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. -``` - -Common old patterns to find and replace: -- `RULE: When interaction_style is "structured", EVERY question to the user MUST call the AskUserQuestion tool...` -- `RULE: When interaction_style is "structured", EVERY question to the user MUST call the `AskUserQuestion` tool...` -- `RULE: When interaction_style is "structured", EVERY question to the user MUST use structured options with a numbered list...` -- Any line starting with `RULE:` that contains `interaction_style` - -### Step 3 — Fix `_bmad/core/tasks/workflow.xml` - -Find the `` containing `interaction_style` and replace it with: - -```xml -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use the native question tool. No exceptions. No inline prompts. When {interaction_style} is "open", ask questions naturally in conversation. If you cannot determine {interaction_style}, default to open mode. -``` - -### Step 4 — Fix agent `` blocks - -In all agent `.md` files under `_bmad/*/agents/`, find the `` rule containing `interaction_style` and replace with: - -```xml -Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", EVERY question to the user MUST use structured options with a numbered list unless the workflow or user explicitly requests free-form input. If you cannot determine {interaction_style}, default to open mode. -``` - -### Step 5 — Fix handler rules in agent files - -In agent `.md` files, find handler RULE lines containing `interaction_style` and replace with: - -``` -RULE: Check your stored {interaction_style} session variable from activation step 2. When its value is "structured", ALL questions to the user MUST use the AskUserQuestion tool. No plain text prompts. If you cannot determine {interaction_style}, default to open mode. -``` - -### Step 6 — Verify - -Run a search for `When interaction_style is` across the entire project. There should be ZERO matches remaining. Every reference should now start with `Check your stored {interaction_style}`. - -Report the total number of files modified.