Skip to content

fix(integrations): show hyphenated command names for docker-agent and junie - #4910

Open
Chaoqi31 wants to merge 2 commits into
github:mainfrom
Chaoqi31:fix/hyphenated-command-names
Open

Chaoqi31 wants to merge 2 commits into
github:mainfrom
Chaoqi31:fix/hyphenated-command-names

Conversation

@Chaoqi31

Copy link
Copy Markdown

Description

docker-agent and junie both register hyphenated commands (/speckit-<name>), and their own build_command_invocation returns that form. Spec Kit still showed their users the dotted names (/speckit.<name>), which those agents never register:

  • docker-agent installs .agents/skills/speckit-<name>/SKILL.md, the same layout as zed and muse, but it was missing from ALWAYS_SLASH_AGENTS. So is_slash_skills_agent("docker-agent", ...) returned False. The specify init next-steps banner listed /speckit.specify, /speckit.plan, and so on. Extension hooks rendered /speckit.git.commit. fix(alquimia): render /speckit-<name> invocations for the skills-only Alquimia agent #4137 fixed the same gap for alquimia by adding its key to the set. docker-agent has no non-skills mode, so it belongs with zed and muse in ALWAYS_SLASH_AGENTS.
  • junie installs .junie/commands/speckit-<name>.md. Hook rendering already special-cases it, but the init banner only special-cased cline and forge. So specify init --integration junie listed /speckit.constitution, /speckit.plan, and so on.

A check over all registered integrations found no other mismatch between the banner, the hook rendering and build_command_invocation. Each change follows the existing pattern; the invocation-style mechanism itself is unchanged.

Testing

  • New test_is_slash_skills_agent and test_hook_invocation_renders_the_hyphenated_form in test_integration_docker_agent.py, modelled on the alquimia tests. On main: assert False is True and assert '/speckit.git.commit' == '/speckit-git-commit'.
  • New test_init_next_steps_show_hyphenated_commands in test_integration_junie.py. On main the banner contains /speckit.plan, not /speckit-plan.
  • With the fix: the two changed test files pass (87 passed). tests/integrations, tests/test_extensions.py, tests/specify_cli/integrations and tests/specify_cli/extensions: 4597 passed, 5 skipped.
  • CLI: specify init <dir> --integration <docker-agent|junie> --ignore-agent-tools --non-interactive now prints /speckit-plan (was /speckit.plan) for both. docker-agent's before_plan hook now prints /speckit-git-commit.

Equivalent local checks: tests ran with .venv/bin/python -m pytest and the CLI with the venv's specify, on macOS.

AI Disclosure

  • I did not use AI assistance for this contribution
  • I did use AI assistance (fill in the disclosure below)

AI disclosure: This contribution was produced by Claude Code running autonomously on behalf of @Chaoqi31. An audit agent (Claude Fable 5.1, max reasoning effort) found the docker-agent gap and wrote a failing reproduction. The orchestrating agent (Claude Opus 5) found the junie banner case. A fix agent (Claude Opus 5, xhigh effort) wrote the fix and tests. A separate review agent checked the branch, and the orchestrating agent wrote the commits and this description. AI generated the code, tests and text. No human reviewed the diff line by line before submission.

Assisted-by: Claude Code (model: Claude Opus 5, autonomous)
… junie

Both agents register `/speckit-<name>` commands, and their own
`build_command_invocation` returns that form, but Spec Kit showed users the
dotted `/speckit.<name>` names in two places:

- docker-agent was missing from `ALWAYS_SLASH_AGENTS`, so the `init`
  next-steps banner and extension hook invocations used dotted names
  (github#4137 fixed the same gap for alquimia).
- The `init` banner special-cased cline and forge but not junie, which
  installs hyphenated commands the same way.

Assisted-by: Claude Code (model: Claude Opus 5, autonomous)
@Chaoqi31
Chaoqi31 requested a review from mnriem as a code owner October 10, 2026 04:51

This branch has not been deployed

No deployments
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