
Claude Code SDK #22:Output Styles 全解——system prompt × keep-coding-instructions × /config,让 Claude 的表达层可配置
Output Styles 不是项目记忆,也不是权限模式,而是 Claude Code 的表达层开关。本篇拆解内置 4 种风格、自定义 Markdown 文件结构、keep-coding-instructions、/config 切换、生效时机、缓存成本、插件分发与排障路径。
1. 先把边界划清:Output Style 管「怎么说」,CLAUDE.md 管「项目是什么」
如果这条指令换一个项目仍然成立,优先放 Output Style;如果它只对当前仓库成立,放 CLAUDE.md。
2. 内置 4 种风格:Default、Proactive、Explanatory、Learning
Proactive:适合你已经明确方向,只想让 Claude 少问常规问题、直接推进。官方说明它会立即执行、做合理假设、偏向行动;它比 auto mode 更强调自主执行,但不会改变 permission mode,所以工具运行前仍会出现权限提示。1Explanatory:适合你想边完成任务边学习代码库。它会在软件工程任务中插入教育性的「Insights」,解释实现选择和代码库模式。1Learning:适合刻意练习。官方定义里,它不仅会给 Insights,还会要求你自己完成一些小而关键的代码片段,并在代码中留下TODO(human)标记。1
Proactive 和 auto mode。Proactive 改的是 Claude 的行为倾向:少停顿、多推进。auto mode 改的是权限提示流程:减少常规工具调用前的确认。官方 Permission Modes 文档也写到,如果想要更强的自主行为但仍保留权限提示,应设置 Proactive output style,而不是直接把权限模式放松。2- 想让 Claude 更主动,但还想自己批准工具调用:选
Proactive,同时保留default或acceptEdits这类权限模式。1 - 想减少权限弹窗,并接受系统安全分类器兜底:选 auto mode。2
- 想让 Claude 先规划,不马上改文件:选 plan mode。2
3. 怎么切换:现在走 /config,不是 /output-style
/output-style 命令已经废弃并移除:v2.1.73 废弃,v2.1.91 移除。1{
"outputStyle": "Explanatory"
}outputStyle 是 settings 里的配置项,但它和大多数热加载配置不一样。Settings 文档说明,Claude Code 会监听 settings 文件,很多键可以在运行中的 session 里生效;但 outputStyle 属于 system prompt,下一次 /clear 或重启后才会应用。3/config 或 settings 修改不会让当前 session 立刻换风格,新的风格要等 /clear 或重启。4outputStyle,Claude 还在按旧风格说话,不一定是配置没写对。它可能只是当前 session 还没重建 system prompt。/clear 或重启后新风格才进入 system prompt。4. 自定义 Output Style:一个 Markdown 文件就是一个风格
- 用户级:
~/.claude/output-styles1 - 项目级:
.claude/output-styles1 - 管理策略级:managed settings directory 里的
.claude/output-styles1
.claude/output-styles/ 加载项目风格;如果多个嵌套目录定义了同名风格,离当前工作目录最近的那个生效。1---
name: Diagrams first
keep-coding-instructions: true
---
When explaining code, architecture, or data flow, start with a Mermaid diagram.
## Diagram rules {#diagram-rules}
- Use `flowchart TD` for control flow.
- Use `sequenceDiagram` for request paths.
- Keep diagrams under 15 nodes.
- After the diagram, explain the tradeoff in plain language.keep-coding-instructions 是这里最重要的字段。官方说明:如果你只是改变 Claude 的沟通方式,但仍希望它按 Claude Code 的软件工程习惯写代码,就设为 true;如果 Claude 不再做软件工程,比如作为写作助手或数据分析助手,可以不保留。1keep-coding-instructions: true。官方在「How output styles work」里也写到,自定义风格会把内置软件工程指令排除在外。15. Frontmatter 只有 4 个核心字段,但影响很大
name:风格名;不写时继承文件名。1description:显示在/config选择器里的说明。1keep-coding-instructions:是否保留 Claude Code 内置软件工程指令,默认false。1force-for-plugin:只用于插件输出风格;插件启用时自动应用该风格,会覆盖用户自己的outputStyle设置。1
force-for-plugin 更适合插件作者,比如某个教学插件必须让 Claude 始终用课程式风格回答。description。Commands 文档提到,/config 是调整 theme、model、output style 等偏好的入口。5 描述写清楚,队友在菜单里才知道该不该选。6. 它和 CLAUDE.md、Skills、Agents、--append-system-prompt 的区别
- Output Styles:直接修改 system prompt,适合每一轮都要生效的角色、语气、默认格式。1
- CLAUDE.md:作为 system prompt 之后的 user message 加入,适合项目约定和代码库上下文。1
--append-system-prompt:在不移除任何默认内容的前提下追加 system prompt,适合一次性调用的临时补充。1- Agents:子 Agent 有自己的 system prompt、model 和 tools,适合单独作用域的助手。1
- Skills:相关时加载任务特定指令,适合可复用工作流。1
长期表达偏好:Output Style
长期项目事实:CLAUDE.md
可复用操作流程:Skill
隔离角色和工具集:Agent
一次性 system prompt 补丁:--append-system-prompt7. 插件也能分发 Output Styles
output-styles/ 目录里携带风格。1 Plugins reference 进一步说明,插件 manifest 里有 outputStyles 字段,可以指向自定义风格文件或目录;该字段会替换默认的 output-styles/ 扫描路径。6- 教学插件可以引导用户选择 Learning 风格,因为该风格会要求用户完成小的代码片段。1
- 架构评审插件可以强制先输出决策记录格式,前提是插件正确性依赖这个输出协议。1
- 数据分析插件可以让 Claude 默认按「问题、口径、结论、局限」写报告,作为插件分发的交互方式。6
8. 缓存与成本:风格不是免费魔法
/config 或 outputStyle 设置中途修改,当前 session 仍使用启动时加载的风格,新的风格等 /clear 或重启才加载。4- 一个任务开始前先选好风格,因为 Output Style 属于 session 启动时加载的 system prompt。4
- 学习代码库时用
Explanatory,进入批量改代码时切回Default或Proactive,避免解释型风格拉长每轮输出。1 - 不要让自定义风格写成长篇宣言;给 system prompt 添加指令会增加输入 token。1
- 对会输出长解释的风格,预期成本和响应长度都会上升,尤其是
Explanatory和Learning。1
9. 调试:为什么我设置了,Claude 没按风格来?
/clear 或新 session。官方把它列为 session 启动时读取的 system prompt 部分。4.claude/settings.local.json 写了另一个值,后者会赢。keep-coding-instructions: true 时,自定义风格默认不保留 Claude Code 内置的软件工程指令。1/context 看当前 context window 里有哪些 system prompt、memory files、skills、MCP tools 和消息;再用 /doctor、/status 等命令查设置来源和 schema 问题。710. 给 AI 开发者的落地建议
- 先建 2 个团队共享风格。 一个叫
Brief engineer,要求先给结论、命令和风险;一个叫Teacher mode,要求解释设计取舍。都写keep-coding-instructions: true,因为保留内置工程指令要显式开启。1 - 把 CLAUDE.md 减肥。 删除所有「回答要简洁」「解释要通俗」「先给 TL;DR」这类表达偏好,只保留项目事实、约定和命令;官方把项目上下文明确归给 CLAUDE.md。1
- 把流程性内容迁到 Skills。 例如发版检查、PR review、数据库迁移,不要写进 Output Style;官方对照里,Skills 对应可复用工作流。1
- 给插件风格留出边界。 插件可以带 Output Styles,但不要轻易
force-for-plugin,除非输出协议对插件运行结果有硬依赖。1 - 把
/clear写进切换习惯。 每次改完 Output Style 后,直接/clear开新任务,别在旧 session 里猜它为什么没变。4
Related content
Picked from other channels by content similarity—find new creators to follow.
Image post·Claude Code 长出网页:终端输出终于能被围观
机器之心单篇文章图片笔记:Claude Code 支持 Artifacts,把终端里的工作进度发布成可分享、会随会话更新的页面;官方文档同时说明它是单个自包含页面,无后端、不能实时调 API,当前面向 Team/Enterprise beta。
量子位·机器之心·新智元 图片笔记
Article·X Feed 每日中文简报|2026年6月9日
2026年6月9日简报:Claude Code 一周年深度方法论(Auto Mode 取代 Plan Mode、错误写入规则);Cognition FrontierCode 评测 Opus 4.8 Diamond 子集 13.4%;Skills 仓库新增 Teach Skill;傅盛判断人形机器人行云流水大概率非真自主;Elon Musk 宣布 FSD 丹麦获批;Genspark 推出 Skill Plaza 让普通用户也能用 Skills。
X Feed 每日中文简报
- AudioAudio·
收件箱 Freestyle(6月6日)
今天 1 封未读邮件:Medium Daily Digest 塞满 15 篇 AI 工程文章——Claude Code spec-driven 开发、Anthropic Opus 4.8 发布、技术面试宣告终结、开源帝国威胁开发者、Uber 每秒 83K GPS ping、CLAUDE.md 九万一千颗 star 里面没有代码。一首 trap rap 打包全部,收件箱清零。
Gmail 未读邮件 Daily Rap
Image post·40万次 Claude Code 会话:AI 编程红利给懂问题的人
新智元单篇文章图片笔记:Anthropic 研究显示,在 Claude Code 会话里,人类主要做规划,Claude 主要做执行;真正拉开效果差距的是任务专业度与纠偏能力。
量子位·机器之心·新智元 图片笔记
Article·Claude Code 出实时评审页,Gemini 补临时聊天管控——6 月 21 日 AI 动态
本期补看 6 月 16-21 日可核验的 AI 产品更新:Claude Code Artifacts 把编码会话变成组织内可共享的实时页面,Gemini app 给企业管理员补临时聊天和删除对话控制,Copilot Chat Auto mode 面向所有 Copilot 计划开放,Gemini in Sheets 扩展到更多语言。
AI 产品日报
Video·AI 圈今日梗图解说:Extra High、Slop 双标和隐藏护栏反转
4 个梗看懂今日 AI 圈:ChatGPT 推理档位像奶茶杯型、Claude 区自嘲 slop 双标、Rocky 人格插件,以及 Anthropic 隐藏护栏改可见。
AI 圈今日梗图解说
Add more perspectives or context around this Post.