跳到主要内容

编写技能

每个技能位于 skills/<skill-id>/SKILL.md。启动和 giclaw skills / --dry-run 时会严格校验:未知原子操作、空步骤、错误 ID、无效依赖都会直接报错,不能再以“零步骤成功”掩盖配置问题。

完整格式

---
id: my-skill
name: My Skill
description: One-line description for logs and API.
enabled: false
timeoutMs: 300000
retries: 1
dependsOn:
- welkin-moon
---

## Background
告诉视觉模型当前场景和 UI 约束。

## Goal
描述整个技能的目标和安全边界。

## Steps
- keyPress: Escape
- aiWaitFor: 派蒙菜单已经打开
- aiTap: 邮件图标
- screenshot: mailbox-opened

## Known Issues
- 云游戏平台侧边栏不是游戏 UI,不要点击屏幕最左侧边缘。

BackgroundGoalKnown Issues 会作为 Midscene 的 aiActionContext 注入所有视觉 AI 步骤,不只是保存为元数据。

Frontmatter

字段默认值说明
id必填kebab-case,必须与目录名一致
name必填显示名
description必填日志/API 简述
enabledtrue目录中的默认推荐状态;显式配置或 routine 仍可选择 false 技能
timeoutMs600000每次尝试的超时
retries1失败后的重试次数
dependsOn[]前置技能 ID;运行时自动递归加入、去重和拓扑排序

原子操作

视觉 AI(10 个)

操作参数格式用途
aiAct自然语言任务让模型规划并执行一组动作
aiTap元素描述视觉定位并左键点击
aiRightClick元素描述视觉定位并右键点击
aiHover元素描述视觉定位并悬停
aiInput文本 => 输入框描述定位输入框并输入
aiKeyboardPress按键 => 可选目标描述AI 辅助按键
aiScroll方向 [距离] => 可选区域描述AI 辅助滚动
aiWaitFor状态描述循环观察直到状态成立
aiAssert断言描述断言不成立时让步骤失败
aiBoolean问题返回布尔观察结果并写入 transcript

确定性键鼠与诊断(12 个)

操作参数示例用途
click640,360精确左键点击
rightClick640,360精确右键点击
move640,360移动鼠标
scrolldown 500精确滚轮输入
typehello键盘输入文本
keyPressEscape按下并释放按键
keyDown / keyUpW长按/释放按键,可用于宏或移动
mouseDown / mouseUpleft长按/释放鼠标键
wait15001.5s确定性等待
screenshotcheckpoint-name保存命名检查点截图

确定性操作适合稳定 UI 和键鼠录制回放;视觉操作适合版本变化、布局不确定的界面。混合使用通常比全程 aiAct 更快、更便宜,也更容易排错。

验证与运行

giclaw skills
giclaw run --dry-run --tasks my-skill
giclaw run --no-headless --tasks my-skill

--dry-run 只做本地结构与依赖验证,不会调用模型。实际运行失败时,transcript 会记录每一步;失败步骤会自动保存现场截图。