cli-discover
vellum-ai/vellum-assistant/skills/cli-discover/SKILL.md
Discover which CLI tools are installed, their versions, and authentication status
Skill1.3k starsChanged 3 months ago
---
name: cli-discover
description: Discover which CLI tools are installed, their versions, and authentication status
compatibility: "Designed for Vellum personal assistants"
metadata:
emoji: "🔍"
vellum:
category: "development"
display-name: "CLI Discovery"
---
# CLI Discovery
When you need to discover what CLI tools are available on the system, use `host_bash` to check directly. Do not use sandboxed `bash` for discovery - it may not see host-installed CLIs or auth state, leading to false negatives.
## Checking if a CLI exists
```bash
which <name> # returns path if found, exits non-zero if missing
command -v <name> # alternative, works in all POSIX shells
```
## Getting version info
```bash
<name> --version # most CLIs support this flag
```
Use a 5-second timeout to avoid hanging on unresponsive CLIs.
## Auth-check commands
For CLIs that support authentication, check whether the user is logged in:
| CLI | Auth check command |
| --------- | ----------------------------------------------------------------- |
| `gh` | `gh auth status` |
| `aws` | `aws sts get-caller-identity` |
| `gcloud` | `gcloud auth list --filter=status:ACTIVE --format=value(account)` |
| `az` | `az account show` |
| `vercel` | `vercel whoami` |
| `netlify` | `netlify status` |
| `fly` | `fly auth whoami` |
| `heroku` | `heroku auth:whoami` |
| `railway` | `railway whoami` |
## Common CLIs worth checking
When doing a broad discovery, check these categories:
- **Version control & code hosting:** `gh`, `git`, `gitlab`
- **Project management:** `linear`, `jira`
- **Communication:** `slack`
- **Cloud providers:** `aws`, `gcloud`, `az`
- **Containers & infra:** `docker`, `kubectl`, `terraform`
- **Runtimes & package managers:** `node`, `bun`, `deno`, `python3`, `pip3`
- **HTTP clients:** `curl`, `httpie`
- **Hosting & deploy:** `vercel`, `netlify`, `fly`, `heroku`, `railway`
## Output format
Report findings in markdown:
```markdown
## Available CLIs
- **git** (/usr/bin/git) - git version 2.x.x
- **gh** (/usr/bin/gh) - gh version 2.x.x [authenticated: user@example.com]
- **bun** (~/.bun/bin/bun) - 1.x.x
## Not found: jira, linear, slack
```
Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

