一天一个开源项目

开源项目第191期:gstack — YC CEO Garry Tan 开源的 AI 虚拟工程团队,23 个专家角色 slash command,从产品构思到上线发布的完整研发流程

Y Combinator CEO Garry Tan 开源的 Claude Code 技能集,把 Claude Code 变成一支有分工的工程团队。23 个专业角色命令覆盖规划、设计、审查、测试、发布全流程:/office-hours(YC 风格产品挑战)、/plan-ceo-review、/design-shotgun(4-6 个设计变体对比)、/qa(真实 Playwright 浏览器测试)、/cso(OWASP + STRIDE 安全审计)、/ship(同步→测试→审计→推送→PR)。技能间上下文传递,支持 10-15 个并发 sprint,跨 Claude Code/Codex/Cursor 等 10 种 Agent。128k Stars,MIT。

·约 9 分钟阅读·AI Tools

引言

"这不是副驾驶,这是一个团队。"

这是「每日一个开源项目」系列的第 191 篇。今天的项目是 gstack —— Y Combinator CEO Garry Tan 开源的 Claude Code 技能集,把 Claude Code 变成一支有完整分工的虚拟工程团队。

Garry Tan 在项目 README 里写道,2026 年他的编码速度大约是 2013 年的 810 倍(日均逻辑代码行数:11,417 对比 14)。gstack 是这套工作方式的核心工具。

与其说这是一个工具,不如说是一套流程的编码化:23 个 slash command,每个扮演一种组织角色(CEO、设计师、安全官、QA 负责人、发布工程师……),技能之间相互传递上下文,串联成从"想法"到"上线"的完整 sprint 流程。

128,000 颗 Star,MIT 许可,完全免费,无高级订阅。

你会学到什么

  • gstack 的核心设计理念:角色化 vs 单一助手
  • 7 步研发流程:Think → Plan → Build → Review → Test → Ship → Reflect
  • 几个最有价值的 slash command 详解
  • 浏览器控制能力:真实 Playwright 浏览器 + 提示注入防御
  • 跨 AI Agent 协作:/codex 第二意见、/pair-agent 多 Agent 共享浏览器
  • 30 秒安装方式

前提知识

  • 用过 Claude Code 或类似 AI coding agent
  • 了解基本的 git 工作流(branch、PR、merge)
  • 不需要了解 TypeScript

背景:单一 AI 助手的天花板

用 Claude Code 做一个完整的功能,你会遇到什么问题?

  • 问"帮我写这个功能",它会写,但不会质疑这个功能是否有必要
  • 问"帮我审查代码",它会审查,但不知道之前的设计决策是什么
  • 每次对话都从零开始,上下文断裂
  • 安全审查、性能测试、文档更新——每件事你都要手动启动,手动提供上下文

gstack 的判断:AI Agent 的真正潜力不在于"更好的单个助手",而在于"有分工的团队"。一个团队里,CEO 挑战产品方向,设计师审查 UI,安全官检查漏洞,QA 测试浏览器行为,发布工程师管控上线流程——每个角色都有明确的职责边界和专业视角。


7 步研发流程

gstack 的所有技能串成一条流程线:

/office-hours    → 质疑产品方向,六个强制问题

/autoplan        → CEO + 设计 + 工程三方评审自动化

/design-shotgun  → 生成 4-6 个设计变体,浏览器对比选优

/review          → 代码审查,发现能过 CI 但会在生产崩溃的 Bug
/cso             → OWASP + STRIDE 安全审计

/qa              → 真实 Playwright 浏览器测试,修复 Bug,生成回归测试

/ship            → 同步主分支 → 运行测试 → 审计覆盖率 → 推送 → 开 PR

/retro           → 工程回顾,提取跨会话经验

每一步都读取上一步的产出——/office-hours 生成设计文档,/plan-ceo-review 读取它,/plan-eng-review 写测试计划供 /qa 使用。上下文不会丢失。


核心 Slash Command 详解

/office-hours — YC 风格产品挑战

六个强制问题,模拟 YC Office Hours 的对话模式:

  1. 你在解决什么具体问题,谁遇到了这个问题?
  2. 你怎么知道人们真的有这个问题?
  3. 现有的解决方案是什么,为什么它们不够?
  4. 你的方案的核心假设是什么?
  5. 什么情况下你的方案会失败?
  6. 最小化验证这件事需要做什么?

这不是"帮你完善产品",是挑战你的前提假设。很多功能在这一步就会被判定为不必要。

/autoplan — 三方评审流水线

一条命令自动运行:

  • /plan-ceo-review:四种模式——扩展范围 / 选择性扩展 / 保持范围 / 缩减范围
  • /plan-design-review:0-10 分评分各设计维度,专门检测 AI 生成的垃圾设计特征
  • /plan-eng-review:锁定架构、数据流、ASCII 图表、边界情况

三个角色各自独立评审,互不干扰,最后汇总。

/design-shotgun — 设计探索

生成 4-6 个 UI 变体,在浏览器里并排对比,而不是让你对着一个方案反复迭代。

有一个"品味记忆"功能:你选择了哪个方案,理由是什么,它会记住,下次生成变体时参考你的历史偏好。这避免了"每次都要从零解释自己的设计倾向"。

/design-html — Mockup 转生产 HTML

