home / skills / questnova502 / claude-skills-sync / cli-tools

cli-tools skill

/skills/cli-tools/skills/cli-tools

This skill manages CLI tool installation, environment auditing, and automated updates to keep projects running smoothly.

npx playbooks add skill questnova502/claude-skills-sync --skill cli-tools

Review the files below or copy the command above to add this skill to your agents.

Files (26)
SKILL.md
1.5 KB
---
name: cli-tools
description: "Agent Skill: CLI tool management. Use when commands fail with 'command not found', installing tools, or checking project environments. By Netresearch."
---

# CLI Tools Skill

Manage CLI tool installation, environment auditing, and updates.

## Capabilities

1. **Reactive**: Auto-install missing tools on "command not found"
2. **Proactive**: Audit project dependencies and tool versions
3. **Maintenance**: Batch update all managed tools

## Triggers

**Reactive** (auto-install):
```
bash: <tool>: command not found
```

**Proactive** (audit): "check environment", "what's missing", "update tools"

## Workflows

### Missing Tool Resolution

1. Extract tool name from error
2. Lookup in `references/binary_to_tool_map.md` (e.g., `rg` → `ripgrep`)
3. Install: `scripts/install_tool.sh <tool> install`
4. Retry original command

### Environment Audit

```bash
scripts/check_environment.sh audit .
```

## Scripts

| Script | Purpose |
|--------|---------|
| `install_tool.sh` | Install/update/uninstall tools |
| `auto_update.sh` | Batch update package managers |
| `check_environment.sh` | Audit environment |
| `detect_project_type.sh` | Detect project type |

## Catalog (74 tools)

Core CLI, Languages, Package Managers, DevOps, Linters, Security, Git Tools

## References

- `references/binary_to_tool_map.md` - Binary to catalog mapping
- `references/project_type_requirements.md` - Project type requirements

---

> **Contributing:** https://github.com/netresearch/cli-tools-skill

Overview

This skill manages CLI tool installation, environment auditing, and routine updates to keep developer workstations and CI runners consistent. It reacts to missing-command errors, proactively audits project environments, and runs batch maintenance for managed tools. Built to streamline recovery from 'command not found' failures and to enforce tool-version requirements across projects.

How this skill works

When a shell reports a missing binary, the skill extracts the binary name, maps it to a known tool in the catalog, and invokes the install script to add the missing package. For proactive checks, it runs an environment audit that detects project type, compares required tools and versions against a catalog, and reports gaps or outdated tools. Maintenance workflows call batch update scripts that update package managers and installed tools consistently.

When to use it

  • A shell returns 'bash: <tool>: command not found' during development or CI
  • You want to audit a repository to see which CLI tools are required or missing
  • Preparing a new developer machine or CI runner to ensure all tools are installed
  • After pulling changes that add new tooling or change required versions
  • Running periodic maintenance to update or reconcile installed tools

Best practices

  • Keep the binary-to-tool mapping current so automatic resolution is accurate
  • Run environment audits as part of pre-commit checks or CI pipelines
  • Prefer non-interactive installs in CI and explicit version pins for reproducibility
  • Review install logs and retry failing installs with the same environment context
  • Use the detect-project-type step to limit audits to relevant toolsets

Example use cases

  • Auto-installing ripgrep when a developer types 'rg' and it is missing
  • Scanning a monorepo to list required language runtimes and package managers
  • Preparing a container image by auditing and installing only necessary CLI tools
  • Scheduling nightly maintenance to update package managers and apply tool upgrades
  • Recovering a CI job that failed due to an uninstalled linter or formatter

FAQ

Will this skill modify system packages without confirmation?

The skill automates installs but is intended to run in controlled contexts; configure it for interactive confirmation or non-interactive CI mode depending on environment.

How does it determine which package manager to use?

It uses project detection and a catalog mapping to select the appropriate installer for the tool and environment (e.g., apt, brew, npm, pip).