Skip to content
Back to skills

Cli Skill Collector

BSecurity

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.

  • 72,229 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added August 31, 2026
ai-agentspythongobashgitapi

Works with

  • claude code
  • cursor
  • cli
  • api

Security analysis

B84/100
  • criticalDownloads and executes remote scripts — classic supply chain attack
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned August 31, 2026

npx -y skills add diegosouzapw/OmniRoute --skill cli-skill-collector --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cli Skill Collector?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cli Skill Collector
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-cli-skill-collector/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-cli-skill-collector)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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 -->

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…