Agent Skill
@yoooclaw/cli 随包发布了一组 Skill(SKILL.md)—— 用自然语言描述「何时该调哪些 yoooclaw 命令」,让 Agent 不必你逐条教学就能自己驱动 CLI。
与插件形态的区别
在 openclaw 插件里,这些 Skill 由 openclaw.plugin.json 的 skills 字段自动注册,宿主启动即加载。独立 CLI 没有宿主代劳,Skill 内嵌在 CLI 二进制里,需要手动安装到当前 Agent 的 skills 发现目录。
内置 Skill
CLI 曾经给通知查询和每种录音加工各配一个独立 Skill,数量一多反而互相抢触发,后来收敛成按路由分工的一组 Skill:查询统一走 yoooclaw-context-query,录音加工统一走 yoooclaw-recordings-process,其余每个领域各一个。旧的 yoooclaw-notification-query、yoooclaw-recording-query、yoooclaw-recording-meeting-minutes、yoooclaw-recording-interview、yoooclaw-recording-entity-extraction、yoooclaw-recording-translation、yoooclaw-recording-mindmap,以及已被 yoooclaw-light 取代的 yoooclaw-lightrule-create,都不再随包发布;升级后执行 yoooclaw skills install --force 会顺带清理已安装的旧同名 Skill。
当前(CLI 0.12.0)随包发布 8 个 Skill:
| Skill | 触发场景 |
|---|---|
yoooclaw-context-query | 查询本机已同步数据的唯一入口——通知/消息("最近有什么通知")、语音输入 / 口述历史("我刚才说了什么")、录音/转写("录音里说了什么")、已收藏/已同步网页("查一下我最近一天收藏的文章")、图片("同步图片"),以及跨来源的"哪里提到过 X"。覆盖 list / search / get / answer / summarize / statistics 各类意图,纯读磁盘,不需要 daemon。通用的联网搜索/时事类请求会被排除在外,交给联网工具处理。 |
yoooclaw-recordings-process | 把录音/转写(或提供的文本/文件)加工成结构化产物——会议纪要、翻译(含两阶段术语表)、Markdown 思维导图、采访整理、实体提取。共用一套"录音来源定位"流程,只加载被请求的产物分支。单纯查录音列表、查转写、搜内容、看已有摘要,走 yoooclaw-context-query。 |
yoooclaw-light | 设备显示与灯效:把文字/结果显示到硬件屏幕、现在或任务完成后亮一次灯(light send),以及管理"收到某类通知时亮灯"的持久规则(lightrule *,由云端 Notification Intelligence 编译、评估并触发,需先配置账号 api-key)。取代旧的 yoooclaw-lightrule-create。 |
yoooclaw-todo | 个人待办的查询、详情、创建、修改、完成、恢复与删除(todo *)。用户泛指"日程 / 待办 / 安排"时默认使用,无需提产品名;用户明确指定其他平台时才交给对应平台。删除前必须确认具体条目。 |
yoooclaw-notification-to-memory | "从通知中了解我 / 通知沉淀到记忆 / 继续学习通知"——按 sync next 批次把通知提炼成个人画像、每日记录与长期记忆,确认宿主 Agent 的持久记忆写入并回读成功后才 sync commit;宿主没有可验证的持久记忆能力时直接停止,不在工作目录里另造替代品。 |
yoooclaw-data-transfer | "换电脑了把数据搬过去 / 导出数据包 / 帮我导入这份迁移数据:任务ID"——默认走 transfer export --via oss / transfer import --task,用户提供本地包或要求离线时才用本地包;与 OpenClaw 插件 ntf transfer 的包互通。导出成功后只给出隐私提醒和一句可复制的导入话术。 |
yoooclaw-media-generate | 图片 / 视频生成:文生图、图生图 / 图片编辑、文生视频、参考图 + 文字视频、首尾帧视频(2–30 秒,480P/720P/1080P),以及积分估算和视频任务查询。每次新请求都先确认规格、估价并取得本次授权才生成;视频任务自动轮询,结果由脚本保存到工作目录的 media-results/ 并给出可直接粘贴的 reply_markdown。脚本只依赖 Python 3 标准库。 |
yoooclaw-tunnel-debug | "手机推送收不到 / 通知没同步 / 检查隧道 / daemon 还活着吗"——组合 doctor / auth status / daemon status / tunnel status / tunnel +test / gateway test / daemon logs 自检本地环境、daemon、ingest 鉴权与 Relay WebSocket 链路。多数命令需要 daemon 在跑。 |
yoooclaw-context-query 内部按来源拆成独立 reference 文档(notifications / voice-input / recordings / web-pages / images),只加载命中的那一份;yoooclaw-recordings-process、yoooclaw-light、yoooclaw-data-transfer 同理按分支拆分 reference,不会一次性把所有文档塞进上下文。
yoooclaw-media-generate 带一个 Stop hook(link_guard.py),在 Agent 最终回复前核对回复里的媒体链接与脚本真实输出是否一致,不一致会要求按正确链接重写。宿主执行 hook 时不保证提供 Skill 目录变量,所以 skills install 会把 SKILL.md 里的 __YOOOCLAW_SKILL_DIR__ 占位符替换成该 Skill 安装目录的绝对路径。
yoooclaw skills list # 列出随包发布的内置 Skill 及触发说明
yoooclaw skills targets # 查看支持的 Agent 目标和探测结果安装
yoooclaw skills install # 自动探测唯一 Agent 后安装
yoooclaw skills install --agent codex
yoooclaw skills install --agent claude
yoooclaw skills install --target ~/.config/agent/skills --force| flag | 说明 |
|---|---|
--agent <agent> | 安装目标 Agent,支持 auto / claude / codex / custom,默认 auto。 |
--target <dir> | 安装目标目录;传入后优先于自动探测,适合任意兼容 SKILL.md 目录结构的 Agent。 |
--copy | 仅为兼容旧调用保留:Skill 内嵌在 CLI 二进制里,安装恒为复制。 |
--force | 目标已存在同名 Skill 时覆盖;否则跳过并在 skipped 中报告。 |
auto 模式只在检测到唯一 Agent 时自动安装。如果同时检测到 Claude Code 和 Codex,或一个都没检测到,CLI 会返回候选目标并要求显式传 --agent 或 --target,避免悄悄装到错误宿主。
内置 Agent 默认目录:
| Agent | 默认 skills 目录 |
|---|---|
claude | ~/.claude/skills |
codex | ${CODEX_HOME}/skills,未设置时为 ~/.codex/skills |
升级后记得重装 Skill
Skill 内嵌在原生二进制里,skills install 是把它们复制到 Agent 的发现目录,得到的是当时版本的快照。升级 CLI 后执行一次 yoooclaw skills install --force 刷新内容并清理已合并的旧名称,再重启 Agent 会话。用无影安装器装的 Claude / Codex Skill 里还写入了 CLI 绝对路径,重跑安装器(--force)会一并更新。
安装后重启 Agent 会话即可被发现。之后说一句"看看最近的通知",Agent 就会按 yoooclaw-context-query 的指引调 yoooclaw notification 命令。
幂等与排错
- 不确定该装到哪里时,先执行
yoooclaw skills targets看detected和target。 - 输出里
installed是本次新装/已就绪的 Skill,skipped列出因已存在而跳过的(附原因),加--force覆盖。 - 写入目标目录报
YOOOCLAW_STORAGE_UNAVAILABLE(EPERM/EACCES)时,检查目标目录权限,或用--target换一个可写目录。