rnd-prefer-system-toolslisted
Install: claude install-skill oleksify/rnd-framework
# Prefer System Tools Over Scripts
Before writing a Python or Bun script for a common task, check if a native CLI tool can do it directly. Single-purpose tools are faster, more reliable, and require no runtime. Use scripts only when the task involves **multi-step logic, conditionals, or data transformation that combines several operations**.
## Rules
1. **Only use tools already installed on the system.** Check with `command -v <tool>` before using.
2. **Never install tools via npm, npx, bunx, or any JavaScript package manager.** All tools referenced here are standalone system binaries — install them via the OS package manager (`apt`, `brew`, `pacman`, etc.) or not at all.
3. If a preferred tool is not available, fall back to the POSIX alternative listed, or write a short Bun/Python script instead.
## Python Package Management
**Instead of** `pip install`, `pip3 install`, or `pipx install`, use `uv`:
```bash
# Install a package
uv pip install requests
# Install from requirements.txt
uv pip install -r requirements.txt
# Install from pyproject.toml
uv pip install -e .
# Create a virtual environment
uv venv
# Run a script with automatic dependency resolution
uv run script.py
# Add a dependency to pyproject.toml
uv add requests
# Remove a dependency
uv remove requests
# Sync environment to lockfile
uv sync
# Run a tool without installing globally (replaces pipx)
uvx ruff check .
uvx black --check .
```
`uv` is a drop-in replacement for `pip`, `pip3`, and `pipx` — it