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.
62
72%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Advisory
Suggest reviewing before use
Fix and improve this skill with Tessl
tessl review fix ./skills/cli-skill-collector/SKILL.mdDetect 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.
npm install -g omniroute # or: npx omniroute
omniroute --versionautostartExample:
omniroute autostartautostart enableExample:
omniroute autostart enableautostart disableExample:
omniroute autostart disableautostart toggleExample:
omniroute autostart toggleautostart statusExample:
omniroute autostart statusconfigShow or update CLI tool configuration
Example:
omniroute configconfig listList all CLI tools and config status
Flags:
--jsonExample:
omniroute config listconfig get <tool>Show current config for a tool
Flags:
--jsonExample:
omniroute config get <tool>config set <tool>Write config for a tool
Flags:
--model <model>--non-interactive--yesExample:
omniroute config set <tool>config validate <tool>Validate config format without writing
Flags:
--model <model>--jsonExample:
omniroute config validate <tool>config opencodeGenerate OpenCode config (alias for
Flags:
--model <model>--non-interactive--yesExample:
omniroute config opencodeconfig langExample:
omniroute config langconfig getFlags:
--jsonExample:
omniroute config getconfig set <code>Flags:
--forceExample:
omniroute config set <code>config listFlags:
--jsonExample:
omniroute config listenvShow and manage environment variables
Example:
omniroute envenv showShow current environment variables
Flags:
--jsonExample:
omniroute env showenv 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>setupFlags:
--password <value>--add-provider--provider <id>--provider-name <name>--api-key <value>--default-model <model>--provider-base-url <url>--test-provider--non-interactive--listExample:
omniroute setupupdateFlags:
--check--apply--changelog--dry-run--no-backup--yesExample:
omniroute updateDiscover and install agent skills for your coding CLI tools — all through OmniRoute's built-in APIs.
This skill teaches you how to:
No separate Skill Collector app needed — OmniRoute's own CLI detection + GitHub search handles everything.
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/detectThis returns:
CLI_TOOL_IDS: claude, codex, cursor, copilot, opencode, cline, kilocode, hermes, hermes-agent, openclaw, droid, continue, qwen, windsurf, devin, antigravity, etc.)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
}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"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/skills/{category}/~/.codex/skills/{category}/~/AppData/Local/hermes/skills/{category}/~/.opencode/skills/{category}/~/.gemini/skills/{category}/The actual file sync (cloning from GitHub and copying SKILL.md) is done by the agent using standard curl + cp commands.
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.mdAlso re-check detection:
curl -H "Authorization: Bearer $OMNIROUTE_API_KEY" http://localhost:20128/api/skills/collect/detectAUTH_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"
fidocs/frameworks/SKILLS.md for custom-port setups./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.3070925
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.