激活契约
在安装、移除、创建、移动或重命名技能后使用本技能,或当委托代理需要重新获取技能索引时。
硬性规则
- 注册表是一个索引,而非编译器或摘要。
SKILL.md始终是唯一权威来源。 - 默认情况下不要生成或注入精简规则;通过将确切的技能路径传递给子代理来保留作者意图。
- 无论 SDD 持久化模式如何,始终写入
.atl/skill-registry.md。 - 在可用时将注册表保存到 Engram,
topic_key: skill-registry,capture_prompt: false。 - 跳过
sdd-*、_shared和skill-registry;按技能名称去重,优先使用项目级技能而非用户级技能。 - 尽可能将
.atl/添加到.gitignore,除非明确禁用。
决策门
| 情况 | 操作 |
|---|---|
| 同一技能在全局和项目中均存在 | 保留项目级技能 |
| 同一技能在多个全局位置存在 | 保留扫描顺序中的第一个来源 |
| 未找到任何技能 | 写入空注册表,让代理停止盲目搜索 |
| 代理将委派任务 | 选择匹配的注册表行,并传递其 SKILL.md 路径 |
执行步骤
- 扫描所有已知的用户和项目技能目录,查找
*/SKILL.md。 - 仅根据需要读取 frontmatter,提取
name和description触发词文本。 - 渲染
.atl/skill-registry.md,包含扫描的来源、注册表契约、技能名称、触发词/描述、作用域和确切路径。 - 在可用时将注册表持久化到 Engram,使用
title: skill-registry,topic_key: skill-registry,type: config和capture_prompt: false。 - 返回注册表路径、技能数量、缓存状态以及是否更新了 Engram。
输出契约
返回:
- 项目名称和
.atl/skill-registry.md路径。 - 已索引的技能数量。
- 缓存是否命中或重新生成。
- 任何跳过的技能或重复技能(如相关)。
参考
docs/skill-style-guide.md— 技能在索引前应如何编写。skills/_shared/skill-resolver.md— 委托代理如何使用索引。