skills/runtime-exec/SKILL.md
Smart runtime execution for Python and Node scripts with automatic package manager detection. Invoked by other skills and agents when scripts need execution with correct runtime resolution.
npx skillsauth add mikeparcewski/wicked-garden runtime-execInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Execute Python and Node scripts using the best available package manager.
_python.sh shimFor Python scripts inside this plugin, prefer the cross-platform shim at
${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh. It resolves python3, python,
or py -3 based on what's available and handles macOS, Linux, and Windows
in one call. Bare python3 is not available on Windows.
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/some/script.py"
The detection logic below is reference material for skills that need a
different fallback chain (e.g. dependency-aware uv run).
_python.sh shim - Cross-platform fallback; may miss dependencies# In a directory with pyproject.toml:
cd "${CLAUDE_PLUGIN_ROOT}/scripts"
# Preferred (auto-installs deps)
uv run python script.py [args]
# Alternative
poetry run python script.py [args]
# If venv exists
.venv/bin/python script.py [args]
# Last resort (may fail on deps)
python3 script.py [args]
# In a directory with package.json:
cd "${CLAUDE_PLUGIN_ROOT}/scripts"
# Preferred
pnpm run script-name
pnpm exec script.js
# Alternative
npm run script-name
npx script.js
# Yarn
yarn run script-name
When executing a script, detect the runtime context:
# Python detection
if command -v uv &>/dev/null && [ -f pyproject.toml ]; then
uv run python "$@"
elif command -v poetry &>/dev/null && [ -f poetry.lock ]; then
poetry run python "$@"
elif [ -f .venv/bin/python ]; then
.venv/bin/python "$@"
else
python3 "$@"
fi
# Node detection
if command -v pnpm &>/dev/null && [ -f pnpm-lock.yaml ]; then
pnpm exec "$@"
elif command -v npm &>/dev/null && [ -f package-lock.json ]; then
npx "$@"
elif command -v yarn &>/dev/null && [ -f yarn.lock ]; then
yarn exec "$@"
else
node "$@"
fi
cd to the script directory first (where pyproject.toml/package.json lives)uv run for Python - it auto-syncs dependencies from pyproject.toml${CLAUDE_PLUGIN_ROOT}/scripts/If using system python3 and imports fail:
# Install uv (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or create venv manually
python3 -m venv .venv
.venv/bin/pip install -e .
# Check version
uv run python --version
# Specify version in pyproject.toml:
# requires-python = ">=3.10"
development
--- name: large-scale-migration description: How to execute a LARGE MECHANICAL change across any codebase with LEVERAGE instead of an agent-grind or hand-edits — a cross-cutting migration, refactor, rename, dialect/framework/DB port, library adoption, or bulk transform. The map→transform→gate pattern: a deterministic transform driven by a source-of-truth map, proven by a differential-equivalence gate. Use when the work is "migrate all X to Y", "rename Z everywhere", "port to a new DB/dialect/fra
testing
v11 LLM-based work-shape classifier. Replaces the regex archetype detector with the model's own reasoning. Reads the user's prompt, picks the right archetype(s) from the catalog, identifies signals (blast_radius, novelty, reversibility, etc.), and persists to SessionState so subsequent turns steer correctly. Use when: the prompt_submit hook emitted a `<wg classify-due />` directive, OR explicitly invoked at session start, OR when re-classifying after the user changes scope mid-session.
tools
v11 work-shape archetype runner. When a prompt has been routed to one of the 9 archetypes (triage, explore, specify, decide, ship, review, incident, build, migrate), this skill is the entry point. It picks the right per-archetype playbook from refs/ and executes the phase shape declared in `.claude-plugin/archetypes.json`. Use when: a `<wg archetype="X">` or `<wg archetypes>` system-reminder tag appears, an explicit "let's run the X archetype" request, or when one of the per-archetype slash commands resolves to this skill.
development
Show or set the session intent variable. Intent gates how loud the framework is — simple-edit (silent), feature/research (synthesis directive), rigor (full crew context). Auto-detected on turn 1; this skill overrides explicitly. Sticky for the session. Use when: "set intent", "intent override", "/wicked-garden:intent", "make the framework quiet", "force rigor", "what's my intent".