Detect the runtime. Run python3 -c "import sys; print(sys.executable, sys.version_info[:2])" — that interpreter is the one the plugin's scripts will use (they all use #!/usr/bin/env python3).
Probe for the missing dependency. For Python modules:
python3 -c "import <module>" 2>&1
For Playwright's browser binary specifically (the module-import check is not enough — the Chromium binary is separate):
If pipx already has the tool but the system python3 doesn't see it (common with playwright), prefer fixing the import path rather than reinstalling. Either install into user-site as well (pip install --user <pkg>), or point PYTHONPATH at the pipx venv site-packages for that one invocation.
Confirm with the user before installing anything. Show: what's missing, what command will run, whether it touches user-site (--user) or a system location. Never run sudo pip install.
For Playwright browser binaries, respect any existing PLAYWRIGHT_BROWSERS_PATH env var. If the user has one set (check env | grep PLAYWRIGHT_BROWSERS_PATH), use it; otherwise let Playwright use its default (~/.cache/ms-playwright).
Verify by re-running the probe after install. Report success or paste the new error.
What this skill does NOT do
Does not install system packages (apt, brew, dnf) — surface those instructions to the user instead.
Does not modify shell rc files. If a PATH change is needed, print the line for the user to add.
Does not manage virtualenvs for the user — the plugin's scripts use whatever python3 is on PATH.
Reporting back to the calling skill
Once the dependency is satisfied, tell the user "you can re-run the [skill] command now" and let the original conversation resume there. Do not chain into the original skill yourself.
1---2name: environment-check3description: Environment Check & Install4---56# Environment Check & Install78Shared dependency manager for Israel-Agent-Skills. Other skills delegate here when they detect a missing tool, instead of bundling install logic each.910## Supported toolchains1112| Tool | Used by | Install command (Linux/macOS) |13|------|---------|-------------------------------|14| `playwright` (Python) + Chromium | `nsc-travel-threat`, `ben-gurion-flight-board`, any browser-driven skill | `pipx install playwright && pipx runpip playwright install playwright && playwright install chromium` — or `pip install --user playwright && python3 -m playwright install chromium` |15| `requests` | `fiber-availability-check`, RSS skills | `pip install --user requests` |16| `pyyaml` | skills reading user prefs | `pip install --user pyyaml` |17| `feedparser` | `israel-news-rss` | `pip install --user feedparser` |1819## Procedure20211. **Detect the runtime.** Run `python3 -c "import sys; print(sys.executable, sys.version_info[:2])"` — that interpreter is the one the plugin's scripts will use (they all use `#!/usr/bin/env python3`).22232. **Probe for the missing dependency.** For Python modules:24 ```bash25 python3 -c "import <module>" 2>&126 ```27 For Playwright's browser binary specifically (the module-import check is not enough — the Chromium binary is separate):28 ```bash29 python3 -c "from playwright.sync_api import sync_playwright; p=sync_playwright().start(); b=p.chromium.launch(headless=True); b.close(); p.stop(); print('ok')"30 ```31323. **If pipx already has the tool but the system `python3` doesn't see it** (common with `playwright`), prefer fixing the import path rather than reinstalling. Either install into user-site as well (`pip install --user <pkg>`), or point `PYTHONPATH` at the pipx venv site-packages for that one invocation.33344. **Confirm with the user before installing anything.** Show: what's missing, what command will run, whether it touches user-site (`--user`) or a system location. Never run `sudo pip install`.35365. **For Playwright browser binaries**, respect any existing `PLAYWRIGHT_BROWSERS_PATH` env var. If the user has one set (check `env | grep PLAYWRIGHT_BROWSERS_PATH`), use it; otherwise let Playwright use its default (`~/.cache/ms-playwright`).37386. **Verify** by re-running the probe after install. Report success or paste the new error.3940## What this skill does NOT do4142- Does not install system packages (apt, brew, dnf) — surface those instructions to the user instead.43- Does not modify shell rc files. If a `PATH` change is needed, print the line for the user to add.44- Does not manage virtualenvs for the user — the plugin's scripts use whatever `python3` is on PATH.4546## Reporting back to the calling skill4748Once the dependency is satisfied, tell the user "you can re-run the [skill] command now" and let the original conversation resume there. Do not chain into the original skill yourself.
Run npx skillmds@latest add danielrosehill/environment-check in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Environment Check & Install It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
danielrosehill (@danielrosehill) published this skill. Their other Agent Skills are listed on their SkillMD profile.