[BUG] Skill tool $ARGUMENTS variable not populated when invoking skills with command blocks
Resolved 💬 3 comments Opened Jan 14, 2026 by cloudpg07 Closed Jun 5, 2026
Description
When using the Skill tool to invoke a plugin skill that contains a command block with $ARGUMENTS, the $ARGUMENTS variable is not being populated with the args passed to the Skill tool.
Steps to Reproduce
- Have the
ralph-loopplugin installed and enabled - Use the Skill tool to invoke ralph-loop with arguments:
{
"skill": "ralph-loop:ralph-loop",
"args": "Test prompt --max-iterations 1"
}
- The skill's command block in
ralph-loop.mdis:
```!
"${CLAUDE_PLUGIN_ROOT}/scripts/setup-ralph-loop.sh" $ARGUMENTS
4. The setup script receives 0 arguments
## Expected Behavior
The `$ARGUMENTS` variable should contain `Test prompt --max-iterations 1` and be properly word-split when passed to the script.
## Actual Behavior
The `$ARGUMENTS` variable is empty, causing the script to receive 0 arguments:
DEBUG: Number of arguments: 0
DEBUG: Arguments received:
❌ Error: No prompt provided
## Environment
- Claude Code (running in VSCode extension)
- macOS Darwin 25.2.0
- Plugin: ralph-loop@claude-plugins-official (version f70b65538da0)
## Additional Context
- The script works correctly when invoked directly via Bash with arguments
- This may be specific to how the Skill tool passes the `args` parameter to command blocks
- The issue affects all skills that rely on `$ARGUMENTS` in their command blocks
## Workaround
Invoke the setup script directly via Bash instead of using the Skill tool:
```bash
~/.claude/plugins/cache/claude-plugins-official/ralph-loop/f70b65538da0/scripts/setup-ralph-loop.sh "Your prompt" --max-iterations 10This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