catalog loader
扫描和加载 published skills、builtin skills,并构建供 embedding/LLM 选择的候选摘要。它也提供 load_published_skill、get_skill_record、get_skill_tool_hints。
Skills 模块负责加载、选择、注入、学习和发布 Beaver 技能。技能不是普通文档摘要,而是会被 ContextBuilder 作为显式 user 消息注入当前 run 的操作指导。
扫描和加载 published skills、builtin skills,并构建供 embedding/LLM 选择的候选摘要。它也提供 load_published_skill、get_skill_record、get_skill_tool_hints。
主 agent 每个 run 的 skill 选择器。先用 embedding 召回候选;候选太多时先 LLM shortlist;再把完整 skill 正文截断后交给 LLM final selection。
详细 prompt 见 Prompt Atlas。
ContextBuilder 不把 skill 正文塞进 system prompt,而是每个 skill 生成一条 user-role activation message。这样 skills 的正文和主 system prompt 分层清晰。
[SYSTEM: The "{skill.name}" skill (version {skill.version}) is active for this run.
Follow its instructions as active guidance unless the user overrides them.]
{skill.content}
草稿、审核和发布构成 skill 的人工治理链路。Learning 只生成候选和草稿,不直接把新能力静默注入 published 目录。
从用户接受后的 Task evidence 中提取学习候选,合成新 skill 或修订草稿,再经过 safety/eval/review。Safety/Eval 只评估 skill draft,不评估 task result。
当 team node 没有匹配 published skill 时,TaskSkillResolver 生成一次性 ephemeral guidance。它以 SkillContext 形式进入 delegated agent,但不会发布为正式 skill。
ephemeral:{guidance_name},version = ephemeral:{guidance_id}。