Check Skill CLIs
Overview
Use this skill to inventory skills across Claude, Codex, and Copilot surfaces, extract command-line tools referenced by those skills, and verify whether each CLI resolves on the current machine. Produce evidence: skill path, inferred agent ecosystem, status, command, resolved binary, version probe, and missing or suspicious entries.
Scope
Audit these ecosystems by default:
claude: ~/.claude/**, plus Claude plugin-cache skill folders when present.
codex: ~/.codex/skills/**, ~/.codex/plugins/cache/**/skills/**, and local authored skills such as $HOME/.agents/src/skills/**.
copilot: GitHub Copilot CLI and extension skill surfaces under ~/.config/github-copilot/**, ~/.config/gh/**, or plugin-cache paths when present.
Classify status conservatively:
active: skill appears in the current session skill list, active config, symlink target, or enabled manifest.
installed: skill exists on disk but no active evidence was found.
disabled: skill exists under a disabled directory, disabled manifest entry, .disabled suffix, commented config entry, or explicit disable list.
unknown: skill exists but status cannot be inferred without more runtime context.
Workflow
Inventory skill files
Run the bundled audit script from this skill:
python3 <skill-dir>/scripts/audit_skill_clis.py --output docs/reports/skill-cli-audit.md
If the repo does not use docs/reports/, write to a clear local path such as /tmp/skill-cli-audit.md.
Include --json <path> when the user wants machine-readable output.
When the current session exposes an active skill list, pass it with repeated --active-skill <name> flags or --active-skills-file <path>.
Review extraction results
- Treat script output as a starting point, not a final truth source.
- Inspect any high-value skills whose CLI references look ambiguous, especially skills with shell snippets,
allowed-tools, command examples, setup sections, or wrapper functions.
- Add manually confirmed CLIs to the report if the script missed them.
Verify installed CLIs
- Use
command -v <cli> or which -a <cli> for each candidate.
- Probe versions with low-risk commands only:
--version, version, -V, or tool-specific documented version commands.
- Do not run mutating commands while auditing availability.
Check resolution quality
- Flag missing commands.
- Flag suspicious resolution, such as a name collision where the resolved binary is clearly the wrong tool.
- Flag multiple binaries when
which -a shows conflicting candidates.
- Flag skills that reference commands only available through shell functions or aliases, because non-interactive agents may not see them.
Report
- Summarize totals by ecosystem and status.
- List missing CLIs first, grouped by command and affected skills.
- List suspicious or ambiguous CLIs next.
- Include installed-good CLIs after the findings, not before.
- Include exact commands run and output paths.
Expected Output Shape
# Skill CLI Audit
## Summary
| ecosystem | active | installed | disabled | unknown | cli refs | missing |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
## Findings
### Missing
- `rtk`: referenced by `<skill path>`; `command -v rtk` failed.
### Suspicious
- `lab`: multiple binaries found with `which -a`; verify the expected one comes first.
## Inventory
| ecosystem | status | skill | cli | resolution | version |
| --- | --- | --- | --- | --- | --- |
Script Notes
The bundled script intentionally favors recall over precision. It scans Markdown, YAML, JSON, TOML, and shell snippets for common CLI-reference patterns, filters obvious shell keywords, and checks each candidate with command -v, which -a, and safe version probes. Always review important findings before claiming a CLI is truly required by a skill.
1---2name: check-skill-clis3description: This skill should be used when the user asks to verify, audit, or report on CLI tools required by their agent skills. Triggers include: "check whether skill CLIs are installed", "are all my skill tools available", "which commands do my skills need", "find missing skill dependencies", "compare enabled vs disabled skill CLIs", or "produce a report of missing agent tools" across Claude, Codex, and Copilot surfaces.4---56# Check Skill CLIs78## Overview910Use this skill to inventory skills across Claude, Codex, and Copilot surfaces, extract command-line tools referenced by those skills, and verify whether each CLI resolves on the current machine. Produce evidence: skill path, inferred agent ecosystem, status, command, resolved binary, version probe, and missing or suspicious entries.1112## Scope1314Audit these ecosystems by default:1516- `claude`: `~/.claude/**`, plus Claude plugin-cache skill folders when present.17- `codex`: `~/.codex/skills/**`, `~/.codex/plugins/cache/**/skills/**`, and local authored skills such as `$HOME/.agents/src/skills/**`.18- `copilot`: GitHub Copilot CLI and extension skill surfaces under `~/.config/github-copilot/**`, `~/.config/gh/**`, or plugin-cache paths when present.1920Classify status conservatively:2122- `active`: skill appears in the current session skill list, active config, symlink target, or enabled manifest.23- `installed`: skill exists on disk but no active evidence was found.24- `disabled`: skill exists under a disabled directory, disabled manifest entry, `.disabled` suffix, commented config entry, or explicit disable list.25- `unknown`: skill exists but status cannot be inferred without more runtime context.2627## Workflow28291. **Inventory skill files**30 - Run the bundled audit script from this skill:3132 ```bash33 python3 <skill-dir>/scripts/audit_skill_clis.py --output docs/reports/skill-cli-audit.md34 ```3536 - If the repo does not use `docs/reports/`, write to a clear local path such as `/tmp/skill-cli-audit.md`.37 - Include `--json <path>` when the user wants machine-readable output.38 - When the current session exposes an active skill list, pass it with repeated `--active-skill <name>` flags or `--active-skills-file <path>`.39402. **Review extraction results**41 - Treat script output as a starting point, not a final truth source.42 - Inspect any high-value skills whose CLI references look ambiguous, especially skills with shell snippets, `allowed-tools`, command examples, setup sections, or wrapper functions.43 - Add manually confirmed CLIs to the report if the script missed them.44453. **Verify installed CLIs**46 - Use `command -v <cli>` or `which -a <cli>` for each candidate.47 - Probe versions with low-risk commands only: `--version`, `version`, `-V`, or tool-specific documented version commands.48 - Do not run mutating commands while auditing availability.49504. **Check resolution quality**51 - Flag missing commands.52 - Flag suspicious resolution, such as a name collision where the resolved binary is clearly the wrong tool.53 - Flag multiple binaries when `which -a` shows conflicting candidates.54 - Flag skills that reference commands only available through shell functions or aliases, because non-interactive agents may not see them.55565. **Report**57 - Summarize totals by ecosystem and status.58 - List missing CLIs first, grouped by command and affected skills.59 - List suspicious or ambiguous CLIs next.60 - Include installed-good CLIs after the findings, not before.61 - Include exact commands run and output paths.6263## Expected Output Shape6465```markdown66# Skill CLI Audit6768## Summary6970| ecosystem | active | installed | disabled | unknown | cli refs | missing |71| --- | ---: | ---: | ---: | ---: | ---: | ---: |7273## Findings7475### Missing7677- `rtk`: referenced by `<skill path>`; `command -v rtk` failed.7879### Suspicious8081- `lab`: multiple binaries found with `which -a`; verify the expected one comes first.8283## Inventory8485| ecosystem | status | skill | cli | resolution | version |86| --- | --- | --- | --- | --- | --- |87```8889## Script Notes9091The bundled script intentionally favors recall over precision. It scans Markdown, YAML, JSON, TOML, and shell snippets for common CLI-reference patterns, filters obvious shell keywords, and checks each candidate with `command -v`, `which -a`, and safe version probes. Always review important findings before claiming a CLI is truly required by a skill.