Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

cli-skill-collector — Claude Code skill: what it does, how to install

Detects installed coding CLI agents, discovers compatible skills on GitHub, and installs them using OmniRoute local APIs.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add cheaper-inference/OmniRoute --skill cli-skill-collector -a claude-code
Open on GitHub

What cli-skill-collector does

This skill discovers active coding CLIs on your workstation, including Claude Code, Codex, Cursor, Copilot, and OpenCode. It queries OmniRoute locally to check which tools are installed and runnable, then searches GitHub for relevant repositories containing SKILL.md files.

Discovered skills receive quality scores based on relevance and star count. Once selected, OmniRoute routes them directly into platform directories such as ~/.claude/skills/ or ~/.codex/skills/, syncing files via standard terminal operations.

Without a running OmniRoute service and a valid OMNIROUTE_API_KEY environment variable, this skill will fail to query or install anything.

What it helps with

  • detect installed coding CLI tools on the workstation
  • search GitHub for compatible SKILL.md configurations
  • deploy downloaded skills into Claude Code and Codex directories

Example prompts for the agent

  • /cli-skill-collector detect installed CLI tools and find matching skills on GitHub
  • /cli-skill-collector install selected skills for claude and codex
  • /cli-skill-collector show available GitHub skills with high relevance scores

How to install cli-skill-collector

1Skills CLI (Vercel)

npx skills add cheaper-inference/OmniRoute --skill cli-skill-collector -a claude-code

2Manually: put the files in place

~/.claude/skills/cli-skill-collector/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/cli-skill-collector/

From the same set34

The whole set →
cli-setup cheaper-inference Helps the agent configure OmniRoute, manage autostart, apply CLI updates, and adjust session environment variables. Claude Code CX Codex Cursor +1 1,200installs omni-combos-routing cheaper-inference This skill creates and manages model routing combos with fallback chains, tests, and metrics. Use it when OmniRoute needs configurable provider routing. Claude Code CX Codex Cursor +1 1,200installs omni-inference cheaper-inference Connects OpenAI-compatible inference endpoints for chat, embeddings, audio, and images. Useful for AI agents calling OmniRoute endpoints. Claude Code CX Codex Cursor +1 1,100installs cli-providers cheaper-inference Manage OmniRoute provider connections from the CLI: inspect the catalog, test connections, rotate keys, and view metrics. Useful when provider setup is part of your terminal workflow. Claude Code CX Codex Cursor +1 1,100installs omni-auth cheaper-inference Manage API keys and sessions in OmniRoute. Authenticates requests via Bearer tokens, handles dashboard login with password or OIDC, and controls session access. Claude Code CX Codex Cursor +1 1,100installs cli-routing cheaper-inference Manage model routing combos from the command line with omniroute. Test routing strategies, inspect metrics, and configure fallback chains interactively. Claude Code CX Codex Cursor +1 1,100installs omni-mcp cheaper-inference Connects an agent to the OmniRoute MCP server for request routing, memory, cache, and audit work. Use it when those operations need to be available as MCP tools. Claude Code CX Codex Cursor +1 1,100installs omni-providers cheaper-inference Manages connections to 375 AI providers via REST API: adds keys, tests connections, syncs models. Claude Code CX Codex Cursor +1 1,100installs

Similar

ccs-align thedotmack Skill to manage the local claude-mem worker: health check, pull observations into cache, and detect rule conflicts (SHADOW_HOUSE, DENY_ALLOW, DRIFT, CLOCK_HEADER). Runs hourly. Claude Code CX Codex Cursor +1 582installs apple-reminders Hermes Agent Manages Apple Reminders through the remindctl CLI utility. Enables the assistant to read task lists and schedule items with iCloud sync. Claude Code CX Codex Cursor +1 367installs paper-lookup K-Dense-AI Search scholarly papers, preprints, citations, and open-access full text through 18 APIs. Use it for DOI, PMID, arXiv ID, author, or topic lookups. Claude Code CX Codex Cursor +1 2,200installs ev-charger-nearby NomaDamas Finds available EV charging stations across South Korea by region, address, or location. Installs via single CLI across all AI code editors. Claude Code CX Codex Cursor +1 4,000installs index-knowledge tursodatabase Skill automatically creates hierarchical AGENTS.md documentation for a codebase. Analyzes project structure, scores directory complexity, and generates files with instructions for AI agents. Claude Code CX Codex Cursor +1 1,300installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs writing-plans Jesse Vincent This skill turns requirements for a multi-step task into an implementation plan before code changes begin. It helps when another engineer needs exact files, interfaces, and checks. Claude Code CX Codex 282,859installs

Questions about cli-skill-collector

How to install cli-skill-collector in Claude Code?

