The `create-agent-skills` SKILL.md contained literal `!`command`` dynamic
context injection directives as documentation examples. Claude Code's
preprocessor executes these directives as plain text before the skill
content is sent to the model — it does not parse markdown, so fenced code
blocks and inline code spans offer no protection.
When loading this skill, the preprocessor attempted to run `command`,
`gh pr diff`, and `gh pr diff --name-only` as shell commands, producing:
Bash command failed for pattern "!`command`":
(eval):1: redirection with no command
This caused the skill to fail silently or error on every invocation.
Fix: replace the literal directives with a prose description of the
syntax, add a warning about the preprocessor behavior, and link to
`references/official-spec.md` § "Dynamic Context Injection" for the
concrete example (reference files are loaded on-demand by Claude via the
Read tool and are not preprocessed).
Upstream context:
- anthropics/claude-code#27149 (closed, wontfix): preprocessor correctly
executes bare text; workaround is to describe the syntax in prose
- anthropics/claude-code#28024 (closed as duplicate of #13655)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>