<p>OpenClaw技能失效主因是Triggers配置不当或Steps逻辑缺失;须严格按v2026.3.31规范:Triggers需在YAML中声明短而互斥的纯字符串,Steps须以## Steps起始、数字序号引导、动宾短语+工具标签,且二者语义必须一致。</p>
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在开发OpenClaw技能时发现指令无法被正确识别或任务未按预期启动,则很可能是Triggers触发器配置不当或Steps执行逻辑缺失。以下是严格遵循OpenClaw v2026.3.31版本规范的编写要点:
一、Triggers触发器配置规则
Triggers是用户输入与Skill匹配的入口条件,其匹配机制依赖于语义相似度计算而非精确关键词比对,因此需兼顾覆盖性与排他性。配置错误将导致Skill不被调度或与其他Skill产生冲突。
1、在SKILL.md文件YAML元数据区块内,必须使用triggers:字段声明触发列表,每项为纯字符串,不支持正则表达式或通配符。
2、每个触发词长度应控制在2–8个汉字或4–16个英文字符以内,避免过长导致语义稀释。
3、同一Skill中不得设置语义高度重叠的触发词,例如“查天气”与“天气预报”应合并为一项。
4、若需响应多语言输入,须显式列出各语言变体,如- "check weather"与- "查天气"需并列声明。
5、触发词中禁止包含标点符号、空格开头/结尾、特殊控制字符,否则该条目将被运行时静默忽略。
二、Steps执行步骤结构定义
Steps并非独立代码块,而是嵌入SKILL.md正文Markdown文档中的有序操作说明段落,由OpenClaw调度器解析后转化为可执行动作链。其格式必须符合严格的层级标记规范,否则将导致解析失败或步骤跳过。
1、所有Steps必须位于YAML分隔符---之后的正文区域,且以二级标题## Steps起始(注意:此处为Markdown语法,非HTML标签)。
2、每个Step须以数字序号加英文句点开头,如1. 连接本地数据库,不可使用中文顿号、括号或破折号替代。
3、每个Step描述必须为完整动宾短语,主语默认为OpenClaw Agent,禁止出现“你”“请”“用户”等人称代词。
4、涉及工具调用的Step,须在末尾用方括号标注所用工具名,格式为[bash]、[read]、[write]等,且仅限OpenClaw内置工具集。
5、跨步骤依赖关系须通过变量引用显式声明,例如上一步输出存入{{output_path}},下一步须直接使用该标识符,不可改写为硬编码路径。
三、Triggers与Steps协同校验方法
OpenClaw在加载Skill时会执行静态一致性检查,确保Triggers语义与Steps目标行为逻辑自洽。若存在明显矛盾(如触发词为“生成PDF”,但Steps中无任何[write]或[convert]动作),则Skill将被标记为inconsistent状态且拒绝加载。
1、运行openclaw skill validate my-skill命令触发校验,输出结果中出现trigger-action mismatch即表示语义断连。
2、校验失败时,系统日志将定位至具体触发词与缺失Step编号,例如trigger "导出报表" → missing Step with [export]。
3、修复方式仅限两种:要么删除冲突触发词,要么在Steps中补充对应动作条目并标注正确工具标签。
4、修改完成后必须执行openclaw gateway restart,否则变更不会生效。
5、验证通过的Skill会在openclaw list skills输出中标记为valid状态,未通过者显示为invalid。


















