SKILL.md 格式。
Skills 存放位置
守护进程从已安装 Atom Pack 和兼容的用户目录发现 Skills。常见布局:SKILL.md 为入口。脚本、参考资料、示例、模板和资源都放在该目录内,并通过相对路径引用。文件名和目录名是包的一部分,移动后需要同步引用。
发现不等于启用。Skill 还会经过 frontmatter 校验、兼容性提示、eligibility gate、Agent 配置和激活规则。
SKILL.md 格式
Frontmatter 字段
Eligibility gates
requires 在 Skill 进入候选集前检查宿主条件。它用于表达真实依赖,不应用来隐藏权限要求。
激活路径
paths 让 Skill 只在工作区存在匹配文件时自动进入上下文:
Compatibility
compatibility 可声明 Monad 版本或环境预期:
requires。
模型如何使用 Skill
Monad 使用渐进式披露:- 发现阶段只把名称和 description 放入候选目录。
- 模型或用户选择 Skill 后,才读取完整
SKILL.md。 - 正文引用的脚本、参考资料和模板按需读取。
- Skill 结束后,不会把整个包永久塞入每个后续回合。
显式调用
在任意客户端输入/ 打开命令与 Skill 菜单。/release-audit 会显式调用同名 Skill;附加文字成为本次调用输入。disable-model-invocation: true 的 Skill 仍可这样使用。
user-invocable: false 适合只供模型根据上下文选择的内部流程。不要同时让 Skill 无法由模型和用户调用,否则它没有可达入口。
引用包内文件
正文使用${SKILL_DIR} 引用 Skill 自身目录:
.. 穿越包边界,也不要假设当前工作目录就是 Skill 目录。
控制每个 Agent 的自动加载
Agent 配置可覆盖 Skills 的自动加载选择:管理 Skills
allowed-tools。更新等同于引入新第三方代码,需要重新审查。validate 检查格式与约束,但不证明流程安全或正确。
自行编写与程序记忆
monad skill new my-skill 从模板创建目录,随后运行:
动态上下文
Skill 可以在加载时执行受控动态上下文入口,把当前状态生成成短文本。该机制必须 opt-in,输出有大小与时间限制,失败时应显式报告而不是注入半截结果。 动态上下文仍是不受信任输入:它不能包含密钥,不能绕过工具审批,也不能在后台持续运行。allowed-tools
allowed-tools 描述 Skill 活动期间可自动批准的工具模式:
Fork 执行
context: fork 让 Skill 在隔离子 Agent 中运行,并把最终结果返回调用会话:
能力层级
modelTier 表达相对能力和费用偏好:fast 用于简单提取,smart 用于一般复杂任务,power 用于最困难推理。它不固定服务商或模型 ID;路由层根据当前模型配置解析具体目标。
尚未支持的行为
- Skill 不能注册新的原生工具;工具是第一方守护进程能力。
- Skill 不能绕过 Atom manifest、工具 schema、审批或沙箱。
- Compatibility 不会硬性阻止执行。
- Fork 不等同于持久项目成员或任意分布式调度。
- 文件存在不代表自动信任、启用或预批准。
安全
把 Skill 当作可执行软件与提示词输入的组合:- 安装前审查来源和所有文件。
- 限制
allowed-tools,不要批准宽泛 shell 或宿主控制模式。 - 不在正文、示例、argv 或动态上下文中放密钥。
- 使用
${SKILL_DIR}并阻止目录穿越。 - 对下载、网络、文件写入和第三方命令保留现有运行时守卫。
- 更新后重新校验与审查,不能只依赖名称或旧版本信任。