Run npx skills add cheaper-inference/OmniRoute --skill cli-skill-collector -a claude-code. The skill will be added to ~/.claude/skills/cli-skill-collector/SKILL.md.

What does cli-skill-collector do?

It identifies runnable coding CLI agents on your system, fetches matching agent skills from GitHub, and deploys them to tool config directories.

What prerequisites are required for cli-skill-collector?

You need OmniRoute installed via npm or npx, its background API running, and the OMNIROUTE_API_KEY environment variable set.

Source text

SKILL.md · MIT
---
name: cli-skill-collector
description: "Detect installed CLI coding tools (Claude Code, Codex, Cursor, Copilot, Cline and more), search GitHub for matching agent skills, and install them to the detected tools via OmniRoute's built-in APIs."
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->

## Overview

Detect installed CLI coding tools (Claude Code, Codex, Cursor, Copilot, Cline and more), search GitHub for matching agent skills, and install them to the detected tools via OmniRoute's built-in APIs.

## Quick install

```bash
npm install -g omniroute   # or: npx omniroute
omniroute --version
```

## Subcommands

### `autostart`

**Example:**

```bash
omniroute autostart
```

### `autostart enable`

**Example:**

```bash
omniroute autostart enable
```

### `autostart disable`

**Example:**

```bash
omniroute autostart disable
```

### `autostart toggle`

**Example:**

```bash
omniroute autostart toggle
```

### `autostart status`

**Example:**

```bash
omniroute autostart status
```

### `config`

Show or update CLI tool configuration

**Example:**

```bash
omniroute config
```

### `config list`

List all CLI tools and config status

**Flags:**

- `--json`

**Example:**

```bash
omniroute config list
```

### `config get <tool>`

Show current config for a tool

**Flags:**

- `--json`

**Example:**

```bash
omniroute config get <tool>
```

### `config set <tool>`

Write config for a tool

**Flags:**

- `--model <model>`
- `--non-interactive`
- `--yes`
- `--allow-container-write`

**Example:**

```bash
omniroute config set <tool>
```

### `config validate <tool>`

Validate config format without writing

**Flags:**

- `--model <model>`
- `--json`

**Example:**

```bash
omniroute config validate <tool>
```

### `config opencode`

