fix(#2771): advisor mode spawns registered gsd-advisor-researcher subagent instead of general-purpose (#2884)

* test(#2771): advisor mode must spawn gsd-advisor-researcher, not general-purpose

* fix(#2771): spawn registered gsd-advisor-researcher subagent instead of general-purpose in advisor mode

universal-anti-patterns rule 10 (injected into discuss-phase via <required_reading>)
says NEVER use non-GSD agent types. The advisor mode spawned general-purpose and
manually told the agent to read the def — but gsd-advisor-researcher IS registered,
so spawning by type auto-loads it. Drop the manual-read prompt line (re-specifying
the def is a drift risk) and use the registered type.

* chore(#2771): changeset fragment (mentions follow-up #2883)

* test(#2771): widen manual-read-line regex to deny phrasing variants (review minor)

/read\s+@.*gsd-advisor-researcher\.md/i (case-insensitive, any 'read @' lead-in)
so a drift variant like 'Read @' or 'Load @' can't sneak the manual-def-read back in.

* chore(#2771): backfill changeset PR number (2884)

---------

Co-authored-by: Test <test@example.com>
This commit is contained in:
Tom Boucher
2026-07-30 17:25:55 -04:00
committed by GitHub
parent 185da024cb
commit dbb0a653be
3 changed files with 50 additions and 4 deletions

View File

@@ -92,16 +92,14 @@ research agents.
```
Agent(
prompt="First, read @~/.claude/agents/gsd-advisor-researcher.md for your role and instructions.
<gray_area>{area_name}: {area_description from gray area identification}</gray_area>
prompt="<gray_area>{area_name}: {area_description from gray area identification}</gray_area>
<phase_context>{phase_goal and description from ROADMAP.md}</phase_context>
<project_context>{project name and brief description from PROJECT.md}</project_context>
<calibration_tier>{resolved calibration tier: full_maturity | standard | minimal_decisive}</calibration_tier>
Research this gray area and return a structured comparison table with rationale.
${AGENT_SKILLS_ADVISOR}",
subagent_type="general-purpose",
subagent_type="gsd-advisor-researcher",
model="{ADVISOR_MODEL}",
description="Research: {area_name}"
)