gstack 速览:把 Claude Code 变成一支工程团队,顺手接上 Hermes

garrytan/gstack 是 Y Combinator 总裁 Garry Tan 开源的一整套 Claude Code skills。和上一篇介绍的 mattpocock/skills 不同 —— Matt 的仓库强调”小而可组合”,gstack 走的是另一个极端:把一支完整的工程团队压进 slash command 里

CEO、Eng Manager、设计师、Reviewer、QA、SRE、安全官 …… 23 个专家角色,8 个生产工具,统统是 Markdown,统统 MIT 协议。本文聚焦它在 Claude CodeHermes 两种 host 上的用法 —— 其余 OpenClaw / Codex / Cursor 等 host 留给以后。

为什么是”团队”,不是”工具”

Garry 在 README 里给了一组数据:他 2026 年的”逻辑代码变更量”(剔除 AI 灌水)是 2013 年的 810 倍。一个人,全职做 YC 总裁的同时,60 天里上线 3 个生产服务、40+ 功能。

他的答案不是更聪明的 prompt,而是流程。一个 sprint 在 gstack 里被拆成七步:

Think → Plan → Build → Review → Test → Ship → Reflect

每一步都有一个对应的 slash command,每一个 command 都对应一种”专家人格”。上一步的产物(设计文档、测试计划)会自动喂给下一步。这就是 gstack 最有意思的设计 —— 它不是 23 个独立工具,是 23 个互相衔接的工序

30 秒安装(Claude Code)

把这段直接贴进 Claude Code,剩下的它自己干:

Install gstack: run `git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup` then add a "gstack" section to CLAUDE.md ...

完整命令在 README 顶部。装完后,最小验证流程:

  1. /office-hours —— 描述你要做的东西
  2. /plan-ceo-review —— 让”CEO”复盘需求
  3. /review —— 在任意有改动的分支跑 reviewer
  4. /qa https://你的staging.com —— 让 QA 真的开浏览器测一遍
  5. /ship —— 同步主干、跑测试、开 PR

要让团队成员自动接入:

(cd ~/.claude/skills/gstack && ./setup --team) && \
  ~/.claude/skills/gstack/bin/gstack-team-init required && \
  git add .claude/ CLAUDE.md && \
  git commit -m "require gstack for AI-assisted work"

之后每次开 Claude Code session,它会节流地(一小时一次、断网安全、完全静默)自动检查 gstack 更新,再也没有版本漂移。

一个 sprint 的完整形态

flowchart TD
    A["/office-hours<br/>(YC 风格逼问)"] --> B["/plan-ceo-review<br/>(找隐藏的 10 星产品)"]
    B --> C["/plan-eng-review<br/>(锁架构 / 数据流 / 测试)"]
    C --> D["/plan-design-review<br/>(AI Slop 检测)"]
    D --> E["开始写代码"]
    E --> F["/review<br/>(staff engineer 找 bug)"]
    F --> G["/qa &lt;url&gt;<br/>(真浏览器 + 自动回归测试)"]
    G --> H["/ship<br/>(同步主干 / 跑测试 / 开 PR)"]
    H --> I["/land-and-deploy<br/>(合并 + 等 CI + 验证生产)"]
    I --> J["/canary<br/>(发布后监控循环)"]
    J --> K["/retro<br/>(本周回顾)"]

其中三个我觉得最值得单独说:

/office-hours:把”功能请求”翻译成”真实需求”

Garry 给的例子很扎心。你说想做”一个日常简报 app”,它会回:“你描述的其实是一个个人首席幕僚 AI”,然后从你抱怨的痛点里抽出 5 个能力、挑战 4 条预设、给 3 个实现路径并附工作量估算。

这个 skill 写出来的设计文档会自动喂给后面的 /plan-ceo-review/plan-eng-review/qa。不用你手动复制粘贴。

/review:CI 过得了、生产挂掉的那种 bug

它分 [AUTO-FIXED](明显的,自动修)和 [ASK](要你确认的,比如竞态条件)两档。每次跑完都会写一份 review 报告,/codex 可以拿这份报告再做一次”跨模型交叉验证”。

/qa <url>:让 agent 有眼睛

这是 Garry 自己点名的”massive unlock”:让他从 6 个并行 sprint 涨到 12 个。/qa 启动真实的 Chromium,点击真实按钮,截真实的图。发现 bug 后自动修、生成回归测试、再跑一遍验证。

“The agent has eyes now.” —— gstack README

几个特别值得留意的 power tool

Skill一句话
/autoplan一条命令跑完 CEO → design → eng → DX 四级 review,只把真正需要你拍板的”品味决策”暴露出来
/careful说一句”be careful”,它就会在 rm -rf / DROP TABLE / git push -f 这类危险命令前拦截你(可手动 override)
/freeze锁定编辑范围到某个目录。调试的时候很有用 —— Claude 不会”顺手帮你修”无关的代码
/codex让 OpenAI Codex CLI 当外部声音做独立 review。三种模式:通过/不通过、对抗式挑战、开放咨询
/learn跨 session 的项目记忆。审阅、检索、修剪、导出特定项目的模式、坑、偏好 —— 让 gstack 在你的代码库上越用越聪明
/sync-gbrain把当前 repo 的代码索引进 GBrain(一个持久化知识库),agent 跨 session 有记忆

