cli-tools
by netresearchv1.3.1
CLI tool management with automatic missing-tool detection, installation, and auditing
Documentation
# CLI Tools Skill
A Claude Code skill for automatic CLI tool management. Detects missing tools, installs them via optimal package managers, and audits project environments.
## 🔌 Compatibility
This is an **Agent Skill** following the [open standard](https://agentskills.io) originally developed by Anthropic and released for cross-platform use.
**Supported Platforms:**
- ✅ Claude Code (Anthropic)
- ✅ Cursor
- ✅ GitHub Copilot
- ✅ Other skills-compatible AI agents
> Skills are portable packages of procedural knowledge that work across any AI agent supporting the Agent Skills specification.
## Features
- **Reactive Mode**: Auto-detect "command not found" errors and install missing tools
- **Proactive Mode**: Audit project environments and report missing/outdated tools
- **Maintenance Mode**: Batch update all managed tools across package managers
## Supported Tools
74+ tools across categories:
| Category | Tools |
|----------|-------|
| **Core CLI** | ripgrep, fd, fzf, jq, yq, bat, delta, just |
| **Languages** | python, node, rust, go, ruby, php |
| **Package Managers** | uv, npm, pnpm, cargo, pip, gem, composer |
| **DevOps** | docker, compose, kubectl, terraform, ansible |
| **Linters** | eslint, prettier, ruff, black, shellcheck, phpstan |
| **Security** | trivy, gitleaks, bandit, semgrep |
| **Git Tools** | gh, glab, git-lfs, delta |
## Project Type Detection
Automatically detects project types and their requirements:
| Project Type | Detection Files | Required Tools |
|--------------|-----------------|----------------|
| Python | `pyproject.toml`, `requirements.txt` | python, uv |
| Node.js | `package.json` | node, npm |
| Rust | `Cargo.toml` | rust |
| Go | `go.mod` | go |
| PHP | `composer.json`, `*.php` | php, composer |
| Ruby | `Gemfile` | ruby |
| Docker | `Dockerfile`, `docker-compose.yml` | docker, compose |
| Terraform | `*.tf` | terraform |
## Installation
### Option 1: Via Netresearch Marketplace (Recommended)
```bash
/plugin marketplace add netresearch/claude-code-marketplace
```
Then browse skills with `/plugin`.
### Option 2: Download Release
Download the [latest release](https://github.com/netresearch/cli-tools-skill/releases/latest) and extract to `~/.claude/skills/cli-tools/`
### Option 3: Manual Installation
```bash
# Copy to your skills directory
cp -r cli-tools ~/.claude/skills/
```
### Manual Usage
```bash
# Install a specific tool
./scripts/install_tool.sh ripgrep install
# Detect project type
./scripts/detect_project_type.sh json .
# Audit environment
./scripts/check_environment.sh audit .
# Update all tools
./scripts/auto_update.sh update
```
## Triggers
The skill activates automatically on:
### Error Patterns
```
bash: <tool>: command not found
zsh: command not found: <tool>
'<tool>' is not recognized as an internal or external command
```
### User Requests
- "check environment", "audit tools"
- "what's missing", "what's outdated"
- "install development tools"
- "update all tools"
## Installation Methods
The skill selects the optimal installation method based on catalog priority:
1. **GitHub Release Binary** - Direct download (fastest, no deps)
2. **Cargo** - Rust tools via cargo install
3. **UV/Pip** - Python tools
4. **NPM** - Node tools
5. **Apt/Brew** - System packages (fallback)
Priority: user-level (`~/.local/bin`, `~/.cargo/bin`) over system-level.
## Directory Structure
```
cli-tools/
├── SKILL.md # Skill definition and workflows
├── catalog/ # Tool definitions (74+ JSON files)
│ ├── ripgrep.json
│ ├── php.json
│ └── ...
├── scripts/
│ ├── install_tool.sh # Main installer
│ ├── auto_update.sh # Batch updater
│ ├── check_environment.sh
│ ├── detect_project_type.sh
│ ├── lib/ # Shared libraries
│ └── installers/ # Method-specific installers
└── references/
├── binary_to_tool_map.md
└── project_type_requirements.md
```
## Requirements
- **jq**: Required for JSON parsing (auto-installed if missing)
- **Bash 4+**: Required for associative arrays
- **Internet**: Required for tool downloads
## License
MIT License - See [LICENSE](LICENSE) for details.
## Contributing
1. Add tool definition to `catalog/<tool>.json`
2. Update `references/binary_to_tool_map.md` if binary differs from tool name
3. Test with `scripts/install_tool.sh <tool> install`
4. Submit PR
## Credits
Developed and maintained by [Netresearch DTT GmbH](https://www.netresearch.de/).
---
**Made with ❤️ for Open Source by [Netresearch](https://www.netresearch.de/)**