Skip to content

Qualify the spec-reviewer agent type at dispatch - #125

Merged
Jodre11 merged 1 commit into
mainfrom
fix/spec-review-qualified-agent-name
Sep 7, 2026
Merged

Jodre11 merged 1 commit into
mainfrom
fix/spec-review-qualified-agent-name

Conversation

@Jodre11

@Jodre11 Jodre11 commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

Follow-up fix to #124, which added the spec-review plugin. Installing it revealed that the
skill 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.md Step 2 instructed the lead to dispatch with:

subagent_type: "spec-reviewer"

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 repo
already 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 — same
  • plugins/code-review-suite/workflows/review-core.mjs:504 — agentType: 'code-review-suite:review-synthesiser'

The agent's own frontmatter name: spec-reviewer is correct and unchanged — the namespace comes
from the plugin, not the file.

Change

Step 2 now specifies subagent_type: "spec-review:spec-reviewer", with an explicit note that the
type 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_type string in a skill resolves to a registered agent. That gap is worth closing
separately — a test that extracts subagent_type: values from every SKILL.md and checks each
against the agents actually declared in that plugin would have caught this before merge. Not done
here to keep the fix minimal.

Test plan

  • grep confirms the only dispatch site now uses the qualified name
  • Diff limited to one file, four insertions, two deletions
  • tests/run.sh green in CI
  • First live /review-spec run against a real spec — still the genuinely untested path, and
    the thing that will confirm the dispatch actually resolves

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.
@Jodre11
Jodre11 merged commit 558a4a9 into main Sep 7, 2026
3 checks passed
@Jodre11
Jodre11 deleted the fix/spec-review-qualified-agent-name branch September 7, 2026 09:18
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.

1 participant