Skills 系统
Skill 是一组可复用的任务说明,用来教 Anyy 按特定流程工作。它可以包含 SKILL.md、配套文件,并在兼容的聊天界面中提供命令。
Skills 属于当前 Profile;切换 Profile 后,Catalog 和启用状态也会切换。
安装前先审查
至少阅读来源中的命令、外部服务、凭据要求、下载行为与关联文件。
安装本身不会增加系统权限,但实际使用时,Skill 可以引导 Anyy 调用已经启用的工具。内置扫描只能拦截部分已知危险模式,不能证明任意指令在你的环境中都安全。
看懂来源分类
Dashboard 把 Skills 分为:
| 来源 | 含义 |
|---|---|
| System | 随 Anyy 发布,可以查看,但不能由用户开关或移除 |
| User Installed | 安装到当前 Profile 托管 Skills 目录 |
| Agent Created | 已有 Skill Record 来自 Agent-capable 托管流程时显示的 Provenance 标签 |
查看 Skill 内容
进入 Dashboard → Skills,打开一个条目可以检查:
- ID、名称、描述与 Scope;
- 来源和托管状态;
- 是否启用,以及不可用时显示的原因;
- 渲染后的
SKILL.md; - 文件位置;
- 关联文件。
CLI 方式:
anyy skills list
anyy skills view SKILL_NAME
anyy skills view SKILL_NAME FILE_PATH
启用与停用
非 System Skill 可以直接切换。停用只会让它不再参与正常解析,不会删除文件。
聊天仍显示旧命令时,Reload 后新建 Session:
anyy skills reload
从 Dashboard 安装
点击 Install Skill,再选择来源。
GitHub 目录
填写 Skill ID,并按下面形式提供来源:
github:owner/repository/path@revision
Path 用于定位仓库内的 Skill 目录。需要可复现安装时,应固定 Revision。
本地 zip
上传包含 Skill 的 .zip,大小不超过 10 MiB。Anyy 会先暂存和校验,拒绝路径穿越、Symlink 以及超出 Staging Root 的条目。
两种 Dashboard 安装方式都会提交高风险 ChangePlan;批准前不会写入托管目录。
从 CLI 安装
CLI 还支持本机可访问的目录,以及直接指向 SKILL.md 的 HTTPS 地址:
anyy skills install github:OWNER/REPO/PATH@REF
anyy skills install --all github:OWNER/REPO
单文件 HTTPS 来源无法推导名称时,需要额外指定 Skill 名称。远程 URL 必须使用 HTTPS,且不能嵌入账号或凭据。
常用参数:
--force:替换同名托管 Skill;--now:修改后立即让 Gateway Reload;--json:输出结构化结果。
在会话中使用
可以直接点名,也可以描述它擅长的任务:
使用 release-notes Skill,总结这个 Workspace 的改动。
TUI 输入 /skills,Dashboard Chat 输入 /,即可查看实时 Catalog。最终命令取决于 Profile、界面、已安装 Skill 和启用状态。
任务确实需要时可以组合多个 Skill;不要无目的加载大量流程,否则会增加无关指令并可能产生冲突。
Anyy 如何管理 Skill
Profile 存在 Managed Skills Root 时,普通 Session 也会得到经过审计的 skill_manage Tool。任务明确涉及 Skill 管理时,Anyy 可以安装、创建、Patch、完整编辑、删除、回滚、Reload,或维护 Supporting Files。
它与 Dashboard 安装流程不同:模型调用 skill_manage 不会另建 ChangePlan,也不会弹出 Approval。该 Tool 被标记为高风险配置变更,每次执行都会进入 Audit。变更后应检查实际内容;不符合预期时使用 Rollback 或 Remove。
System Skills 仍然不可修改。Agent 产生的变更只进入当前 Profile 的 Managed Skill Library。
自动自我改进复盘
Anyy 会按 Session 累计符合条件的前台模型循环迭代。计数达到 15,并且触发它的 Session 原本可以使用 skill_manage 时,Anyy 可以另起一个名为 Self-improvement review 的 Background Session。
这里的一次 Iteration 是模型循环的一次迭代,不等于一条用户消息。一个会调用多个 Tool 的 Turn 可能包含多次 Iteration,因此也可能在少于 15 个聊天 Turn 时触发。以 completed 或 max_iterations 结束的前台 Execution 会计数;Cron、委派子任务、Retry、其他失败 Turn 与复盘本身都不计入。如果前台 Run 已调用 skill_manage,计数从该操作之后重新累计。
复盘使用触发它的 Session 所选 Provider/Model,并只接收有长度上限的触发 Execution Transcript。它能使用的工具被收窄为:
skills_list:查看 Catalog;skill_view:读取相关指令;skill_manage:修改 Profile-managed Skills。
它不能调用 Memory、Terminal、Messaging、Provider 管理、MCP 或委派工具。复盘会寻找可复用的方法、用户纠正与工作偏好,并把它们归入适合的 Class-level Skill;结果可能是更新现有 Skill、创建 Managed Skill、补充 Supporting File,也可能判断没有值得保存的内容。
Background Review 沿用 skill_manage 的审计策略。出现变更后,应检查 Dashboard → Chat → Background、Dashboard → Skills 与 Audit。真正修改成功时,还会产生一条 Self-improvement review 通知;没有修改时不会宣称 Skill 已更新。
独立复盘会产生真实的 Provider Request,因此可能增加 Token、延迟与费用。当前版本没有公开设置可以修改或关闭 15-Iteration 间隔;如果 Session 中没有可用的 Managed Skill Editing,复盘会跳过。
这套机制不等于个人记忆。关于“用户是谁”的稳定事实应进入 USER.md;关于“某类任务以后怎么做”的可复用方法才适合 Skill。两者边界见持久记忆。
回滚与卸载
回到上一版,或指定已记录的 Revision:
anyy skills rollback SKILL_NAME
anyy skills rollback --revision REVISION_ID SKILL_NAME
卸载托管 Skill:
anyy skills uninstall SKILL_NAME
Dashboard 也可以提交 Removal ChangePlan。System Skill 不能移除。CLI 回滚或卸载时可加 --now,立即刷新 Gateway。
不指定 --revision 时,Rollback 选择上一个托管版本。Profile 正被 Resident Runtime 占用时,不能绕过运行时直接离线修改。
使用建议
- Skill 更新后重新检查内容,不能假设来源始终不变。
- 需要可复现时固定 GitHub Revision。
- 个人长期偏好放在 Memory。
- 收到自动复盘通知后检查 Skill 的具体变化;泛化不准确时立即 Rollback。
- 重复操作流程适合 Skill;外部工具或服务连接适合 MCP。
- Skill 本身不授予工具和权限,参阅工具与 Toolset。
常见问题
| 现象 | 处理方法 |
|---|---|
| 安装或移除一直 Pending | 到 Approvals 审核 ChangePlan |
| Chat 中没有新 Skill | 启用、运行 anyy skills reload,再新建 Session |
| zip 被拒绝 | 移除 Symlink 和越界路径,大小控制在 10 MiB 内 |
| Rollback/Uninstall 被阻止 | 使用 Resident 流程,或停止 Anyy 后再离线操作 |
| System Skill 无法切换 | 它由当前 Anyy Release 统一管理 |
| Skill 在没有手工安装时发生变化 | 查看 Background Review 与 Audit;不符合预期时执行 anyy skills rollback SKILL_NAME |
| 聊了 15 条消息仍没有复盘 | 触发器累计的是符合条件的模型循环 Iteration,不是消息数,而且 Session 必须能使用 skill_manage |