Hermes 是什么、怎么接入

我自己一直想做的事是在手机或者远端机器上紧急改代码。直接登 SSH 跑 Claude Code 当然行,但交互体验差。后来发现 Hermes 是个不错的解 —— Hermes 是 Nous Research 的 AI 编码 agent,定位类似 OpenClaw —— 它会派生 Claude Code session 来干活

所以 gstack 在 Hermes 上的接入哲学很直接:Hermes 派生 Claude Code,gstack 给 Claude Code 提供方法论。你在 Hermes 那边只是个”调度器”。

让 Hermes 知道 gstack 的存在

./setup --host hermes

setup 脚本会提示你:

Hermes integration uses the same model as OpenClaw — Hermes spawns
Claude Code sessions, and gstack provides methodology artifacts.

To integrate gstack with Hermes:
  1. Tell your Hermes agent: 'install gstack for hermes'
  2. Or generate artifacts: bun run gen:skill-docs --host hermes

Hermes 拿到的 skill 跟 Claude Code 不一样

hosts/hermes.ts,gstack 给 Hermes 做了两类改写:

路径改写:所有 .claude/skills/gstack 替换为 .hermes/skills/gstack,所有 CLAUDE.md 替换为 AGENTS.md

工具改写:Hermes 用的是不同名字的工具:

Claude CodeHermes
Bash toolterminal tool
Read toolread_file
Write/Edit toolpatch tool
Agent tooldelegate_task
Grep toolsearch for

gstack 在生成 Hermes 版本的 SKILL.md 时会自动把这些动词替换掉,你不用关心。

一个典型的远程工作流

我自己的用法是这样的:

sequenceDiagram
    participant Me as 我(手机/笔记本)
    participant H as Hermes Agent
    participant CC as Claude Code (远程机器)
    participant G as gstack skills

    Me->>H: "帮我加个发布脚本"
    H->>CC: 派生 session<br/>"Load gstack. Run /autoplan, implement the plan, then /ship"
    CC->>G: 加载 /autoplan
    G-->>CC: 跑完 CEO/design/eng review
    CC->>CC: 实现代码
    CC->>G: 加载 /ship
    G-->>CC: 同步主干 / 跑测试 / 开 PR
    CC-->>H: PR 地址 + 摘要
    H-->>Me: 推送结果

亮点:

  • Hermes 不直接写代码,只负责对话和调度。
  • gstack 的所有 skill 在 Claude Code 那侧生效,所以工具调用、文件编辑、浏览器自动化都跑在远程那台机器上。
  • 手机端只看摘要和 PR 链接。

另一个小细节:Hermes 提交代码时 gstack 会附加 Co-Authored-By: Hermes Agent <agent@nousresearch.com> 的 trailer,Claude Code 那侧是 Co-Authored-By: Claude Opus 4.7。如果你做工时统计 / 贡献者分析的时候,能看出哪些 commit 是哪边走的。

跑起来后还要做的几件事

  1. 设置好 /setup-deploy:让 /land-and-deploy 知道你的生产 URL 和部署命令。这一步只做一次。
  2. /setup-gbrain(可选但强烈推荐):把项目记忆持久化下来。本地 PGLite 30 秒就能起来,后面想换 Supabase 跑 /setup-gbrain --switch 即可。
  3. checkpoint_mode continuous:gstack 会在干活过程中自动 WIP: commit,崩了不丢东西。/ship 会在开 PR 前帮你 squash 掉 WIP commit,bisect 历史保持干净。
  4. 多开 sprint:用 Conductor 这类工具可以同时跑 10-15 个 Claude Code session。Garry 自己常态是 12 个并行。

一些实战注意点

  • 不是免费试用,是真的免费。MIT 协议,没有付费版本,没有 waitlist。但前提是你的 Claude Code 订阅本身够用。
  • 依赖 Bun(v1.0+)。setup 脚本是 bash + TypeScript 混合,跑不起来先检查 bun --version
  • macOS 体验最完整/open-gstack-browser 用的是定制 Chromium,Linux 上能跑但少几个集成。
  • skill 数量是 gstack 的 feature 也是负担。30 多个 slash command 一开始你记不住。建议只用 README 列出的 5 个开始,习惯了再扩展。
  • /codex 需要装 Codex CLI。没装的话直接跑会报错;你也可以在 CLAUDE.md 里把它从可用 skill 列表删掉。
  • /qa 启动真浏览器,会占机器资源。在 8GB 内存的机器上跑 5 个并行 /qa 会爆。

我打算怎么用

短期我不会立刻切到 gstack —— 它对我个人博客这种小项目过重。但有两个 skill 我准备先抠出来用:

  1. /office-hours 的 prompt 模式 —— 我会在写新功能前手动跑一遍它的 6 个 forcing question。
  2. /qa 的设计 —— 让 Claude Code 真的开浏览器测,这个理念我准备复刻到自己的 review 流程里。

至于 Hermes 远程方案,等我真的需要在路上紧急改 bug 时再上 —— 目前手机推一句”晚点再说”也挺好。

参考