docs(bmm): restrict bmad-project-context routing to invocation by name - #2702
Conversation
Rewrite the skill description: name the repository so the summary reads
cleanly, list all four intents, and drop the outcome-phrase triggers
("document this project", "apply coding standards") that let the router
fire on inferred intent. The skill now routes only when the user names
it.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
📝 WalkthroughWalkthroughThe project context skill description now covers repository instruction audits, recording agent mistakes as pitfalls, and explicit invocation by name. ChangesProject context skill guidance
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/bmm-skills/plan/bmad-project-context/SKILL.md`:
- Line 3: Update the bmad-project-context skill metadata or module-help.csv to
register “project context” as an alias while preserving bmad-project-context as
the canonical name. Also revise stale documentation referencing automatic
workflow/project-context loading to state that project-context.md loads
passively and the skill requires explicit invocation.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 8416d776-47e3-4b3d-987a-ee865a53a52a
📒 Files selected for processing (1)
src/bmm-skills/plan/bmad-project-context/SKILL.md
| --- | ||
| name: bmad-project-context | ||
| description: 'Set up or refresh agent instructions so AI agents work well in it. Use when the user says "project context", "set up AGENTS.md", "document this project", "refresh context", "audit context", wants to apply coding standards or governance to a repo, or wants to record a mistake agents keep making' | ||
| description: 'Set up, refresh, or audit a repository''s agent instructions (the AGENTS.md block) so AI agents work well in that repo. Also records observed agent mistakes as pitfall lines. Must be invoked by name.' |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
skill='src/bmm-skills/plan/bmad-project-context/SKILL.md'
sed -n '1,6p' "$skill"
rg -n -i \
'bmad-project-context|project context|Must be invoked by name|inferred|automatic|setup|refresh|audit|record' \
src docs 2>/dev/null || trueRepository: bmad-code-org/BMAD-METHOD
Length of output: 50382
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
echo "== find router/dispatch candidates =="
git ls-files | rg -n 'route|routing|dispatch|skills|skill' | head -200
echo
echo "== focused searches for router implementation =="
rg -n --glob '!node_modules' --glob '!dist' --glob '!build' \
'router|routing|dispatch|invoke by name|Must be invoked by name|frontend|name-based|description-based|match' \
. \
| head -300
echo
echo "== skill manifest/help relevant entry =="
sed -n '1,120p' src/bmm-skills/module-help.csv | rg -n 'bmad-project-context|project-context|Project Context'Repository: bmad-code-org/BMAD-METHOD
Length of output: 50383
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
echo "== exact project-context SKILL frontmatter =="
sed -n '1,20p' src/bmm-skills/plan/bmad-project-context/SKILL.md
echo
echo "== related SKILL frontmatter descriptions =="
for f in \
src/bmm-skills/plan/bmad-generate-project-context/SKILL.md \
src/bmm-skills/v6-shims/bmad-document-project/SKILL.md \
src/bmm-skills/plan/bmad-architecture/SKILL.md \
src/bmm-skills/plan/bmad-sprint-planning/SKILL.md
do
echo "--- $f"
sed -n '1,8p' "$f"
done | sed -n '1,120p'
echo
echo "== focused docs for activation/direct invoke/automatic project context =="
rg -n -i \
'project context|project-context|bmad-project-context|automatic|auto|directly|invoke|named|agents|must be invoked|inferred|trigger|activation' \
docs reference how-to explanation tutorials reference core-tools commands workflow-map established-projects.md established-projects
| head -300Repository: bmad-code-org/BMAD-METHOD
Length of output: 50382
Document and route bmad-project-context through project context.
The canonical skill name is bmad-project-context, but the PR note requires project context to continue routing here. Add project context to the skill metadata or module-help.csv so the alias stays discoverable. Update stale docs that say workflow/project context loads automatically; project-context.md is loaded passively, but the skill needs explicit invocation.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/bmm-skills/plan/bmad-project-context/SKILL.md` at line 3, Update the
bmad-project-context skill metadata or module-help.csv to register “project
context” as an alias while preserving bmad-project-context as the canonical
name. Also revise stale documentation referencing automatic
workflow/project-context loading to state that project-context.md loads
passively and the skill requires explicit invocation.
Source: Path instructions
What
Rewrites the
bmad-project-contextskill description so the skill routes only when invoked by name.Why
The old description had two problems:
The new description names the repository and the artifact (the AGENTS.md block), lists all four intents (setup / refresh / audit / record), and ends with "Must be invoked by name." Users who say "project context" in any phrasing still reach the skill — the name itself remains a routing surface; only outcome-descriptions that never name it stop auto-routing.