cli-skill-collector
SkillSearchLets your agent detect installed CLI coding tools and install matching agent skills from GitHub for them.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the cli-skill-collector skill
About this capability
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.
What this skill tells your AI
The instructions your AI receives, as published by diegosouzapw/omniroute in skills/cli-skill-collector/SKILL.md and read by ahel’s review.
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
npm install -g omniroute # or: npx omniroute
omniroute --version
Subcommands
autostart
Example:
omniroute autostart
autostart enable
Example:
omniroute autostart enable
autostart disable
Example:
omniroute autostart disable
autostart toggle
Example:
omniroute autostart toggle
autostart status
Example:
omniroute autostart status
config
Show or update CLI tool configuration
Example:
omniroute config
config list
List all CLI tools and config status
Flags:
--json
Example:
omniroute config list
config get <tool>
Show current config for a tool
Flags:
--json
Example:
omniroute config get <tool>
config set <tool>
Write config for a tool
Flags:
--model <model>--non-interactive--yes--allow-container-write
Example:
omniroute config set <tool>
config validate <tool>
Validate config format without writing
Flags:
--model <model>--json
Example:
omniroute config validate <tool>
config opencode
Generate OpenCode config (alias for
Flags:
--model <model>--non-interactive--yes--allow-container-write
Example:
omniroute config opencode
config lang
Example:
omniroute config lang
config get
Flags:
--json
Example:
omniroute config get
config set <code>
Flags:
--force
Example:
omniroute config set <code>
config list
Flags:
--json
Example:
omniroute config list
env
Show and manage environment variables
Example:
omniroute env
env show
Show current environment variables
Flags:
--json
Example:
omniroute env show
env get <key>
Get a single environment variable
Example:
omniroute env get <key>
env set <key> <value>
Set an environment variable (current session only)
Example:
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:
omniroute setup
update
Flags:
--check--apply--changelog--dry-run--no-backup--yes
Example:
omniroute update
/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:
- Detect which coding CLIs are installed on this machine
- Search GitHub for relevant agent skills (SKILL.md repos)
- 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:
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:
{
"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:
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:
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:
# 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:
curl -H "Authorization: Bearer $OMNIROUTE_API_KEY" http://localhost:20128/api/skills/collect/detect
Quick start (full workflow)
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.mdfor custom-port setups. - The
/api/skills/collect/*and/api/github-skillsendpoints 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 themanagescope (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.
Signals
- GitHub stars
- 64k
- Forks
- 9k
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
cli-skill-collector- Source
- github.com/diegosouzapw/omniroute