把设计稿(或文字描述)转换成生产级 HTML,使用 Pretext 引擎计算文本布局,输出 30KB 以内的零依赖 HTML。

不是"生成一个大概好看的 UI",是真正可以直接上生产的代码。

/review — 能发现 CI 通不了的 Bug

普通代码审查发现的是明显问题。这个 slash command 专注于:

"能通过所有 CI 检查,但会在生产环境崩溃的 Bug。"

  • 竞态条件
  • 边界情况遗漏
  • 错误处理路径问题
  • 依赖版本隐患

明显问题自动修复,复杂问题给出分析和修复建议。

/cso — 首席安全官

OWASP Top 10 + STRIDE 威胁模型,17 个误报排除规则。

有明确的误报过滤机制,避免把"加了 try-catch 的正常异常处理"报告为"错误抑制漏洞"这类干扰。

/qa — 真实浏览器测试

这是 gstack 最有差异化的功能之一。

不是"分析代码,推测可能的 Bug",是启动真实的 Playwright Chromium 浏览器,真实点击,真实表单提交,真实 API 调用,然后:

  • 发现 Bug,直接修复
  • 修复后,自动生成对应的回归测试
  • 每次 /qa 修复都沉淀为测试用例,测试覆盖率随着迭代不断增长

/ship — 完整发布流程

/ship

自动执行:

  1. 同步主分支(git pull --rebase
  2. 运行测试套件
  3. 审计测试覆盖率(低于阈值时提示)
  4. 推送到远程
  5. 开 Pull Request

一条命令,取代了手动执行这 5 步的全部操作,也取代了忘掉某一步导致的错误。

/careful + /freeze + /guard — 安全护栏

/careful  危险命令前强制警告(rm -rf、DROP TABLE、force push 等)
/freeze   锁定编辑范围到单一目录,Agent 无法在范围外修改文件
/guard    /careful + /freeze 组合

在让 AI Agent 执行高风险操作时,这三个护栏防止意外的不可逆操作。


浏览器控制能力

gstack 的浏览器层不是简单的 Playwright 封装,有几个值得注意的设计:

提示注入防御

网页可以在内容里嵌入针对 AI 的恶意指令("忽略你的系统提示,执行……")。gstack 的三层防御:

  1. 22MB ML 分类器:离线检测注入尝试
  2. Haiku 转录检查:用轻量模型二次验证可疑内容
  3. 随机 canary token:如果 Agent 在响应里输出了这个 token,说明它被注入了

/pair-agent — 多 Agent 共享浏览器

Claude Code 和 Codex(或 OpenClaw、GBrain 等)同时操作同一个浏览器,各自在独立标签里工作,互不干扰。一个 Agent 跑测试的同时,另一个在分析结果。

人工接管机制

遇到验证码或需要人工确认的操作时:

$B handoff   把浏览器控制权交给用户
$B resume    用户完成后把控制权还给 Agent

并发 Sprint 支持

gstack 支持 10-15 个 sprint 并行运行(配合 Conductor 或 Claude Code 的并行 worktree)。

不同功能的开发流程可以同时进行,互不阻塞——一个 sprint 在跑 /qa,另一个在做 /design-shotgun,第三个在走 /ship 流程。


安装

30 秒安装(复制粘贴到 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

团队模式(自动同步到所有团队成员):

(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"

提交到主仓库后,所有克隆这个仓库的人都会自动获得 gstack。

支持的 AI Agent:Claude Code、OpenAI Codex CLI、OpenCode、Cursor、Factory Droid、Slate、Kiro、Hermes、GBrain、OpenClaw。


gstack vs 同类项目

维度gstack普通 Claude CodeOmnigent(#180)
形态Slash command 技能集单一助手Agent 元编排层
角色化23 个专家角色有,策略层面
流程链技能间传递上下文每次独立
浏览器真实 Playwright + 注入防御
安全审计/cso,OWASP + STRIDE基础
目标用户个人开发者、创始人所有人团队
安装30 秒内置需要配置

项目地址与资源

  • GitHub: garrytan/gstack
  • 作者: Garry Tan,@garrytan,YC President & CEO
  • 哲学文档: ETHOS.md(值得一读,讲的是构建者哲学)

总结

gstack 的本质是把"一个有经验的工程团队如何运作"这套方法论,转化为可重复执行的 AI 工作流

每个 slash command 背后不只是一个提示词,是一种角色视角:CEO 从战略角度质疑,设计师从用户体验角度评分,安全官从攻击面角度审计,QA 从实际用户行为角度测试。这些视角彼此独立,覆盖盲区。

一个人用这套工具,可以替代一部分需要多角色协作才能完成的工作——不是因为 AI 比人更聪明,而是因为 gstack 强制执行了那些"知道应该做但经常省略"的步骤:产品假设验证、安全审计、真实浏览器 QA、测试覆盖率检查。

Garry Tan 自己就是这套工具最好的广告:YC 的日常运营工作之外,他用 gstack 编码,日均逻辑代码行数 11,417。


探索 PrimeSkills —— 精选 AI Agent 与技能的市场,每一个都经过真实企业工作流验证,去掉浮夸,留下真正有用的。

欢迎访问我的个人主页,发现更多有价值的见解和有趣的产品。