Generate OpenCode config (alias for 

**Flags:**

- `--model <model>`
- `--non-interactive`
- `--yes`
- `--allow-container-write`

**Example:**

```bash
omniroute config opencode
```

### `config lang`

**Example:**

```bash
omniroute config lang
```

### `config get`

**Flags:**

- `--json`

**Example:**

```bash
omniroute config get
```

### `config set <code>`

**Flags:**

- `--force`

**Example:**

```bash
omniroute config set <code>
```

### `config list`

**Flags:**

- `--json`

**Example:**

```bash
omniroute config list
```

### `env`

Show and manage environment variables

**Example:**

```bash
omniroute env
```

### `env show`

Show current environment variables

**Flags:**

- `--json`

**Example:**

```bash
omniroute env show
```

### `env get <key>`

Get a single environment variable

**Example:**

```bash
omniroute env get <key>
```

### `env set <key> <value>`

Set an environment variable (current session only)

**Example:**

```bash
omniroute env set <key> <value>
```

### `setup`

**Flags:**

- `--password <value>`
- `--add-provider`
- `--provider <id>`
- `--provider-name <name>`
- `--api-key <value>`
- `--default-model <model>`
- `--provider-base-url <url>`
- `--test-provider`
- `--non-interactive`
- `--list`

**Example:**

```bash
omniroute setup
```

### `update`

**Flags:**

- `--check`
- `--apply`
- `--changelog`
- `--dry-run`
- `--no-backup`
- `--yes`

**Example:**

```bash
omniroute update
```

<!-- skill:custom-start -->
<!-- Preserved curated content from #6294 (skills/cli-skill-collector authored workflow) -->

# /cli-skill-collector — Agent Skill Collector

Discover and install agent skills for your coding CLI tools — all through OmniRoute's built-in APIs.

This skill teaches you how to:

1. **Detect** which coding CLIs are installed on this machine
2. **Search** GitHub for relevant agent skills (SKILL.md repos)
3. **Install** discovered skills to the detected coding tools

No separate Skill Collector app needed — OmniRoute's own CLI detection + GitHub search handles everything.

---

## Step 1 — Detect installed coding tools

Query OmniRoute's CLI tool detection to find which coding agents are installed:

```bash
curl -H "Authorization: Bearer $OMNIROUTE_API_KEY" http://localhost:20128/api/skills/collect/detect
```

This returns:

- Every CLI tool in OmniRoute's catalog (`CLI_TOOL_IDS`: claude, codex, cursor, copilot, opencode, cline, kilocode, hermes, hermes-agent, openclaw, droid, continue, qwen, windsurf, devin, antigravity, etc.)
- Whether each is **installed** and **runnable**
- GitHub skills **matched** to your installed tools (scored by relevance)

Example response:

```json
{
  "tools": {
    "codex": { "installed": true, "runnable": true, "command": "codex" },
    "claude": { "installed": true, "runnable": true, "command": "claude" },
    "cursor": { "installed": false, "runnable": false }
  },
  "installedToolIds": ["codex", "claude"],
  "matchedSkills": [
    { "toolId": "codex", "repo": "user/skill-codex-xxx", "score": 0.85, "stars": 120 },
    { "toolId": "claude", "repo": "user/claude-agent-rules", "score": 0.92, "stars": 340 }
  ],
  "totalSkills": 85
}
```

---

## Step 2 — Review matched skills

For each installed tool, the API returns relevant GitHub repos that contain SKILL.md or agent configuration files. Use the `score` field to prioritize:

| Score | Recommendation                                  |
| ----- | ----------------------------------------------- |
| 0.80+ | Excellent — well-maintained, high stars, active |
| 0.60+ | Good — relevant with decent quality             |
| 0.40+ | Fair — may need review                          |
| <0.40 | Low quality — skip                              |

You can also browse manually:

```bash
curl -H "Authorization: Bearer $OMNIROUTE_API_KEY" \
  "http://localhost:20128/api/github-skills?minStars=3&maxResults=50"
```

---

## Step 3 — Install skills to detected tools

Install a chosen skill to one or more detected tools:

```bash
curl -X POST http://localhost:20128/api/skills/collect/install \
  -H "Authorization: Bearer $OMNIROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "repoName": "user/skill-codex-xxx",
    "targets": ["codex", "claude"],
    "description": "Agent skill for coding workflows"
  }'
```

This plans the installation path for each target tool:

- **claude** → `~/.claude/skills/{category}/`
- **codex** → `~/.codex/skills/{category}/`
- **hermes** → `~/AppData/Local/hermes/skills/{category}/`
- **opencode** → `~/.opencode/skills/{category}/`
- **gemini** → `~/.gemini/skills/{category}/`

The actual file sync (cloning from GitHub and copying SKILL.md) is done by the agent using standard `curl` + `cp` commands.

---

## Step 4 — Verify installation

After installing, verify the skill is in place:

```bash
# For Codex
ls -la ~/.codex/skills/imported-github/*/SKILL.md

# For Claude Code
ls -la ~/.claude/skills/imported-github/*/SKILL.md

# For Hermes (Windows)
ls -la ~/AppData/Local/hermes/skills/imported-github/*/SKILL.md
```

Also re-check detection:

```bash
curl -H "Authorization: Bearer $OMNIROUTE_API_KEY" http://localhost:20128/api/skills/collect/detect
```

---

## Quick start (full workflow)

```bash
AUTH_HEADER="Authorization: Bearer $OMNIROUTE_API_KEY"

# 1. Detect
DETECT=$(curl -s -H "$AUTH_HEADER" http://localhost:20128/api/skills/collect/detect)

# 2. Pick top matched skill for first installed tool
TOOL=$(echo "$DETECT" | python3 -c "import sys,json;d=json.load(sys.stdin);print(d['installedToolIds'][0] if d['installedToolIds'] else '')")
SKILL=$(echo "$DETECT" | python3 -c "import sys,json;d=json.load(sys.stdin);ms=d.get('matchedSkills',[]);print(ms[0]['repo'] if ms else '')")

if [ -n "$TOOL" ] && [ -n "$SKILL" ]; then
  # 3. Install
  curl -s -X POST http://localhost:20128/api/skills/collect/install \
    -H "$AUTH_HEADER" \
    -H "Content-Type: application/json" \
    -d "{\"repoName\": \"$SKILL\", \"targets\": [\"$TOOL\"]}"
  echo "Installed $SKILL to $TOOL"
fi
```

---

## Notes

- OmniRoute must be running locally on port 20128 (default) — see `docs/frameworks/SKILLS.md` for custom-port setups.
- The `/api/skills/collect/*` and `/api/github-skills` endpoints require **management-scoped authentication** the same way every other `/api/skills/*` route does: a dashboard session, the loopback CLI token, or an API key with the `manage` scope (`requireManagementAuth()`). Auth is only bypassed when the server has no login/API-key requirement configured at all.
- This replaces the standalone Skill Collector Python app — all logic is now inside OmniRoute.
<!-- skill:custom-end -->

© cheaper-inference · MIT · cheaper-inference/OmniRoute

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor