skill-audit flagged that several skills grant Bash while their bodies never shell out — but pre-fetched !... context execution may itself require the grant, so trimming blindly could break every skill's context loading.
The experiment (needs any logged-in claude CLI; the desktop app session cannot run claude -p):
- Create a scratch project with
.claude/skills/probe-withbash/SKILL.md and .claude/skills/probe-nobash/SKILL.md, identical except allowed-tools: Bash, Read vs allowed-tools: Read. Body of each:
---
name: probe-nobash
description: Internal test probe. Use only when explicitly invoked.
allowed-tools: Read
---
Pre-fetched: !`echo PROBE_NOBASH_EXECUTED`
Reply with exactly one line: the pre-fetched value shown above if it is the word-output of the command (starts with PROBE_), or the text RAW-COMMAND-VISIBLE if you see an unexecuted command/backticks instead.
- From that directory:
claude -p "/probe-withbash" then claude -p "/probe-nobash".
- If BOTH print their
PROBE_*_EXECUTED marker, the Bash grant is not required for pre-fetch and can be trimmed from pre-fetch-only skills (both pr-descriptions, component-scaffold). If the nobash probe shows the raw command, the grant is required — close this issue documenting that and keep the grants.
Tracked in docs/ROADMAP.md open decisions.
skill-audit flagged that several skills grant Bash while their bodies never shell out — but pre-fetched !
...context execution may itself require the grant, so trimming blindly could break every skill's context loading.The experiment (needs any logged-in
claudeCLI; the desktop app session cannot runclaude -p):.claude/skills/probe-withbash/SKILL.mdand.claude/skills/probe-nobash/SKILL.md, identical exceptallowed-tools: Bash, Readvsallowed-tools: Read. Body of each:claude -p "/probe-withbash"thenclaude -p "/probe-nobash".PROBE_*_EXECUTEDmarker, the Bash grant is not required for pre-fetch and can be trimmed from pre-fetch-only skills (both pr-descriptions, component-scaffold). If the nobash probe shows the raw command, the grant is required — close this issue documenting that and keep the grants.Tracked in docs/ROADMAP.md open decisions.