Skip to main content

cli-skill-collector

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.

Source facts

Repository
cheaper-inference/OmniRoute
Last source activity
November 5, 2026 at 20:21
Detected SKILL.md language
English
Stars
86,657
Forks
13,217

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
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` **Flags:** - `--tray` - `--no-tray` **Example:** ```bash omniroute autostart enable ``` ### `autostart disable` **Example:** ```bash omniroute autostart disable ``` ### `autostart toggle` **Flags:** - `--tray` - `--no-tray` **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 -->
View on GitHub