cli-discover

$npx mdskill add vellum-ai/vellum-assistant/cli-discover

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.

SKILL.md
.github/skills/cli-discoverView on GitHub ↗
---
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
```
More from vellum-ai/vellum-assistant