Testing Claude Code skill argument substitution across 12 runs reveals key behaviors

A developer ran 12 controlled tests on Claude Code version 2.1.278 on September 22, 2026, to observe exactly how argument placeholders behave inside skill bodies. Results showed that $ARGUMENTS always preserved the raw input string including quotes, while positional variables like $0 and $1 used shell-style splitting with quotes stripped. Missing positional arguments were left as literal text rather than replaced with empty values, and the argument-hint setting had no effect on what the skill body actually received. One notable finding was that bare environment-style tokens like $HOME, when passed as arguments, disappeared from positional slots but remained visible in $ARGUMENTS. The author built dedicated echo-skills to capture substituted content directly from session transcripts, noting that in one of 12 runs the model's reply did not match the actual substituted text — highlighting the value of reading raw transcripts over trusting model output.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in