跳到主要内容

Skills 系统

Skill 是一组可复用的任务说明,用来教 Anyy 按特定流程工作。它可以包含 SKILL.md、配套文件,并在兼容的聊天界面中提供命令。

Skills 属于当前 Profile;切换 Profile 后,Catalog 和启用状态也会切换。

安装前先审查

至少阅读来源中的命令、外部服务、凭据要求、下载行为与关联文件。

把 Skill 当作可执行的操作指南

安装本身不会增加系统权限,但实际使用时,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 时触发。以 completedmax_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,也可能判断没有值得保存的内容。

复盘修改 Skill 时不会弹出 Approval

Background Review 沿用 skill_manage 的审计策略。出现变更后,应检查 Dashboard → Chat → BackgroundDashboard → 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

常见问题

现象处理方法
安装或移除一直 PendingApprovals 审核 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