Skip to content

smoke: hard-gate that skills are usable as slash commands#3

Merged
kreneskyp merged 1 commit into
mainfrom
smoke-assert-usable-commands
Jun 19, 2026
Merged

smoke: hard-gate that skills are usable as slash commands#3
kreneskyp merged 1 commit into
mainfrom
smoke-assert-usable-commands

Conversation

@kreneskyp

Copy link
Copy Markdown
Contributor

Why

The smoke test asserted skill files were present, but the user-visible outcome — a skill showing up as a usable /command in Claude — was only a soft check, and only ran when host credentials were mounted. So a skill could install on disk yet never register as a command (the "I installed it but I do not see the commands" failure) and the test would still pass.

What

  • Capture the claude -p system/init event unconditionally. It lists loaded plugins[], plugin_errors, and every skill as a slash_commands entry (<plugin>:<skill>), and Claude emits it before authentication — so it works with no credentials.
  • Make "skill usable as /command" a hard, always-on assertion (plus plugin loaded and empty plugin_errors). A skill present on disk but absent from the command list now FAILs.
  • Because it needs no secret, CI enforces it too. Docs updated.

Verified locally in the exact CI config (local source, no creds): every skill passes both skill file present and skill usable as /command.
🤖 Generated with Claude Code

The harness asserted skill *files* were present but only softly checked that
they registered as Claude slash commands, and only when host creds were
mounted — so a skill could install yet be invisible in Claude (the "I don't
see the commands" failure) and the test would still pass.

Capture the `claude -p` system/init event unconditionally (it lists loaded
plugins[], plugin_errors, and skills as slash_commands, and is emitted before
authentication) and make "skill usable as /command" a hard, always-on
assertion. No credentials needed, so CI enforces it too.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kreneskyp
kreneskyp merged commit 9c713d2 into main Jun 19, 2026
1 check passed
@kreneskyp
kreneskyp deleted the smoke-assert-usable-commands branch June 19, 2026 16:30
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