Skip to content

fix(bmad-investigate): keep method-internal vocabulary out of user-facing output#2478

Closed
mc856 wants to merge 1 commit into
bmad-code-org:mainfrom
mc856:fix/bmad-investigate-stronghold-leak
Closed

fix(bmad-investigate): keep method-internal vocabulary out of user-facing output#2478
mc856 wants to merge 1 commit into
bmad-code-org:mainfrom
mc856:fix/bmad-investigate-stronghold-leak

Conversation

@mc856

@mc856 mc856 commented Jun 17, 2026

Copy link
Copy Markdown

What

Two related fixes in bmad-investigate, both addressing #2452:

  1. Stop method-internal vocabulary from leaking into user-facing output — the Outcome 1 recap instruction told the agent to "present scope, stronghold, file path" verbatim, which in real sessions produced lines like "let me anchor the stronghold in code".
  2. Tighten the trigger description so the skill only fires on explicit invocation, per the maintainer's note in the issue thread that "skills like this … should really be not auto firing unless very explicitly called. feel free to change it or improve it in any way."

How

Three edits to src/bmm-skills/4-implementation/bmad-investigate/SKILL.md:

  • Frontmatter description rewritten to match the house style used by bmad-code-review, bmad-create-story, etc. — quoted explicit invocation phrases ("bmad investigate", "open an investigation"). Drops broad-paraphrase triggers like "walk through unfamiliar code" / "build a mental model".
  • Communication principle extended with a guardrail: user-facing chat uses plain English; skill-internal terms ("stronghold", "Outcome 1", "Hypothesis Combining BMAD-Method with cursor-custom-agents-rules-generator #3") stay in the case file and the agent's reasoning, not in chat.
  • Outcome 1 recap instruction changed from present scope, stronghold, file path to present scope, the confirmed starting evidence, file path — the exact phrasing the issue author suggested.

Notes

  • Internal vocabulary is intentionally preserved. The Stronghold first. principle (line 32), the Outcome 1 heading, and the "find the stronghold" instructions in Outcome 1's body are unchanged. Per the issue author's preference, this PR fixes the chat-output leak via guardrail rather than renaming the method's internal language. Whether to rename Stronghold first. itself is a separate question, fit for a follow-up PR if you want it.
  • Trigger tightening is beyond the issue body's Suggested fix — included here in direct response to the maintainer comment quoted above. Happy to split it into a follow-up PR if preferred.

Verification

  • node tools/validate-skills.js --json src/bmm-skills/4-implementation/bmad-investigate[]
  • npm ci && npm run qualityErrors: 0 (23 unrelated vi-vn/zh-cn sidebar-order warnings)

Opening as draft to get a quick direction-check on the new trigger phrasing before polish.

…cing output

The Outcome 1 recap instruction told the agent to present "stronghold" verbatim
in chat, leaking internal method language to the user. Add a Communication
guardrail, reword the recap line to plain English, and tighten the frontmatter
trigger to explicit invocation only.

Fixes bmad-code-org#2452.
@mc856 mc856 force-pushed the fix/bmad-investigate-stronghold-leak branch from 39fe4bf to ad6ae7e Compare June 17, 2026 14:03
alexeyv added a commit that referenced this pull request Jun 25, 2026
* chore(bmm): retire bmad-investigate skill and its documentation

Removes the bmad-investigate skill, its case-file template, the EN/FR
forensic-investigation explainer docs, and every integration point:
Amelia's `IN` menu entry, the plugin marketplace manifest, module-help,
the workflow-map tables and HTML diagrams, and the agent-trigger tables.
EN/FR explanation sidebar orders are renumbered to close the gap left by
the removed doc.

Rationale: the skill's only non-redundant value was a durable, hand-off
case-file artifact — a workflow that is unproven in practice. Everything
else (evidence grading, hypothesis discipline, causal tracing) is
behavior a capable model already performs without a dedicated skill. The
skill also carried method-internal metaphor ("stronghold", "evidence
perimeter") that leaked into user-facing chat. Upstream signals agreed:
issue #2452 flagged the vocabulary leak and a maintainer noted the skill
should not auto-fire. Added in #2364.

Supersedes the in-flight cleanup in #2478 and resolves #2452 by removal.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore(bmm): add bmad-investigate to removals.txt and note retirement

The retirement commit removed the skill source and docs but did not add
the removals.txt entry that triggers cleanup of the skill directory on
existing installs during update. Add it, plus an Unreleased CHANGELOG note.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@alexeyv alexeyv marked this pull request as ready for review June 25, 2026 02:44
@github-actions

Copy link
Copy Markdown
Contributor

@coderabbitai review

@alexeyv

alexeyv commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

The skill is gone, so this is now moot.

@alexeyv alexeyv closed this Jun 25, 2026
@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b31e9db7-72dc-47be-8930-091ce3c0a76d

📥 Commits

Reviewing files that changed from the base of the PR and between 242dc6e and ad6ae7e.

📒 Files selected for processing (1)
  • src/bmm-skills/4-implementation/bmad-investigate/SKILL.md

📝 Walkthrough

Walkthrough

bmad-investigate updates its skill description, principles, and one Outcome 1 recap sentence to use revised trigger wording and user-facing terminology.

Changes

bmad-investigate wording updates

Layer / File(s) Summary
Trigger and chat wording
src/bmm-skills/4-implementation/bmad-investigate/SKILL.md
The skill description changes the invocation wording, and the principles section adds plain-English chat guidance plus limits on where skill-specific terms appear.
Outcome 1 recap wording
src/bmm-skills/4-implementation/bmad-investigate/SKILL.md
The Outcome 1 “Otherwise” recap sentence renames the referenced item from “stronghold” to “confirmed starting evidence.”

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers

  • bmadcode
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch fix/bmad-investigate-stronghold-leak

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants