# Skill Router

> 跨环境能力检索路由器 + skill 生命周期管理。 当用户需要查找某个技能/能力是否存在、搜索归档技能、管理 skill 归档/召回、 或当前 active skills 无法满足需求需要检索更多能力时自动调用。 覆盖 Claude Code 和 Trae 两侧共 3000+ 资产（skills/agents/commands）。 触发词：找技能、搜索能力、有没有XX技能、skill search、archived skills、 清理 skill、归档 skill、召回 skill、skill lifecycle。

- Skill: `luw2007/skill-router` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add luw2007/skill-router`
- Raw SKILL.md: https://api.skillmd.com/api/skills/luw2007/skill-router/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: luw2007 (https://skillmd.com/u/luw2007)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/luw2007/skill-router

---


# Skill Router

统一检索 + 生命周期管理。BM25 离线索引，零网络依赖。

`SR` = `~/.agents/skills/skill-router/scripts`

## 搜索

```bash
python3 $SR/search.py "<query>" --k 5
python3 $SR/search.py --kind skill "<query>"       # 只搜 skill
python3 $SR/search.py "<query>" --source trae      # 只搜 trae
python3 $SR/search.py --list-archived              # 列出归档
python3 $SR/search.py --list-all                   # 全量资产
```

## 路由规则

| 来源 | id 格式 | 动作 |
|------|---------|------|
| trae | `trae:<name>` | `Skill(skill="<name>")` |
| claude | `<ns>:<name>` | 读其 SKILL.md path 字段 |
| agent | 无前缀 | 告知用户 |
| command | `/<name>` | 告知 slash command |

归档 skill 搜到后直接读其 SKILL.md 执行，无需移出 archive。

## 生命周期管理

```bash
python3 $SR/manage.py --status --days 30           # 概览
python3 $SR/manage.py --archive --days 30 --dry-run  # 归档预览
python3 $SR/manage.py --archive --days 30          # 执行归档
python3 $SR/manage.py --recall --days 14 --min-hits 10  # 召回推荐
python3 $SR/manage.py --recall --days 14 --min-hits 10 --apply  # 执行召回
python3 $SR/manage.py --protect name1,name2        # 永不归档
```

## 需求检测

归档 skill 不在 listing 中无法被模型看到。`detect_need.py` 通过 trigger_map 做关键词匹配，检测用户消息是否暗含对 archived skill 的需求：

```bash
python3 $SR/build_triggers.py                      # 重建 trigger_map
python3 $SR/detect_need.py "帮我做飞书日历查询"     # 检测单条
echo "msg" | python3 $SR/detect_need.py --batch    # 批量
```

匹配结果追加到 `route_log.jsonl` 供 `--recall` 读取。

## 索引维护

```bash
python3 $SR/build_index.py                         # 重建全量索引
```

归档/召回后需重建索引。索引文件：`$SR/index.json`

