Qualify the spec-reviewer agent type at dispatch - #125
Merged
Merged
Conversation
The skill told the lead to dispatch with subagent_type: "spec-reviewer", but the agent registers under its plugin-qualified name, spec-review:spec-reviewer. The bare form contradicts the convention every code-review-suite dispatch already follows (workflows/review-core.mjs:230, 378, 426, 504), and would have broken the panel on its first real invocation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up fix to #124, which added the
spec-reviewplugin. Installing it revealed that theskill would have failed the first time anyone actually used it: it told the assistant to summon
its reviewers by the wrong name. One line, no behaviour change beyond making the panel able to
start at all.
The defect
skills/review-spec/SKILL.mdStep 2 instructed the lead to dispatch with:But agents register under their plugin-qualified name. After install, the agent appears as
spec-review:spec-reviewer— which is also the convention every existing dispatch in this repoalready follows:
plugins/code-review-suite/workflows/review-core.mjs:230—agentType: 'code-review-suite:code-analysis'plugins/code-review-suite/workflows/review-core.mjs:378—agentType: `code-review-suite:${domain}-reviewer`plugins/code-review-suite/workflows/review-core.mjs:426— sameplugins/code-review-suite/workflows/review-core.mjs:504—agentType: 'code-review-suite:review-synthesiser'The agent's own frontmatter
name: spec-revieweris correct and unchanged — the namespace comesfrom the plugin, not the file.
Change
Step 2 now specifies
subagent_type: "spec-review:spec-reviewer", with an explicit note that thetype must be plugin-qualified so the bare form does not creep back in during a future edit.
Why CI did not catch it
The structural tests check file presence, conventions, and cross-references, but nothing asserts
that a
subagent_typestring in a skill resolves to a registered agent. That gap is worth closingseparately — a test that extracts
subagent_type:values from every SKILL.md and checks eachagainst the agents actually declared in that plugin would have caught this before merge. Not done
here to keep the fix minimal.
Test plan
grepconfirms the only dispatch site now uses the qualified nametests/run.shgreen in CI/review-specrun against a real spec — still the genuinely untested path, andthe thing that will confirm the dispatch actually resolves