C:/Program Files/Git/<skill> help has no defined behaviour — the model reinterprets the argument, and can act on it

Status Open
Maintainer reply None cached
Activity 0 comments · opened Sep 18, 2026

What happens

Invoking a custom skill as a slash command with a bare help argument (/my-skill help) injects the whole SKILL.md into the context, ending with ARGUMENTS: help. Nothing tells the model what that argument means, so it improvises.

In my case the skill bundles a small executable. The model read help as a question about a --help flag of that executable and opened with "the --help command does not exist", then printed a summary. I replied "create it" — which, against my original meaning ("show me the skill's help"), only made sense as a continuation of its framing. It was read as a feature request, and the model edited the skill's source files to add that flag.

So a read-only, documentation-level request became source edits, through two compounding reinterpretations of one reserved-looking word.

Expected

help (and --help, -h, ?) passed to a slash-command skill should behave deterministically: show the skill's name, description, accepted arguments and documented commands, taken from the skill definition — without the skill body being executed and without the model deciding what the word means.

Why it matters

  • A word users reasonably expect to be safe and read-only can lead to file modifications.
  • Every skill author must otherwise handle help by hand, or accept that the model guesses differently each time.
  • The failure is silent: the model sounds confident about a flag the user never asked about.

Suggested fixes

  1. Reserve the token at harness level. For slash-command skills, help / --help / -h / ? renders a generated help card (name, description, argument-hint, documented commands) instead of handing the skill to the model.
  2. If it must be passed through, state in the injected prompt that an unrecognized argument is a question about the skill, never an instruction to modify it or its files.
  3. Optionally support a structured commands / argument-hint block in skill frontmatter so the generated help has real content to show.

Environment

Claude Code in the desktop app (Code tab), Windows 11, Opus 5. Reproduces with any skill invoked as /<skill-name> help.

View original on GitHub ↗