retro-skill-dispatcherlisted
Install: claude install-skill xu-jin-cs/dsh-skills
# retro-skill-dispatcher — 复盘经验Skill化自动调度
> **定位:** 连通复盘经验与运行时Bug修复的桥梁。复盘中的问题+解决方案自动封装为可复用Skill,后续同类问题自动匹配调用。
> **经验库目录约定:** 本技能所称「经验库」即复盘经验 registry 的通用表述,根目录可用环境变量 `RETRO_REGISTRY_DIR` 指定,默认 `~/.dsh/retro-experience-registry`;文中 `$RETRO_REGISTRY_DIR/...` 均指经验库内路径。
## 职责边界
| 负责 | 不负责 |
|:----|:-------|
| 流程B Phase 1.5:匹配历史retro技能 | Bug诊断(属于流程B Phase 1) |
| 流程C Step 2.5:自动生成retro技能 | Bug修复执行(属于流程B Phase 2) |
| 维护 registry-index.json | 复盘经验分类(属于流程C Step 2) |
| lazy-load 匹配技能内容 | 积分制结算 |
## 模式1:MATCH(流程B Phase 1.5 — Bug诊断后匹配)
> **分流/准入判定禁止手写(2026-08-15 裁定,门禁机制机械判定):分流先跑 `scripts/dispatcher_gate.py route` 照抄 route;GENERATE 准入必须通过门禁机制(gate)判 A(准入规格:dispatcher_admission)才许生成。**
> MATCH 匹配分数同样禁止心算:跑 `scripts/dispatcher_gate.py match --context "<诊断语境>" [--role R] [--bug-type T]` 照抄 score 与 matched。
### 前置条件
- [ ] Bug诊断已完成(含根因、归属、影响范围)
- [ ] 诊断报告已输出
- [ ] 以下文件存在:`$RETRO_REGISTRY_DIR/registry-index.json`(经验库目录,见文首约定)
### 执行步骤
**Step 1 — 检查Registry状态:**
```bash
if [ -f "$RETRO_REGISTRY_DIR/registry-index.json" ]; then
echo "registry exists"
cat "$RETRO_REGISTRY_DIR/registry-index.json" | python3 -c "
import json,sys
data = json.load(sys.stdin)
print(f'entries: {len(data.get(\"entries\",[]))}')
for e in data.get('entries',[]):
print(f' - {e[\"skill_id\"]}: {e[\"description\"]}')
"
else
echo "registry not found — first project scenario, skip matching"
fi
```
Registry为空或不存在 → 输出 `[retro-skill-dispatcher] No retro skills available`,退出匹配。
**Step 2 — 从Bug诊断报告提取问题特征:**
从Bug