· luka2chat · AI & Technology  · 8 min read

gstack — 把 Claude Code 变成一支随时召唤的专家团队

Y Combinator CEO Garry Tan 开源了 gstack,把 Claude Code 拆分成 9 种专属工作模式——创始人规划、工程评审、自动发布、浏览器 QA 等。5 天 16k star。

Y Combinator CEO Garry Tan 开源了 gstack,把 Claude Code 拆分成 9 种专属工作模式——创始人规划、工程评审、自动发布、浏览器 QA 等。5 天 16k star。

Claude Code 很强,但有一个根本问题:它只有一种模糊的通用模式。不管你是在脑暴产品方向、审查生产级 bug、还是想推一个 PR——它都是同一个助手,同样的深度,同样的语气,同样缺乏结构。

gstack 解决了这个问题。它由 Garry Tan(Y Combinator 总裁兼 CEO)创建,给 Claude Code 装上了明确的档位——9 个有态度的工作流技能,每个针对软件交付过程中的一个特定角色。

5 天超 16,000 star。MIT 许可证。来看看它到底做了什么。

核心理念:认知模式,不是提示词

gstack 背后的洞察简单但有力:规划不是评审,评审不是发布,创始人品味不是工程严谨。 如果把这些全混在一起,你只会得到四不像的平庸结果。

gstack 把这些关注点拆分成明确的操作模式,通过斜杠命令切换:

技能角色做什么
/plan-ceo-review创始人 / CEO重新思考问题,找到需求背后隐藏的「10 星产品」
/plan-eng-review工程经理锁定架构、数据流、图表、边界情况和测试方案
/review偏执的资深工程师找到那些能通过 CI 但会在生产环境爆炸的 bug
/ship发布工程师同步 main,跑测试,推代码,开 PR。不再废话
/browseQA 工程师给智能体装上眼睛——登录、点击你的应用、截图、捕捉问题
/qaQA + 修复工程师测试应用、发现 bug、修复它们、重新验证。健康分数和发布就绪报告
/qa-onlyQA 报告员只报告不改代码的 QA 测试
/setup-browser-cookies会话管理器从真实浏览器导入 cookie 到无头会话
/retro工程经理数据驱动的复盘,包含每个人的具体表扬和成长建议

一个功能如何走完 gstack 全流程

以下是 Garry 如何串联这些模式——一个功能,五个档位:

第一步:产品思考 — 你描述功能,然后运行 /plan-ceo-review。Claude 不会照字面意思实现你的需求,而是挑战前提。「照片上传」变成了「帮卖家创建真正能卖出去的商品列表」——包括自动识别商品、查规格、比价格、智能选图。

第二步:工程规格/plan-eng-review 接过精炼后的产品愿景,产出架构图、状态机、异步任务边界、失败模式和测试矩阵。图表迫使隐藏的假设浮出水面。

第三步:偏执评审/review 猎杀那些能通过 CI 的 bug:N+1 查询、竞态条件、信任边界违规、孤儿文件、来自外部数据的提示注入。

第四步:发布/ship 同步 main、跑测试、处理评审意见、推分支、开 PR。六次工具调用,搞定。

第五步:自动化 QA/qa 读取 git diff,识别受影响的路由,启动浏览器,逐页测试。前后对比健康分数,截图保存到 .gstack/qa-reports/

持久化浏览器:真正的技术突破

gstack 最有意思的部分不是 Markdown 技能——而是浏览器子系统。

大多数智能体工具把浏览器自动化当作一个独立的调试步骤。gstack 把它变成核心工作流的一部分。它运行一个持久化的无头 Chromium 守护进程,通过 localhost HTTP 通信。冷启动约 3-5 秒;后续调用约 100-200ms。Cookie、标签页、localStorage 和登录状态在命令之间持续保留。

这意味着 /browse/qa 可以做真正的端到端测试:注册用户、导航每个改过的页面、截图、读取截图、检查控制台错误、验证 API——全部在大约 60 秒内完成。

浏览器闲置 30 分钟后自动关闭。基于 Playwright 构建,通过 Bun 编译为原生二进制文件。

Greptile 集成:双层代码评审

gstack 还集成了 Greptile,一个自动化 PR 评审工具。自动评审的问题在于分诊——不是每条评论都是真问题,没有分诊层的话评论会堆积然后被忽略。

/review/ship 能感知 Greptile。它们读取 Greptile 的评论,把每条分类为有效(修复)、已修复(自动回复)或误报(回复解释为什么不是问题)。误报被保存到 ~/.gstack/greptile-history.md,后续运行会自动跳过已知的误报模式。

为什么用 Bun 而不是 Node

gstack 用 Bun 有四个实际原因:编译成二进制文件(用户不需要单独的运行时)、原生 SQLite 访问(直接读取 Chromium 的 cookie 数据库)、原生 TypeScript 执行、以及通过 Bun.serve() 内置 HTTP 服务器。这些不是审美选择——它们让 gstack 能干净地安装在 ~/.claude/skills/ 里,用户不需要管理工具链。

安装

要求:Claude Code、Git、Bun v1.0+。

打开 Claude Code 然后粘贴:

Install gstack: run `git clone https://github.com/garrytan/gstack.git
~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup`

Claude 会处理剩下的事。团队使用时,复制到仓库的 .claude/skills/gstack 目录,队友通过 git clone 就能获得相同的工作流。

所有东西都在 .claude/ 里。不碰你的 PATH,不在后台运行任何进程。

为什么这很重要

gstack 代表了我们对 AI 编程助手思考方式的转变。不再是一个通用模式做所有事情但每件事都只做到中等深度,而是明确的角色边界——就像真正的工程团队把产品思考、技术设计、代码评审、发布工程和 QA 分开一样。

它全部是 Markdown 技能、MIT 许可证、一行命令安装,这让它立刻可用。但更大的理念值得关注:AI 编程的未来不是更聪明的模型——而是我们已有模型的更好操作模式。

5 天 16k star。YC CEO 亲手打造。这是认真做事的人使用 Claude Code 的方式。

查看 GitHub 上的 gstack 仓库

Share:
返回博客

相关文章

查看所有 »