tool-isolation

Isolates external tools and scripts into per-tool .tool directories with uv and npm workflows.

3|1|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/ZHLX2005/sl --skill tool-isolation-zhlx2005
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tool-isolation
Source: https://github.com/ZHLX2005/sl/tree/main/skills/tool-isolation
Command: npx skills add https://github.com/ZHLX2005/sl --skill tool-isolation-zhlx2005

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? AI-assisted debugging and testing often pollutes the project root with ad-hoc scripts, stray npm installs, and global pip packages. This Skill enforces a strict isolation convention so every external tool, temporary script, and third-party CLI lives in its own .tool/{tool-name}/ directory, keeping the project root and dependency files clean. ## Core Features & Use Cases - Tool Stack Decision Rules: Prioritizes Python (httpx, pandas, pillow) for HTTP testing, data processing, and image work, with npm reserved for build tooling and k6 load tests, plus explicit anti-patterns to avoid (raw curl, full service restarts, complex jq). - Python Two Iron Rules: Mandates python3 as the interpreter and uv for all environment and dependency management (uv venv, uv pip install, uv run python3), replacing legacy pip/venv workflows. - Per-Tool Isolation: Each tool gets its own package.json (with private: true) or requirements.txt, its own node_modules/ or .venv/, and its own .gitignore, so uninstalling a tool is just deleting its directory. - Use Case: When you need to verify an API endpoint, instead of starting the full server and running curl, create .tool/http-tester/ with an httpx script that builds JWT headers, sends the request, and prints structured JSON results via uv run python3 scripts/probe.py. ## Quick Start Ask the AI to set up an isolated HTTP testing tool under .tool/http-tester using uv and httpx to probe a specific API endpoint.

Frequently Asked Questions about tool-isolation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test HTTP API endpoints without restarting my server?

Create an isolated Python tool under .tool/http-tester/ using httpx to construct requests directly with JWT headers. Run it with uv run python3 scripts/probe.py to get structured JSON responses without starting the full service or writing repetitive curl commands.

How do I install npm packages without polluting my project root?

Create a dedicated subdirectory like .tool/esbuild-checker/, run npm init -y inside it, add "private": true to package.json, and install dependencies there. Each tool gets its own node_modules, and removal is just deleting the directory.

Should I use Python or npm for a temporary debugging script?

Prefer Python for HTTP testing, JSON/CSV processing, image handling, and text extraction since httpx, pandas, and pillow cover most cases. Use npm when the project is already Node-based or for build tooling, k6 load tests, and streaming scenarios.

Why use uv instead of pip and venv for Python tools?

uv combines environment creation and package installation in one fast toolchain: uv venv creates .venv, uv pip install adds packages, and uv run python3 executes scripts with automatic activation. This avoids polluting the system Python and guarantees the correct interpreter.

What happens if I run npm install in the project root by mistake?

It creates or modifies the root package.json and node_modules, conflicting with the project's own dependency declarations. Always cd into the tool's .tool/{tool-name}/ directory first so dependencies stay scoped to that tool.

When should I avoid this isolation approach?

The .tool convention targets temporary, development-time utilities like testers and linters. Production dependencies that ship with the application belong in the project's own package.json or requirements.txt, not in isolated tool directories.