# Learning Loop

> Queen-mode learning loop. Auto-research GitHub/docs and synthesize new SKILL.md on miss.

- Skill: `jajabong/learning-loop` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add jajabong/learning-loop`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jajabong/learning-loop/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: jajabong (https://skillmd.com/u/jajabong)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/jajabong/learning-loop

---


# Learning Loop — Auto Skill Synthesis

Hermes 的「学习 → skill → 执行」闭环。任务没命中本地 skills 时，自动调研并写入。

## When to use
- 接到新类型任务，本地 `skills_list()` 无命中
- 用户明确说「研究一下 X」「调研 Y」「学习 Z」
- 任务需要新工具/新协议/新框架知识

## 流程（5 步）

### 1. 查本地 skills
skills_list() → 模糊匹配 description
命中 → 直接 `skill_view(name)` 加载执行；未命中 → 进入步骤 2。

### 2. 派 opencode 调研（并行 ≤3 路）
- GitHub 搜索：`opencode run --model opencode/deepseek-v4-flash-free --allow-read --share`
- 官方文档：`web_fetch` 或 `ego-browser`
- Hub 搜索：`hermes skills search <query> --source skills-sh` / `--source well-known`

每路写到 `~/.hermes/scratch/research/<task_id>/{github.md,docs.md,hub.md}`。

### 3. 合成 SKILL.md 草稿
调 `execute_code` 跑 `~/.hermes/skills/learning-loop/scripts/synthesize_skill.py`：
- 输入：task 描述 + 调研产物路径
- 输出：完整 SKILL.md 内容（含 frontmatter）
- 自检：description ≤1024 字且前 57 字精准 / name kebab-case ≤64 字 /
  引用 hermes 原生工具 / 不和 bundled skill 重名

模板：`templates/SKILL-from-research.md`

### 4. 写入
skill_manage(
    action="create",
    name=<kebab-name>,
    content=<full_skill_md>,
    category=<user-pref-default or detected>,
)
自动落 `~/.hermes/skills/<cat>/<name>/SKILL.md`。

### 5. 执行 + 回填
- 用新 skill 执行原任务
- 把结果写入 skill 的 `metadata.hermes.feedback`（可选，给 curator）

## Failure modes
- 调研超时（600s）→ 降级到 pi 兜底
- 写入被 `guard_agent_created` 拦截 → 报告 pattern 不跳过
- 重名 → 加后缀 `-v2` / `-<topic>`
- category 在黑名单 → 默认改 `software-development`

## Verification
跑完后：
1. `skills_list() | grep <name>` 命中
2. `skill_view(name)` 能读全文
3. 任务本身执行成功
