必填字段为name与description:name须全小写加连字符且≤64字符,description须第三人称完整说明功能与触发时机;input_schema与output_schema定义参数契约,缺失将致校验失败;steps中action、params.command、env映射及on_failure策略共同决定执行逻辑与容错行为。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要为QoderWake自定义Skill编写结构化配置项,但不知道SKILL.md中哪些字段必须填写、哪些字段影响触发逻辑、哪些字段决定执行边界——填错任意一个关键字段会导致Skill加载失败或参数校验中断。
必填字段:name与description的硬性规范
这两个字段是QoderWake解析Skill的入口锚点,缺一不可,且格式错误将直接导致SKILL.md被忽略。
在SKILL.md文件顶部YAML front matter中,【name必须全小写+连字符,长度不超过64字符】,例如my-data-exporter、ci-build-trigger;若含大写字母、下划线或超长,QoderWake启动时会跳过该Skill并记录warning日志。
description字段必须用第三人称完整说明功能与触发时机,例如“该Skill用于从MySQL导出指定表结构与前100行数据,并生成Markdown文档”,不能写成“我帮你导出数据”或“导出表”。QoderWake依赖此字段做关键词匹配,描述模糊将无法被自然语言指令识别。
input_schema与output_schema:定义参数契约
这两个字段采用标准JSON Schema语法,用于约束输入参数类型、必填项及输出结构,缺失任一字段将使Skill在CLI调用时因参数校验失败而中止。
方法一:最小可用schema示例
在SKILL.md中添加如下内容(注意缩进与冒号后空格):
input_schema:
type: object
required: [table_name]
properties:
table_name:
type: string
description: "要导出的数据库表名"
代码编辑 CLI 工具集合:Cursor CLI(agent)和 Qoder CLI(qodercli),用于代码修改、重构、Code Review 及自动化代码任务。
方法二:带默认值与枚举的增强schema
若某参数有常用选项,可在schema中声明enum,例如status字段限定为["pending","done","failed"];QoderWake在Web UI中会自动渲染为下拉菜单,避免用户输错值。不加enum时,所有字符串都允许通过校验,但后续执行可能因非法值崩溃。
steps执行序列:YAML格式定义动作流
这是Skill真正干活的部分,必须放在SKILL.md正文区域(YAML front matter之后),使用有序列表明确每一步动作、参数与容错策略。
第一步:定义基础动作
用- action: shell.exec开头,params字段必须包含command字符串,例如command: "mysqldump -t -l -n -d $TABLE_NAME > schema.sql"。变量$TABLE_NAME需与input_schema中定义的字段名一致,否则运行时报undefined variable错误。
第二步:绑定输入参数到命令
在params内添加env映射,例如env: {TABLE_NAME: "{{ .input.table_name }}"}。双大括号语法是QoderWake模板引擎标记,【若漏掉最外层的点号和input前缀,如写成{{ table_name }},参数将无法注入】。
第三步:设置失败处理
在当前step末尾添加on_failure字段,值为字符串"skip"或"abort"。设为skip时,该step失败后继续执行下一步;设为abort时,整个Skill立即终止并返回error。生产环境建议对数据库操作设为abort,避免脏数据残留。










