trae skill需通过yaml声明output_format并配合正文指令才能固定输出结构:在skill.md顶部---间添加output_format字段(如markdown-table),并在正文明确要求格式(如“输出三列表格”),否则ai仍自由发挥;支持json、markdown-table等值,拼写错误将导致skill不被选中。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Trae Skill固定输出某种结构(比如JSON、表格、带编号的清单),而不是每次自由发挥——这直接影响后续自动化解析或人工阅读效率。
用 frontmatter 声明输出约束
打开你的 SKILL.md 文件,在顶部 YAML 区域(即两个 --- 之间)添加 【output_format】 字段:
---
name: api-reviewer
description: 审查 OpenAPI 文档,输出问题清单与修复建议。
output_format: markdown-table
---
这个字段不会被 AI 直接读取执行,但它会作为元数据供 Trae 内部调度器识别,并在触发时优先匹配支持该格式的渲染逻辑。
目前支持的值有:markdown-table、json、unified_diff、plain-list。填错会导致 Skill 不被自动选中。
在 Markdown 正文中强制格式指令
YAML 元数据只是“声明意图”,真正起作用的是正文里的明确指令。
在 ## 指令 或 ## 执行步骤 章节中,必须用自然语言+符号双重锁定格式:
✅ 正确写法:
输出一个三列表格,列名依次为「问题位置」「风险等级」「修复建议」,使用 Markdown 表格语法,禁止换行符嵌套在单元格内。
❌ 错误写法:
把问题列出来就行。(AI 会默认用段落或无序列表,无法被程序解析)
这一步不能省——没有正文指令,即使 YAML 写了 output_format: json,AI 仍可能返回一段描述性文字。
用内置参数覆盖默认输出(高级用法)
当你在对话中手动调用 Skill 时,可临时覆盖其预设格式:
方法一:命令前缀方式
输入:/review --output=json 这段代码有安全漏洞吗?
Trae 会忽略 SKILL.md 中的 output_format 声明,强制以 JSON 输出。
方法二:自然语言嵌入方式
输入:帮我 review 这段代码,结果请严格按 JSON 格式返回,包含字段:line_number、issue_type、suggestion
AI 会将该句解析为 output_format=custom-json 并执行。
【注意】--output 参数只对内置 Skill(如 /fix、/review)或已注册的 Skill 生效;未启用的 Skill 或拼写错误的参数会被静默忽略。
验证输出是否生效
第一步:确保 Skill 状态为「已启用」,开关在设置→规则与技能→列表右侧。
第二步:在对话框输入触发词,例如「review this function」,观察返回是否符合你指定的格式。
第三步:若格式不对,立即检查两处:
① SKILL.md 中 YAML 区域是否有拼写错误(比如写成 output_fomat);
② Markdown 正文是否遗漏了具体格式动词(如“用表格”、“生成 JSON 对象”、“每项编号”)。
第四步:删掉 .trae/skills/ 下对应文件夹 → 重新创建 Skill → 粘贴修正后的内容 → 保存。










