

上周我做了一个叫「心理陪伴」的 Claude Skill。
它不是一个 App,不是小程序,甚至没有界面。就一个 Markdown 文件,加上几个参考资料,放在 GitHub 上。
但它能做到网页版 Claude 做不到的事:记住每一个来找它聊天的人、理解东亚家庭里的孝道压力、在合适的时机用”压力水杯”的比喻解释焦虑、识别到危机信号时递上心理援助热线。
这篇文章是我在做这个 Skill 过程中了解到的,关于 Claude Code 和 Skill 机制的一些东西。写下来,给感兴趣的人参考。
大多数人还在网页对话框里#
2024 年底到现在,AI 工具已经铺天盖地。但直到现在,大多数人的使用方式还是:
打开网页或 App → 输入问题 → 获得回答 → 关闭页面
这个流程本身没什么问题。但它有一个明显的局限:每一次对话都是独立的。
你花半小时跟 AI 聊了最近的焦虑,聊得挺有收获。新开一个会话,它完全不记得你是谁。你又得从头说一遍——“我最近睡不好,脑子里一直想事情,工作压力大……”
即使不新开会话,就逮着一个聊,也有别的问题。刚开始它还算聪明,聊得越多,它就开始聊一句忘一句。到最后它记得什么、忘了什么,你也搞不清楚。
这跟 AI 本身好坏没关系。网页版就是这么设计的:对话之间不共享上下文,单个会话的上下文空间也有限。
Claude Code 不只是”能跑命令的聊天框”#
很多人第一次听说 Claude Code,反应是:“哦,那个能在终端里写代码的 AI。”
这个印象不准确。
Claude Code 当然能写代码。但它有几个设计,对非代码场景同样有用:
上下文管理:让 AI 能跨会话”记住”信息#
网页版 AI 的上下文窗口像一块白板——对话结束,白板擦掉。
Claude Code 可以把对话中的关键信息写入 Markdown 文件,存在项目目录里。下次会话启动时,这些文件自动加载进上下文。
比如在我做的心理陪伴 Skill 里,每个来聊天的人会被整理成独立的目录,按用户隔离:
memory/
├── 小A/
│ ├── 心理状态-情绪模式.md # 反复出现的情绪模式
│ ├── 心理状态-重要背景.md # 重要生活事件、人际关系
│ ├── 心理状态-偏好与应对.md # 应对方式、偏好及有效支持策略
│ └── 心理状态-会话摘要.md # 每次会话的关键节点
└── 小明/
├── 心理状态-情绪模式.md
├── 心理状态-重要背景.md
├── 心理状态-偏好与应对.md
└── 心理状态-会话摘要.mdplaintext对话过程中边聊边记,新会话开始时 AI 自动加载对应用户的历史记录。这样 AI 不需要每次都从头认识你,不同用户之间也完全隔离。
渐进式加载:用到什么加载什么#
安装一个 Skill 之后,Claude Code 不会把全部内容一次性塞进上下文。它用三级加载:
第一层:元数据(name + description)
↓ 始终在上下文里,约 100 字
第二层:SKILL.md 正文
↓ 技能被触发时才加载,约 500 行以内
第三层:参考资料(references/)
↓ 需要时按需读取,无限制plaintext这样做的好处是,AI 不必在对话一开始就记住所有东西。它只需要知道”有这些东西”,需要的时候去翻。
网页版 AI 回答心理学问题,基本靠训练数据里已有的知识。它会”知道”一些东西,但准确性没法保证,深入不了细节,也没法针对特定文化背景调整。
带上 Skill 之后:
- 对话开始,AI 知道自己有”心理陪伴”能力(第一层)
- 你开始倾诉,它加载完整的对话流程(第二层)
- 你问”为什么我会这样”,它去读参考资料里的心理知识手册,找到合适的内容来解释(第三层)
Skill 的用处就在这里:不是让 AI 变聪明,而是把对的知识在对的时候喂给它。
上下文压缩:长聊不丢信息#
Claude Code 还有一个幕后的能力:上下文压缩。
跟网页版聊久了,AI 会渐渐”忘记”对话开头说了什么。因为上下文窗口容量固定,早期内容会被后面的挤掉。
Claude Code 的做法是自动压缩和总结对话历史——保留关键信息,丢掉冗余部分。这样长时间深入对话不会丢太多上下文。
Skill 本质上是什么#
一个文件夹#
从技术上说,一个 Skill 的目录就长这样:
my-skill/
├── SKILL.md # 核心指令文件(必需)
└── references/ # 参考资料(可选)
├── 知识手册.md
├── 资源列表.md
└── ....plaintextSKILL.md 是带 YAML 头信息的 Markdown 文件:
---
name: my-skill
description: 这个 skill 做什么、什么时候触发。决定 AI 会不会调用它。
---
# Skill 正文
这里写具体的指令、流程、原则……yaml不需要写代码。
为什么管用#
Skill 做的就一件事:把一套结构化的知识,按需注入到 AI 的上下文里。
拿心理咨询师和普通人聊天来比——区别不是谁更聪明。是咨询师脑子里有一套结构化的知识:怎么开场、怎么倾听、什么时候深入、什么时候该给建议、哪些信号需要注意。
Skill 就是把这样一套东西写下来,让 AI 在对话时带着走。
怎么写一个 Skill#
先想清楚做什么、怎么触发#
第一步想好两件事:
- 帮用户做什么? → 写在
description里。这是 AI 判断要不要调用这个 Skill 的唯一依据。 - 具体怎么做? → 写在 SKILL.md 正文里。
心理陪伴 Skill 的 description 是这样的:
description: 温暖、非评判的心理陪伴与情绪疏导。通过自然聊天式提问了解用户的情绪状态,用通俗易懂的方式解释情绪背后的心理机制,帮助用户理解和接纳自己的感受,找到情绪的出口。融合东亚文化背景(家庭关系、学业/职场压力、人情世故、面子文化等)的理解。记录用户的关键心理状态,跨会话保持记忆,持续关注用户的情绪变化。适用于情绪困扰、压力倾诉、自我探索、关系困惑、成长迷茫等场景。当用户表达难过、焦虑、压力大、迷茫、孤独、失眠、情绪低落、人际关系困扰、自我怀疑、原生家庭问题,或者任何心理/情绪相关话题时,主动使用此 skill。yaml注意它没有说”这是一个心理咨询工具”。它描述的是:什么场景触发、怎么回应、有什么特点。AI 就靠这段文字来判断这个 Skill 合不合适现在用。
设计对话流程#
对话流程是 Skill 最核心的部分。不能只写一句”要温暖地回应用户”,AI 需要更具体的指引。
心理陪伴 Skill 把对话分成了几个阶段:
第零阶段:用户档案 → 问称呼,查找或创建档案
第一阶段:打开话题 → 倾听,不给建议
第二阶段:深入了解 → 基于用户说的内容,自然追问
第三阶段:反馈解释 → 用比喻解释心理机制
第四阶段:建设性引导 → 给微小、具体、可执行的建议plaintext每个阶段写明目标、提问示例、以及不要做的事。
参考资料:把知识外挂#
你不会把所有知识塞进 SKILL.md。放到 references/ 目录下,AI 在需要时去读。
心理陪伴 Skill 有五个参考文件:
| 文件 | 内容 | 什么时候读 |
|---|---|---|
| 心理知识.md | 常见情绪问题的通俗解释、比喻库、依恋模式、创伤反应等 | 用户问”我这是怎么了” |
| 评估框架.md | 五维度评估体系、严重程度参考、自杀风险分层评估 | 用户不确定自己的情况严不严重 |
| 应对策略.md | 接地技术、呼吸练习、行为激活、自我安抚等循证微干预技巧 | 用户需要具体的缓解方法 |
| 东亚文化心理议题.md | 集体主义压力、角色义务、躯体化、关系创伤等文化特有议题 | 涉及家庭关系、文化压力、角色冲突 |
| 危机资源.md | 中国大陆及华语地区心理援助热线、安全计划、就医指引 | 识别到危机信号时 |
原则就是:AI 不需要一开始记住所有内容。它只需要知道”有这些东西”,用的时候去翻。
就像你不会把整本医学教科书背下来,但你知道遇到什么问题该翻哪一页。
记忆机制#
心理陪伴 Skill 里设计了一套记忆系统,思路不复杂:
每次对话开始 → 问称呼 → 查找对应目录
├── 找到了 → 读取之前的记录,自然提及
└── 没找到 → 创建新档案
对话过程中 → 边聊边记(增量记录),不等到结束才写
每次对话结束 → 温暖道别,更新会话摘要plaintext和常见的”对话结束才保存”不同,这套记忆采用增量记录——用户在聊天中自然流露的重要信息(重大生活事件、反复出现的情绪模式、应对方式的反馈等),AI 会在回应用户的同时静默写入记忆文件。用户看不到文件操作,但下次再来时,AI 已经”记住”了。
心理陪伴 Skill 的几个设计选择#
文化敏感性#
市面上很多心理健康内容直接翻译自英文。但东亚文化中的心理压力有自己的特征:
- 孝道压力:不是一句”设立边界”能解决的。「不孝」的道德压力是真实存在的
- 面子文化:社交焦虑的温床,也是求助羞耻的来源之一
- 内卷困境:不是不够努力的问题
- 情绪表达压抑:「忍一忍就过去了」是很多人习惯的应对方式
Skill 里放了具体指引,比如:
不要简单说「你该跟父母划清界限」——这在东亚家庭结构中未必现实 理解「孝顺」既是可能的压力来源,也可能是用户自己珍视的价值观
比喻库#
参考资料里有一组日常比喻,用来解释心理概念:
| 心理概念 | 比喻 |
|---|---|
| 焦虑 | 烟雾报警器太灵敏了 |
| 情绪累积 | 杯子里的水一直加,总有满出来的时候 |
| 抑郁/低落 | 心里下了一场很久的雨 |
| 自我批判 | 心里住着一个暴君裁判 |
| 认知扭曲 | 大脑戴了墨镜,看到的东西都比实际暗 |
用户不需要知道”认知行为疗法”的定义,但能理解”你心里的裁判太严厉了”。
危机识别#
Skill 内置了危机信号检测:识别自杀念头和自伤行为等紧急信号,持续两周以上的情绪困扰等需要关注的信号,以及中国大陆心理援助热线和就医指南。
有一个原则被明确写进了 Skill:它不会替用户做判断,也不替代专业帮助。它的角色是”注意到了,温和建议”。
为什么 Skill 比网页版好用#
| 网页版 AI | Claude Code + Skill | |
|---|---|---|
| 记忆 | 对话结束就丢失 | 跨会话持久化 |
| 知识 | 依赖训练数据”回忆” | 按需加载参考资料 |
| 流程 | 无固定流程 | 结构化的对话阶段 |
| 可控性 | 黑盒 | 每条指令都是你写的 |
Skill 没有在给 AI 加算力。它做的事更简单:给 AI 装上一套结构化的知识和工作流程。就像一个经验更丰富的同事和一个刚入职的新人——工具和资源一样,差别在于前者知道遇到什么问题该怎么处理。
自己动手#
写一个 Skill 需要的东西不多:
- 一个 Markdown 文件
- 把你做某件事的经验整理成结构化的流程
- 放到 GitHub 上
心理陪伴 Skill 已开源:
npx skills add zxc7563598/mental-health-companionbash然后在 Claude Code 里输入 /mental-health-companion,第一次使用会问你的称呼,之后每次都会记得。
如果你对写 Skill 感兴趣,一个不错的起点是读几个别人写的 SKILL.md 文件。你会发现它本质上就是一套写给 AI 的标准操作流程。不需要会编程,需要的是把自己做某件事的经验讲清楚。