Claude Code 输出样式
输出样式可以让 Claude Code 适配软件工程之外的场景,同时保留其运行本地脚本、读写文件、跟踪待办事项等核心功能。
本质是通过修改系统提示,定制 Claude Code 的交互逻辑和响应风格。
内置输出样式
Claude Code 提供 3 种开箱即用的输出样式,满足不同使用需求:
| 样式类型 | 适用场景 | 核心特点 |
|---|---|---|
| 默认样式 | 日常软件工程任务 | 专注高效完成编码、调试、重构等工作 |
| 解释性样式 | 边做边学场景 | 完成任务的同时,讲解实现思路、代码库设计模式等知识点 |
| 学习样式 | 主动实践式学习 | 协作完成任务,会在代码中添加 TODO(human) 标记,引导你手动实现关键代码片段 |
输出样式的工作原理
输出样式的底层逻辑是修改系统提示,遵循以下规则:
- 所有样式都会移除「简洁回复、高效输出」等默认约束;
- 自定义样式默认剔除「用测试验证代码」等编码相关指令(如需保留,可开启
keep-coding-instructions配置); - 每种样式都会在系统提示末尾追加自定义规则;
- 对话过程中会触发合规提醒,确保 Claude 始终遵守当前样式的指令。
切换输出样式
切换样式有两种快捷方式,修改后的配置会保存在项目目录的 .claude/settings.local.json 文件中,仅对当前项目生效:
- 菜单选择模式:在 Claude Code 中输入
/output-style,打开交互菜单选择目标样式; - 命令直连模式:输入
/output-style [样式名]直接切换,例如:/output-style explanatory
补充:也可以直接编辑不同级别的设置文件,修改
outputStyle字段来切换样式。
创建自定义输出样式
如果内置样式不满足需求,你可以通过 Markdown 文件定义专属样式,支持用户级别和项目级别两种保存路径。
1. 文件格式
自定义样式文件由前置元数据和指令正文两部分组成:
--- name: 自定义样式名称 description: 样式功能的简短描述(会在 /output-style 菜单中显示) keep-coding-instructions: false # 是否保留默认编码相关指令,默认false --- # 自定义指令标题 这里写具体的行为规则,例如: 你是一个专注于数据分析的助手,擅长将复杂数据转化为简洁的可视化报告。 所有回复需要包含「结论+数据支撑+建议」三部分。 ## 补充行为要求 1. 优先使用 Python Pandas 处理数据 2. 生成代码时必须附带详细注释
2. 元数据参数说明
| 参数名 | 必填 | 作用 | 默认值 |
|---|---|---|---|
name |
否 | 样式名称,未填则继承文件名 | 文件名 |
description |
否 | 样式描述,用于菜单展示 | 无 |
keep-coding-instructions |
否 | 是否保留原系统提示中的编码相关指令 | false |
3. 保存路径
- 用户级别:保存在
~/.claude/output-styles目录下,所有项目均可使用; - 项目级别:保存在项目根目录的
.claude/output-styles目录下,仅当前项目可用。
与相关功能的区别
为避免混淆,这里明确输出样式与其他类似功能的核心差异:
| 对比对象 | 核心差异 |
|---|---|
| 输出样式 vs CLAUDE.md/—append-system-prompt | 输出样式会替换并关闭默认的软件工程相关系统提示;<br>CLAUDE.md 是在默认提示后添加用户消息,--append-system-prompt 是在默认提示后追加内容,二者都不修改原提示。 |
| 输出样式 vs 代理(Sub-agents) | 输出样式仅修改主代理的系统提示,影响全局交互;<br>代理是为处理特定任务而生,可自定义模型、工具和触发条件,是独立的任务处理模块。 |
| 输出样式 vs 自定义斜杠命令 | 输出样式是「存储的系统提示」,决定 Claude 的整体交互风格;<br>自定义斜杠命令是「存储的用户提示」,用于快速执行特定指令或任务。 |
Claude Code 自定义输出样式模板
直接替换 [ ] 中的内容,保存为 .md 文件即可使用:
--- # 【必填】样式名称,会显示在 /output-style 菜单中 name: [你的样式名称,例如:数据分析助手] # 【选填】样式功能描述,用于菜单展示说明 description: [一句话说明这个样式的用途,例如:专注将复杂数据转为可视化报告和分析结论] # 【选填】是否保留默认的编码相关系统提示 # true = 保留编码指令 / false = 剔除编码指令(默认) keep-coding-instructions: [true/false] --- # 一、核心定位 [定义 Claude 的角色,例如:你是一个专业的数据分析助手,擅长使用 Python 处理各类结构化数据] # 二、响应规则 [规定 Claude 的回复逻辑,例如: 1. 所有分析必须包含「数据结论 + 支撑依据 + 优化建议」三部分 2. 生成代码时必须附带详细注释,且优先使用 Pandas/Matplotlib 库 3. 避免使用专业术语堆砌,用通俗语言解释复杂概念] # 三、格式要求 [指定回复的排版格式,例如: 1. 结论部分加粗显示 2. 代码块使用 ```python 标签包裹 3. 建议部分用有序列表呈现] # 四、特殊场景处理 [补充特定场景的规则,例如: 1. 遇到缺失数据时,主动提示用户补充关键信息,而非直接报错 2. 生成可视化图表时,默认输出中文标签和浅色主题]
使用步骤
- 将上述内容保存为
xxx.md(例如data-analysis.md) - 放到指定目录:
- 用户级别(所有项目可用):
~/.claude/output-styles/ - 项目级别(仅当前项目可用):
项目根目录/.claude/output-styles/
- 用户级别(所有项目可用):
- 在 Claude Code 中输入
/output-style,即可在菜单中选择你创建的样式
点我分享笔记