自学教程

Claude Code 输出样式

简介

Claude Code 输出样式用来规定模型返回内容的格式、结构、排版风格。
可以在 CLAUDE.md、技能(Skills)、子代理(Subagents)中定义输出样式,让模型输出保持统一,方便阅读、复制、解析。

作用:避免每次对话反复要求“输出Markdown表格”“不要多余解释”,统一返回风格。

输出样式生效位置

  1. CLAUDE.md(全局项目):整个项目所有会话默认输出规则,优先级最低。
  2. Skill 技能内定义:调用技能时生效,覆盖CLAUDE.md样式,仅当前技能任务。
  3. Subagent 子代理定义:子代理专属输出格式,子代理任务专用。
  4. 单次对话临时指定:当前对话一次性生效,不会持久保存。

常用输出格式类型

格式适用场景
Markdown文档、报告、列表、对比表格(最常用)
纯文本简单结果、命令清单,无多余标记
JSON结构化数据,程序解析
代码块源码、配置文件,带语言标记
Mermaid流程图、架构图

在 CLAUDE.md 配置全局默认输出样式

在项目根目录 CLAUDE.md 添加输出规则示例:

# 输出样式约定
1. 优先使用标准Markdown输出。
2. 代码块必须标注语言类型,例如 ```typescript
3. 输出报告使用分级标题,使用表格展示对比数据。
4. 不要多余闲聊话术,只输出结果和必要说明。
5. 如需列出问题,使用有序/无序列表。
6. 不输出多余前置总结,直接展示内容。

修改后 /clear 新建会话生效。

在 Skill 内定义输出样式示例

文件:.claude/skills/code-review.md

# Skill:code-review
## 技能描述
代码评审
## 输入参数
- files:待评审文件
## 执行步骤
1. 读取源码
2. 多维度检查
## 输出样式
使用Markdown,按下面结构输出:
### 代码评审报告
| 等级 | 文件路径 | 行号 | 问题描述 | 修复建议 |
|---|---|---|---|---|
严重问题单独优先列出,不输出无关闲聊。
## 约束
只读,不修改代码

在子代理中定义输出样式

.claude/subagents/report-agent.md

# 子代理 report-agent
职责:生成项目变更报告
权限:只读src目录
输出样式:
- 使用Markdown二级标题分段
- 变更清单使用无序列表
- 统计信息使用表格
- 禁止输出多余开场白

单次对话临时指定输出样式(临时)

直接写在对话提示词内,仅本次请求生效。
示例:

分析src/utils/request.ts,输出用Markdown表格列出所有问题,不要多余文字。
统计依赖版本,输出JSON格式,只返回JSON,不加任何解释。

输出样式组合示例

需求:生成API文档,指定输出样式

调用技能 api-docs,apiFile=@src/api/types.ts,输出使用Markdown表格,字段包含:字段名、类型、是否必填、说明

控制输出的常用指令关键词

  • 只输出结果,不要前言和总结
  • 使用markdown表格
  • 包裹在```json代码块内
  • 使用Mermaid流程图
  • 简洁输出,减少冗余文字

最佳实践

  1. 项目通用输出规则写进 CLAUDE.md;
  2. 技能、子代理内定义任务专属输出格式,覆盖全局样式;
  3. 结构化报告优先Markdown表格,方便复制到文档;
  4. 程序自动解析场景使用JSON输出,关闭多余描述;
  5. 不要过度限制样式,保留必要的说明文字,避免模型输出内容难以理解。

常见问题

  1. 已经定义输出样式,但模型没有遵守
  • 确认规则写在正确位置;
  • 如果修改了CLAUDE.md/技能文件,执行 /clear 或者 /skill reload;
  • 描述规则尽量清晰,避免模糊描述。
  1. JSON输出附带多余文字,无法直接复制解析
    增加约束:只输出JSON,不要任何额外解释。
  2. 输出的Markdown格式错乱
    要求模型严格使用标准Markdown语法,表格、代码块规范书写。

安全提示

输出样式仅控制返回文本排版,不会改变文件读写权限。输出内容依然需要人工审核,尤其代码修改、脚本类内容。

0 条笔记