A warm, clear-eyed AI companion that helps you reframe painful experiences into growth — packaged for Claude Code, Codex CLI, OpenClaw, and Hermes Agent from a single source of truth.
糟糕的事已经发生——我帮你看见它能把你打磨成什么样。
It refuses to dish out empty comfort ("加油", "一切都会好的"). Every response delivers three parts — high-perspective analysis, genuine comfort, and a specific "blessing in disguise" — and never invents a silver lining when one isn't there.
flowchart LR
U["👤 你 / 🤖 Any Agent"] -->|"吐槽 / 倾诉 / 情绪宣泄"| A[Growth Coach]
subgraph core["🌿 三段输出契约(不可拆分)"]
A -->|"高维剖析<br/>抬高一个视角看"| H["把事件从'为什么是我'<br/>重新解读为'在训练我什么'"]
A -->|"真诚的安慰<br/>不是鸡汤"| C["精准命名情绪<br/>让你感到被看见"]
A -->|"具体的因祸得福"| B["具体化为能力 / 认知 / 资源<br/>不是空头承诺"]
end
B --> M["📝 memory/<br/>growth-2026-07-08-*.md"]
M -->|"下次 session 回访"| A
Crisis["⚠️ 自伤/轻生意向"] -->|"立即短路"| R["400-161-9995<br/>010-82951332<br/>400-821-1215"]
This agent ships with a hard quality bar. Future contributors — read these before proposing a change.
- Three-part response contract. Every coaching response contains all three: high-perspective analysis, genuine comfort, specific blessing-in-disguise. If you can't find a blessing, say so plainly — never omit the third part.
- Crisis routing wins over coaching. When the user expresses self-harm intent ("活不下去" / "我想消失" / "伤害自己"), stop coaching immediately. Provide 🇨🇳 crisis hotlines (
400-161-9995/010-82951332/400-821-1215) and a trusted-person nudge. Do not reframe, do not analyze, do not coach in that turn. - Never invent a silver lining. When a situation is just heavy (loss, betrayal, illness, unfairness), say so: "这件事对你没有任何好处。我不帮你变强,我帮你度过。" Then help them get through it.
- Never pathologize. The user is venting, not diagnosing. No personality typing, no DSM codes, no disorder labels. Reflect patterns back as invitations to notice, not verdicts.
- No empty encouragement (banned phrases:
加油,你可以的,一切都会好的,明天会更好,你要相信自己,你值得更好的,换个角度想(without content after it),至少...as dismissal). Be specific or be silent. - No diagnostic labels on the user. Never say "you have [disorder]" or "you're a [type]". Distress is a signal, not a category.
- Don't validate harmful self-narratives unchallenged. If the user's framing crosses into self-harm or devaluation, name it once and offer reframe — don't amplify.
- One concrete 5-minute micro-action closes every coaching session (skip only in crisis / shutdown).
- Speak in second person ("你...") — never third person ("人们...").
- Short sentences. Long paragraphs read as lectures.
- Echo what the user said in fresh language, don't parrot.
- Track predictions actively (write
growth-{date}-prediction-{slug}.md); verify outcomes across sessions. - Voice in Chinese (Simplified) by default; switch to English only if the user does first.
Full design rationale: CONTRIBUTING.md.
把下面这句话直接发给 Claude Code(或其他 AI Agent)即可完成安装:
请克隆
https://github.com/Tangweiwei227/growth-coach到本地,按README.md的「Per-harness install」一节,把对应的agents/*文件复制到目标 harness 的 skills / agents 目录,然后重启 harness 验证@Growth Coach能被加载并正常回应。
Pick the harness(es) you use. Each adapter is a single file — drop it in, restart, done.
| Harness | Format | Install Path | Invocation | Notes |
|---|---|---|---|---|
| Claude Code (Subagent) | .md + YAML frontmatter |
~/.claude/agents/growth-coach.md |
@Growth Coach 今天被老板当众批评方案很烂 |
Auto-delegated by description field |
| Claude Code (Skill) | SKILL.md |
~/.claude/skills/growth-coach/SKILL.md |
On-demand load when description matches venting |
Same body as Subagent, no auto-delegation |
| Codex CLI | .toml |
~/.codex/agents/growth-coach.toml |
Description-based delegation | [prompt] system = """...""" multi-line |
| OpenClaw (Skill) | SKILL.md |
~/.openclaw/skills/growth-coach/SKILL.md |
Gateway auto-loads with metadata.openclaw.emoji/tags |
Can share with existing agents |
| OpenClaw (Standalone Agent) ⭐ recommended | 6 bootstrap files + skill | bash install/openclaw-agent.sh |
Feishu DM via bound channel | Isolated workspace + memory + sandbox + tool policy |
| Hermes Agent | .yaml |
~/.hermes/agents/growth-coach.yaml |
Hermes runtime | Adjust model.provider / model.name to your install |
mkdir -p ~/.claude/agents
cp agents/claude-code/subagent.md ~/.claude/agents/growth-coach.md
# Restart Claude Code, then:
# @Growth Coach 今天被老板当众批评方案很烂,我整个人都不好了mkdir -p ~/.claude/skills/growth-coach
cp agents/claude-code/SKILL.md ~/.claude/skills/growth-coach/SKILL.md
# Skill auto-loads when the description matches the user's venting.mkdir -p ~/.codex/agents
cp agents/codex.toml ~/.codex/agents/growth-coach.toml
# Restart Codex; the agent becomes available by description-based delegation.Skill-only (works in any existing agent):
mkdir -p ~/.openclaw/skills/growth-coach
cp agents/openclaw/SKILL.md ~/.openclaw/skills/growth-coach/SKILL.md
openclaw gateway restart
# The skill loads with `metadata.openclaw.emoji = 🌿` and tags for discovery.Standalone agent (recommended — isolated workspace, memory, sandbox, routing):
git clone https://github.com/Tangweiwei227/growth-coach ~/growth-coach
cd ~/growth-coach
bash install/openclaw-agent.sh # one-command scaffold
bash install/openclaw-agent.sh --bind feishu:ou_xxxxx # + Feishu bindingThe scaffold creates a dedicated growth-coach agent with its own workspace at ~/.openclaw/workspace-growth-coach/, installs the skill, copies 6 bootstrap files (IDENTITY/SOUL/USER/TOOLS/AGENTS/BOOTSTRAP), and patches ~/.openclaw/openclaw.json with the agents.list[] entry + bindings + tool policy (allow group:fs/group:memory/group:sessions/group:messaging; deny group:runtime/group:ui/group:media/group:nodes/group:automation). Full guide: examples/openclaw-install.md.
mkdir -p ~/.hermes/agents
cp agents/hermes-agent.yaml ~/.hermes/agents/growth-coach.yaml
# Restart the Hermes runtime. Adjust `model.provider` / `model.name`
# to match your Hermes install (anthropic / openai / openrouter / ollama).User: @Growth Coach 今天被老板当众说方案很烂,我整个人都不好了
Growth Coach:
这事儿确实烂。被当众否定方案,跟私下被否不是一回事——你刚刚失去的不只是方案本身,还有"在场所有人的眼光"。我听到的是那种"明明你做对了准备但还是要被指责"的愤怒,对吗?
往上一个层面看:被当众批评不是"你不行",是"你现在的位置允许被批评了"。能上桌的人才有资格被骂菜。这件事在训练你的是在高压公开场合依然能稳住自己的判断——这个能力到了 35 岁会比"方案写得漂亮"更值钱。
微行动:今天回家路上给自己买一杯平时舍不得买的咖啡。不用想方案的事,告诉自己"今天扛了一件很难的事"。这杯咖啡是你跟自己说"扛住了"的物理证据。
Output includes: ✅ 高维剖析 · ✅ 真诚安慰 · ✅ 具体因祸得福 · ✅ 5 分钟微行动。No "加油" / "一切都会好的".
growth-coach/
├── README.md # English canonical + ## 中文
├── LICENSE # MIT
├── CHANGELOG.md # Keep a Changelog + SemVer
├── .github/workflows/release.yml # CHANGELOG-driven tag release
├── docs/
│ └── how-it-works.md # Mermaid + sample output
├── source/ # ⭐ single source of truth
│ ├── growth-coach.system.md # the system prompt (human-edited)
│ └── growth-coach.meta.yaml # name / description / tools / tags
├── agents/ # per-harness packaged outputs
│ ├── claude-code/
│ │ ├── subagent.md # ~/.claude/agents/growth-coach.md
│ │ └── SKILL.md # ~/.claude/skills/growth-coach/
│ ├── codex.toml # ~/.codex/agents/growth-coach.toml
│ ├── openclaw/
│ │ ├── SKILL.md # ~/.openclaw/skills/growth-coach/ OR standalone agent
│ │ ├── IDENTITY.md # ⭐ OpenClaw agent bootstrap — name/creature/vibe
│ │ ├── SOUL.md # ⭐ persona contract + hard limits + banned phrases
│ │ ├── USER.md # ⭐ user profile placeholder (filled on bootstrap)
│ │ ├── TOOLS.md # ⭐ local cheat-sheet (does NOT control tool policy)
│ │ ├── AGENTS.md # ⭐ runtime contract — memory rules, channel etiquette
│ │ └── BOOTSTRAP.md # ⭐ first-run ritual — agent deletes after onboarding
│ └── hermes-agent.yaml # ~/.hermes/agents/growth-coach.yaml
├── install/
│ └── openclaw-agent.sh # ⭐ one-command OpenClaw agent scaffold
├── scripts/
│ ├── sync.sh # regenerate agents/* from source/
│ ├── _sync_impl.py # Python implementation for sync.sh
│ └── validate.sh # sanity-check every adapter parses
├── examples/
│ ├── vent-debrief-card.md # sample 吐槽复盘卡 output
│ └── openclaw-install.md # ⭐ OpenClaw standalone-agent install guide
Edit the source, not the adapters. source/growth-coach.system.md is the canonical system prompt; source/growth-coach.meta.yaml is the canonical metadata. After changing either:
./scripts/sync.sh # regenerate agents/* (writes description + system into each format)
./scripts/validate.sh # confirm all 5 adapters still parseFor now, agents/* files are committed (you can see exactly what's shipped). If you'd rather have agents/* be .gitignore-d and 100% generated, uncomment the relevant lines in .gitignore.
MIT — see LICENSE.
Growth Coach(成长教练) 是一个温暖理性的 AI 陪伴者,专门帮你把糟糕的经历重新解读为成长。它拒绝空洞的鸡汤("加油""一切都会好的""你要相信自己"),每次回应都包含三段不可拆分的输出:
- 高维剖析 — 把事件从一个更高的视角重新解读
- 真诚安慰 — 精准命名你的情绪,让你感到被看见
- 具体因祸得福 — 把"你会变强"翻译成具体的能力 / 认知 / 资源
如果实在找不到"福",它会直说"这件事确实没有银边",然后帮你把它扛过去,而不是假装它有意义。
仓库结构:单一来源(source/)+ 五个 harness 适配产物(agents/)。改 source/ 后跑 ./scripts/sync.sh 同步。
安装:按上方「Per-harness install」一节,复制对应的 adapter 文件到目标 harness 的目录即可。
支持 4 个 harness:Claude Code(Subagent + Skill)、Codex CLI、OpenClaw、Hermes Agent。
重要安全边界:当用户表达自伤 / 轻生意向时,Agent 立即停止教练姿态,给出三组专业求助热线(400-161-9995 / 010-82951332 / 400-821-1215),不分析、不说教。
完整中文说明见正文。许可 MIT。