[BUG] Skill tool fails to activate plugin-dev skills - missing build.sh script
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The Skill tool fails when attempting to activate any skill from the plugin-dev plugin (part of
the claude-code-plugins marketplace) due to a missing build script. This prevents users from
accessing authoritative plugin development guidance during slash command creation, agent
development, and plugin auditing workflows.
Steps to Reproduce
- Ensure claude-code-plugins marketplace is installed
- Attempt to activate any plugin-dev skill:
Skill --skill plugin-dev:command-development
# or
Skill --skill plugin-dev:agent-development
# or any other plugin-dev skill
- Observe error
Expected Behavior
The skill should load and display its content (guidance for command development, agent
development, hook development, etc.) to inform the user's workflow.
Actual Behavior
Error is returned:
Bash command failed for pattern "!bash ~/.claude/plugins/marketplaces/claude-code-pl": [stderr]
ugins/plugins/plugin-dev/scripts/build.sh
bash: ~/.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev/scripts/b
uild.sh: No such file or directory
Analysis: The Skill tool appears to be attempting to execute a build script to dynamically
generate skill content, but this script doesn't exist in the plugin-dev plugin installation.
Environment
- Platform: Linux (WSL2)
- OS Version: Linux 6.6.87.2-microsoft-standard-WSL2
- Claude Code Version: [current version]
- Marketplace: claude-code-plugins
- Plugin: plugin-dev
- Skill Names Affected: All plugin-dev skills
- plugin-dev:command-development
- plugin-dev:agent-development
- plugin-dev:hook-development
- plugin-dev:skill-development
- plugin-dev:mcp-integration
- plugin-dev:plugin-structure
- plugin-dev:plugin-settings
Impact
Severity: Medium-High
User Impact:
- Cannot access authoritative plugin development criteria during audits
- Slash command and agent creation workflows lack proper guidance
- Plugin quality validation operates without official standards
- Users must rely on general knowledge instead of plugin-dev best practices
Workaround: None available - skills simply don't load
Use Case Example
When using /audit-request command to audit a slash command, the specification
requires mandatory skill evaluation:
## MANDATORY SKILL EVALUATION - PHASE 0.5
CRITICAL BLOCKING INSTRUCTION: You MUST complete this skill evaluation
phase BEFORE Phase 1 (Discovery & Parsing). Auditing plugin components
without authoritative skill criteria makes your compliance assessment WORTHLESS.
For EACH skill below, explicitly output:
- YES with specific reason this skill applies to current audit
- NO with specific reason this skill doesn't apply
For each skill evaluated as YES, immediately invoke using Skill tool:
```bash
Skill --skill plugin-dev:command-development
This workflow is completely blocked by the missing build script.
### Additional Context
File Path Expected: ~/.claude/plugins/marketplaces/claude-code-plugins/plugins/p
lugin-dev/scripts/build.sh
Possible Root Causes:
- The build script was never included in the plugin-dev plugin package
- The script exists elsewhere but path configuration is incorrect
- The Skill tool is incorrectly trying to execute a build script when it should directly load
skill content
- Installation process failed to create/copy the build script
Related Files (if they help):
- Plugin manifest:
.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev/.claude-plugin/plugin.json
- Skills directory:
.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev/skills/ (may contain skill
markdown files)
### Suggested Fix
If skills are markdown files in a skills/ directory, the Skill tool should directly read those
files rather than executing a build script. If dynamic generation is required, the build script
should either:
- Be included in the plugin package
- Have a fallback to read pre-generated content
- Be documented in the plugin-dev installation instructions
What Should Happen?
The skill should load and display its content (guidance for command development, agent
development, hook development, etc.) to inform the user's workflow.
Error Messages/Logs
Bash command failed for pattern "!`bash ~/.claude/plugins/marketplaces/claude-code-pl
ugins/plugins/plugin-dev/scripts/build.sh`": [stderr]
bash: ~/.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev/scripts/b
uild.sh: No such file or directory
Steps to Reproduce
Prerequisites
- Have Claude Code installed with claude-code-plugins marketplace
- Verify plugin-dev plugin exists:
ls ~/.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev
- Expected: Shows README.md, agents/, commands/, skills/ directories
Reproduction Steps
Step 1: Attempt to activate the command-development skill
Skill --skill plugin-dev:command-development
Step 2: Observe the error
Bash command failed for pattern "!bash /home/chnzca/.claude/plugins/marketplaces/claude-code-pl": [stderr]
ugins/plugins/plugin-dev/scripts/build.sh
bash: /home/chnzca/.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev/scripts/b
uild.sh: No such file or directory
Step 3: Verify the build script is indeed missing
ls ~/.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev/scripts/
Expected error: No such file or directory
Step 4: Verify the skill content exists but isn't being loaded
cat ~/.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev/skills/command-develop
ment/SKILL.md | head -20
Expected: Shows complete skill content (proves content exists and doesn't need building)
Expected Behavior
The skill should load and display its content to provide command development guidance.
Actual Behavior
Error about missing build.sh script, skill fails to load despite SKILL.md existing and being
complete.
Affects
All 7 plugin-dev skills:
- plugin-dev:command-development
- plugin-dev:agent-development
- plugin-dev:hook-development
- plugin-dev:skill-development
- plugin-dev:mcp-integration
- plugin-dev:plugin-structure
- plugin-dev:plugin-settings
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.0.59
Claude Code Version
2.0.50
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
WSL (Windows Subsystem for Linux)
Additional Information
_No response_
10 Comments
What’s Wrong?
The Skill tool is executing example code embedded in
plugin-devskill documentation (SKILL.md). Inline examples that demonstrate the command execution syntax are being treated as live directives, causing cascading failures (e.g., missingscripts/build.sh, then missingscripts/analyze.js, etc.). This makesplugin-devskills unusable.plugin-devskills, at minimumplugin-dev:command-development.Steps to Reproduce
Prereqs
claude-code-pluginsinstalled~/.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-devRepro
Skill --skill plugin-dev:command-developmentbash: ~/.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev/scripts/build.sh: No such file or directoryscripts/script.shto bypass one example, a new error appears:cat ~/.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev/skills/command-development/SKILL.md | head -20Actual Behavior
!+ backticked shell), even when they are clearly presented as fenced code examples in the skill docs.scripts/build.sh,scripts/analyze.js).Example error showing execution of an inline example:
This happens despite the skill being static documentation. It also occurs with other example lines, e.g.
!bash ${CLAUDE_PLUGIN_ROOT}/scripts/script.sh.Expected Behavior
SKILL.mdmust not be executed.Evidence in the Skill File (Examples Being Executed)
Examples from
plugin-dev:command-developmentskill that should be treated as literal examples but are being executed:```541:549:/home/chnzca/.claude/plugins/marketplaces/claude-code-plugins/plugins/plugin-dev/skills/command-development/SKILL.md
---
description: Analyze using plugin script
allowed-tools: Bash(node:*)
---
Run analysis:
node ${CLAUDE_PLUGIN_ROOT}/scripts/analyze.js $1Review results and report findings.
There are many similar fenced examples throughout the doc (e.g.,
!+ backticked commands forgit,npm,gh,node, etc.).Analysis / Likely Root Cause
!backtick runner and possibly inline backticked commands) to skill documentation. It should not parse or execute those inside skills, particularly inside fenced code blocks meant purely as examples.Scope
plugin-dev:command-development. Given similar content patterns, likely affects allplugin-devskills with executable examples:plugin-dev:agent-developmentplugin-dev:hook-developmentplugin-dev:skill-developmentplugin-dev:mcp-integrationplugin-dev:plugin-structureplugin-dev:plugin-settingsOther marketplace plugins’ skills activate normally.
Severity
Suggested Fix
Engine-side changes for Skill tool:
!backtick commands or inline backticked shell within skills by default.dynamic: true+ explicitallowed-tools), with the default being safe, non-executing render.Optional docs-side hardening (belt-and-suspenders):
plugin-devskills could add a frontmatter flag (e.g.,disable-execution: true) that the Skill tool respects to force safe rendering. But the core fix should be on the Skill tool to avoid executing examples by default.Environment
Linux 6.6.87.2-microsoft-standard-WSL2claude-code-pluginsplugin-devWorkarounds Tried
scripts/script.shsuppresses one failing example, but execution then cascades to other example commands (e.g., missingscripts/analyze.js). This is not a viable workaround.What Should Happen?
Update
plugin-dev:command-developmentfrom leading!to the literal text “exclamation_mark” (e.g.,exclamation_mark\bash ...\`) inskills/command-development/SKILL.md`.Implications
plugin-devskills that include runnable-style examples.Recommendation
dynamic: true+allowed-tools) at the skill level.!in examples with a safe literal (e.g., “exclamation_mark”) or another non-executable token across allplugin-devskills.!-backticked command patterns inskills/**/SKILL.md.Current Status
plugin-dev:command-developmentnow loads and displays content without errors after replacing!markers.plugin-devskill docs accordingly; similar changes may be needed in the other sixplugin-devskills.Also encountering this when trying to use
command-development<img width="1000" src="https://github.com/user-attachments/assets/926eec51-8df7-4dd9-8d25-6d6a6a30f3be" />
Replicated on macOS (Darwin 24.6.0) with Claude Code 2.0.60.
Root cause confirmed: The skill files contain
!backtick patterns that are meant as documentation examples showing users how to write their own commands, but the skill loader executes every!backtick pattern it finds - including ones inside code blocks and example sections.The problematic patterns in
plugins/plugin-dev/skills/command-development/SKILL.mdand its referenced files:Plus additional references in
examples/plugin-commands.mdandreferences/plugin-features-reference.md.These are example snippets showing users the syntax for embedding bash in their own commands - they were never intended to be executed. The scripts they reference (
analyze.js,build.sh,test.sh,package.sh) don't exist and were never created.Fix options:
!patterns inside fenced code blocks or example sections!in documentation examples so they're rendered as literal textcc @dhollman hope you don't mind being tagged in on this issue 🙇
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.
Still valid.
This issue has been automatically closed due to 60 days of inactivity. If you're still experiencing this issue, please open a new issue with updated information.
This issue was closed incorrectly despite recent human comments. This behavior of the bot is reported at https://github.com/anthropics/claude-code/issues/16497. Please upvote that issue, so maybe it gets noticed.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.