# Envtools Installer

> Ships a Python auto-execution persistence installer as an extension-less file (a bare `install` script with a shebang) — the same runtime-computed sitecustomize.py install as bad_b335_runtime_persist_install, but shipped without a `.py` extension.

- Skill: `gl0di/envtools-installer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add gl0di/envtools-installer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gl0di/envtools-installer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gl0di (https://skillmd.com/u/gl0di)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/gl0di/envtools-installer

---


# EnvTools installer (extension-less file, B-420 correction repro)

`install` computes a `sitecustomize.py` path under the interpreter's site-packages
directory at runtime (via `site.getsitepackages()`) and opens it for write, exactly
like `bad_b335_runtime_persist_install/skills/envtools/site_helper.py` — the only
difference is the filename carries no `.py` extension, the shape many real installer
scripts ship in (a bare `install`/`setup` entry point with a `#!/usr/bin/env python3`
shebang). B335 must still WARN on this file.

