TL;DR / Quick Answer
gstack is Garry Tan’s open-source system that turns Claude Code into a virtual engineering team of 20 specialists. As Y Combinator’s President and CEO, Garry ships 10,000–20,000 lines of production code per day (35% tests) while running YC full-time. gstack uses structured slash commands such as /office-hours for product strategy, /plan-ceo-review for scope validation, /review for bug detection, /qa for browser testing, and /ship for deployment. Install it with git clone ~/.claude/skills/gstack && ./setup. It is free and MIT licensed.
Introduction
“I don’t think I’ve typed like a line of code probably since December, basically, which is an extremely large change.”
When Andrej Karpathy said this on the No Priors podcast in March 2026, he described a major workflow shift: one developer using AI agents can ship at the pace of a much larger team.
Peter Steinberger demonstrated a similar model by building OpenClaw—247,000 GitHub stars—essentially solo with AI agents.
Garry Tan built gstack around that workflow. As President and CEO of Y Combinator, he works with startups such as Coinbase, Instacart, and Rippling at their earliest stages. Before YC, he was an early engineer at Palantir, cofounded Posterous (sold to Twitter), and built Bookface, YC’s internal social network.
gstack answers a practical question: how can one developer run a repeatable product, engineering, QA, security, and release process with AI agents?
According to Garry’s reported numbers from the last 60 days:
- 600,000+ lines of production code
- 35% test code
- 10,000–20,000 lines per day
- Work completed part-time while running YC full-time
- A recent
/retroacross three projects reported 140,751 lines added, 362 commits, and approximately 115k net LOC in one week
This guide shows how to install gstack, choose the right skills, and run an implementation workflow from idea to production.
💡 Building API products? gstack can fit into an API testing and documentation workflow. For example, use
/qato validate API-backed browser flows and/document-releaseto keep API documentation aligned with shipped changes.
What Is gstack?
gstack is an open-source collection of 28 Claude Code skills. Each skill gives the agent a specialized role, such as:
- Product strategist
- CEO or founder reviewer
- Engineering manager
- Product designer
- Staff engineer
- QA engineer
- Security officer
- Release engineer
- SRE
- Technical writer
The skills are invoked as slash commands and defined in Markdown. gstack is free and MIT licensed.
The Core Workflow
Most AI coding workflows start with a prompt and immediately generate code. gstack encourages a staged process:
Think → Plan → Build → Review → Test → Ship → Reflect
For example, instead of starting with:
Build a daily briefing app for my calendar.
start with:
/office-hours
I want to build a daily briefing app for people who manage multiple
Google calendars and need better meeting preparation.
The goal is to validate the problem before committing to implementation.
A typical feature workflow looks like this:
/office-hours
/plan-ceo-review
/plan-eng-review
/plan-design-review
# Implement the approved plan
/review
/qa https://staging.example.com
/ship
/document-release
Each stage produces context for the next one:
-
/office-hourscreates a product-oriented design document. -
/plan-ceo-reviewvalidates scope. -
/plan-eng-reviewdefines architecture, edge cases, and tests. -
/reviewcatches code-level issues. -
/qavalidates user flows in Chromium. -
/shipruns tests and opens a pull request. -
/document-releaseupdates documentation.
The 28 Skills Explained
Product and Strategy Skills
/office-hours — YC Office Hours
Role: YC Partner
Use /office-hours at the beginning of a new feature, product, or major refactor.
It asks forcing questions, challenges your initial framing, and produces alternatives before you write code.
Example:
You said "daily briefing app." But what you actually described is a
personal chief of staff AI.
Here are five capabilities implied by the user problem...
[challenges four assumptions]
[generates three implementation approaches with effort estimates]
RECOMMENDATION: Ship the narrowest wedge tomorrow and learn from real
usage. The complete vision is a three-month project. Start with the
daily briefing that actually works.
Use it when:
- Starting a new product idea
- Planning a large feature
- You have a feature request but unclear user pain
- You want alternatives before implementation
/plan-ceo-review — CEO / Founder Review
Role: CEO who rethinks the product
Run this after /office-hours and before implementation.
It reviews the plan from first principles and selects one of four directions:
- Expansion — Make the idea significantly more ambitious.
- Selective Expansion — Expand only the highest-leverage parts.
- Hold Scope — Keep the current plan.
- Reduction — Cut most of the scope and ship a narrower wedge.
Use it when:
/office-hours
/plan-ceo-review
This is useful when a plan has become too broad, too safe, or too implementation-driven.
/plan-design-review — Senior Designer
Role: Senior Product Designer
This skill rates design dimensions from 0 to 10, explains what a 10 would look like, and updates the plan.
It also includes AI-slop detection and uses one AskUserQuestion per design decision.
Use it when:
- A feature includes UI or UX changes
- You need to review interaction design before coding
- You want to catch design debt before it becomes code debt
/plan-design-review
/design-consultation — Design Partner
Role: Design Partner
Use this when you need a complete design system or a more comprehensive design exploration than /plan-design-review.
It can:
- Research comparable products
- Propose creative risks
- Define visual direction
- Generate realistic product mockups
/design-consultation
Create a design system for a calendar briefing product used by busy
startup founders. Prioritize dense information, calm hierarchy, and
fast scanning before meetings.
Engineering and Architecture Skills
/plan-eng-review — Engineering Manager
Role: Engineering Manager
Run /plan-eng-review after product and design reviews, but before coding.
It makes architecture decisions explicit by generating:
- Data-flow diagrams
- State-machine diagrams
- Error paths
- Edge cases
- Test matrices
- Security considerations
Example output:
Architecture Review:
┌─────────────┐ ┌──────────────┐ ┌────────────┐
│ Client │────▶│ API Gateway │────▶│ Database │
└─────────────┘ └──────────────┘ └────────────┘
│ │
▼ ▼
[State Cache] [Rate Limiter]
Test Matrix:
- Happy path: authenticated user, valid data
- Edge case: concurrent modifications
- Failure mode: database connection timeout
- Security: SQL injection, XSS, CSRF
Recommended usage:
/plan-eng-review
Review the approved daily briefing plan. Include:
- calendar synchronization failure modes
- duplicate event handling
- rate limiting
- timezone handling
- test cases for stale event data
/review — Staff Engineer
Role: Staff Engineer focused on production bugs
Run /review after implementation and before QA.
It looks for bugs that may pass CI but fail under real production conditions. It can auto-fix obvious issues and ask for approval on riskier changes.
Example:
[AUTO-FIXED] 2 issues:
- Missing null check in getUserById()
- Unhandled promise rejection in API handler
[ASK] Race condition in concurrent update flow
[COMPLETENESS GAP] No retry logic for transient failures
Use it on a branch with changes:
/review
/investigate — Root-Cause Debugger
Role: Debugger
Use /investigate for issues that need systematic diagnosis.
Its core rule is:
No fixes without investigation.
It traces data flow, tests hypotheses, and stops after three failed fixes to avoid random patching.
Use it when:
/investigate
The calendar sync job intermittently creates duplicate briefing records.
Trace the job lifecycle, identify the root cause, and propose a fix only
after validating the failure path.
/codex — Second Opinion
Role: OpenAI Codex CLI
Use /codex as an independent review pass after /review, especially for critical paths.
Available modes include:
- Review pass/fail gate
- Adversarial challenge
- Open consultation
- Cross-model analysis when both
/reviewand/codexhave run
/review
/codex review
Use this for authentication, payments, authorization, migrations, or other high-risk code.
Testing and QA Skills
/qa — QA Lead
Role: QA Engineer with a real browser
/qa uses headless Chromium to execute real browser flows. It can find bugs, create atomic commits for fixes, re-verify them, and generate regression tests.
Example workflow:
1. Open the staging URL in Chromium
2. Execute the test plan from /plan-eng-review
3. Find a bug: submit button remains enabled while loading
4. Create an atomic fix commit
5. Re-run the flow and verify the fix
6. Generate a regression test
Run it against staging:
/qa https://staging.example.com
For API-backed applications, give QA concrete scenarios:
/qa https://staging.example.com
Test calendar connection, event sync, briefing generation, retry states,
empty-state UX, failed API responses, and logout/login behavior.
/qa-only — QA Reporter
Role: QA Reporter
/qa-only uses the same browser-based testing approach as /qa, but does not modify code.
Use it when you need a report for:
- QA handoff
- Audit trails
- Bug triage
- A separate engineer responsible for fixes
/qa-only https://staging.example.com
/benchmark — Performance Engineer
Role: Performance Engineer
Use /benchmark before and after significant rendering or performance work.
It tracks:
- First Contentful Paint (FCP)
- Largest Contentful Paint (LCP)
- Cumulative Layout Shift (CLS)
- Time to Interactive (TTI)
- Bundle sizes
/benchmark https://staging.example.com
Run it:
- Before a major refactor
- After performance changes
- On PRs that modify rendering, routing, or bundle composition
/browse — Browser Automation
Role: Browser Automation
/browse provides direct Chromium automation. It is used internally by /qa.
Common commands:
goto <url>
click <selector>
type <selector> <text>
screenshot <name>
wait <selector>
Example:
/browse goto https://staging.example.com/login
/browse type input[name="email"] dev@example.com
/browse type input[name="password"] password
/browse click button[type="submit"]
/browse wait [data-testid="dashboard"]
/browse screenshot dashboard-loaded
/setup-browser-cookies — Session Manager
Role: Browser Session Manager
Use this before browser QA if staging requires authentication.
It imports cookies from Chrome, Arc, Brave, or Edge into the headless browser session.
/setup-browser-cookies
/qa https://staging.example.com
Security and Compliance Skills
/cso — Chief Security Officer
Role: Chief Security Officer
/cso runs an OWASP Top 10 review and STRIDE threat model.
It uses a zero-noise approach:
- 17 false-positive exclusions
- 8/10 confidence threshold
- Independent finding verification
- Concrete exploit scenarios for findings
Example:
[CRITICAL] SQL Injection in /api/users?id= parameter
Exploit:
GET /api/users?id=1' OR '1'='1
Impact:
Full database read access
Fix:
Use parameterized queries
Confidence:
9/10
Run it before releasing features that involve:
- Authentication
- User data
- Payments
- File uploads
- Admin panels
- Public APIs
/cso
Shipping and Deployment Skills
/ship — Release Engineer
Role: Release Engineer
/ship moves a tested branch toward a pull request.
It can:
- Sync
main - Create or update a feature branch
- Run tests
- Bootstrap a test framework if needed
- Audit coverage
- Push the branch
- Open a pull request
Example workflow:
1. git checkout main && git pull
2. git checkout -b feature/daily-briefing
3. npm test
4. Coverage audit: 42 tests → 51 tests (+9 new)
5. git push origin feature/daily-briefing
6. Open PR
Run it after /qa clears the branch:
/ship
/land-and-deploy — Deployment Engineer
Role: Deployment Engineer
Use /land-and-deploy after PR approval.
It can:
- Merge the pull request
- Wait for CI
- Wait for deployment
- Run production health checks
- Report deployment status
/land-and-deploy
It supports workflows involving platforms such as GitHub Actions, CircleCI, Vercel, Railway, and Fly.io.
/canary — SRE
Role: Site Reliability Engineer
Run /canary immediately after deployment for a 5–15 minute monitoring loop.
It monitors:
- Browser console errors
- API error rates
- Page-load regressions
- JavaScript exceptions
/canary https://app.example.com
/document-release — Technical Writer
Role: Technical Writer
Run /document-release after shipping or deployment to keep docs synchronized with released behavior.
Example:
[UPDATED] README.md — added new /qa command to docs
[UPDATED] CHANGELOG.md — v0.4.2 release notes
[CREATED] docs/qa-guide.md — new QA workflow guide
[FLAGGED] API.md — may need update for new endpoints
/document-release
For API changes, use this after validating endpoint behavior and updating your API reference.
Reflection and Analytics Skills
/retro — Engineering Manager
Role: Engineering Manager
Run /retro at the end of the week to review shipping velocity, test health, and project trends.
/retro global can aggregate across projects and AI tools including Claude Code, Codex, and Gemini.
Example:
Week of March 17–23, 2026
Garry:
- 140,751 lines added
- 362 commits
- ~115k net LOC
- Test coverage: 35% (↑2% from last week)
Projects:
- gstack: 89 commits, 45k LOC
- ycombinator.com: 156 commits, 62k LOC
- internal-tools: 117 commits, 33k LOC
Shipping streak: 47 days
Run:
/retro
/retro global
Power Tools
/careful — Safety Guardrails
Use /careful before risky operations, including:
rm -rfDROP TABLE- Force pushes
- Production data changes
/careful
I am about to run destructive migration and cleanup commands.
Warn me before any command that could delete data or rewrite history.
/freeze — Edit Lock
Restrict edits to a specific directory.
/freeze /src/auth
This is useful while debugging a focused area of the codebase.
/guard — Full Safety
/guard combines /careful and /freeze.
Use it for:
- Production debugging
- Database migrations
- High-risk security fixes
/guard /src/payments
/unfreeze — Unlock
Remove the edit boundary after the focused task is complete.
/unfreeze
/setup-deploy — Deploy Configurator
Run this once for each new project before using /land-and-deploy.
It detects your deployment platform, production URL, and deploy commands.
/setup-deploy
/autoplan — Review Pipeline
Run the complete planning pipeline in one command:
/autoplan
It runs CEO, design, and engineering reviews automatically, while surfacing taste decisions for your approval.
/gstack-upgrade — Self-Updater
Use this to update gstack.
/gstack-upgrade
Run it monthly or after a new feature announcement.
Installation Guide
gstack installs inside .claude/. It does not modify your PATH or run background services.
Requirements
- Claude Code
- Git
- Bun v1.0+
- Node.js on Windows only
On Windows, Node.js is required because Bun has a known bug with Playwright’s pipe transport.
Step 1: Install gstack for Your User Account
Open Claude Code and paste:
Install gstack: run git clone https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup then add a “gstack” section to [CLAUDE.md](http://claude.md/?ref=apidog.com) that says to use the /browse skill from gstack for all web browsing, never use mcp__claude-in-chrome__* tools, and lists the available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-design-review, /design-consultation, /review, /ship, /land-and-deploy, /canary, /benchmark, /browse, /qa, /qa-only, /design-review, /setup-browser-cookies, /setup-deploy, /retro, /investigate, /document-release, /codex, /cso, /autoplan, /careful, /freeze, /guard, /unfreeze, /gstack-upgrade. Then ask the user if they also want to add gstack to the current project so teammates get it.
Step 2: Add gstack to a Repository
To commit gstack into a project so teammates receive it after cloning, paste this into Claude Code:
Add gstack to this project: run cp -Rf ~/.claude/skills/gstack .claude/skills/gstack && rm -rf .claude/skills/gstack/.git && cd .claude/skills/gstack && ./setup then add a “gstack” section to this project’s [CLAUDE.md](http://claude.md/?ref=apidog.com) that says to use the /browse skill from gstack for all web browsing, never use mcp__claude-in-chrome__* tools, lists the available skills, and tells Claude that if gstack skills aren’t working, run cd .claude/skills/gstack && ./setup to build the binary and register skills.
Install for Codex, Gemini CLI, or Cursor
gstack works with agents that support the SKILL.md standard. Skills live in .agents/skills/.
Install Into One Repository
git clone https://github.com/garrytan/gstack.git .agents/skills/gstack
cd .agents/skills/gstack && ./setup --host codex
Install for Your User Account
git clone https://github.com/garrytan/gstack.git ~/gstack
cd ~/gstack && ./setup --host codex
Auto-Detect Available Agents
git clone https://github.com/garrytan/gstack.git ~/gstack
cd ~/gstack && ./setup --host auto
Troubleshooting
A Skill Is Not Showing Up
Re-run setup:
cd ~/.claude/skills/gstack && ./setup
/browse Fails
Install dependencies and rebuild:
cd ~/.claude/skills/gstack
bun install
bun run build
Your Install Is Stale
Run:
/gstack-upgrade
Or enable automatic updates in ~/.gstack/config.yaml:
auto_upgrade: true
Windows Setup
gstack works on Windows 11 through Git Bash or WSL.
Confirm that both bun and node are available:
bun --version
node --version
Claude Cannot See the Skills
Add this to your project’s CLAUDE.md:
## gstack
Use /browse from gstack for all web browsing.
Never use mcp__claude-in-chrome__* tools.
Available skills:
- /office-hours
- /plan-ceo-review
- /plan-eng-review
- /plan-design-review
- /design-consultation
- /review
- /ship
- /land-and-deploy
- /canary
- /benchmark
- /browse
- /qa
- /qa-only
- /design-review
- /setup-browser-cookies
- /setup-deploy
- /retro
- /investigate
- /document-release
- /codex
- /cso
- /autoplan
- /careful
- /freeze
- /guard
- /unfreeze
- /gstack-upgrade
Real-World Example: Build a Daily Briefing App
Here is a practical end-to-end workflow.
1. Start With the User Problem
I want to build a daily briefing app for my calendar.
2. Run Product Discovery
/office-hours
Provide concrete pain points:
I manage multiple Google calendars. Events often have stale information
or wrong locations. Meeting preparation takes too long, and the output
from existing tools is not useful enough.
The agent may respond:
You said "daily briefing app." But what you actually described is a
personal chief of staff AI.
[extracts five implied capabilities]
[challenges four premises]
[generates three implementation approaches with effort estimates]
RECOMMENDATION: Ship the narrowest wedge tomorrow. Start with the daily
briefing that actually works.
3. Challenge Scope
/plan-ceo-review
Use this to decide whether to:
- Ship only calendar aggregation first
- Include meeting preparation from day one
- Add email and CRM context later
- Cut features that do not prove user value
4. Lock Architecture and Tests
/plan-eng-review
Ask it to explicitly cover:
Include:
- OAuth token refresh failures
- Calendar API rate limits
- Duplicate events
- Timezone normalization
- Partial sync failures
- Retry behavior
- Test coverage for stale event metadata
5. Implement the Approved Plan
Approve plan. Exit plan mode.
6. Review the Code
/review
Example result:
[AUTO-FIXED] 2 issues.
[ASK] Race condition in concurrent update flow.
[COMPLETENESS GAP] Missing retry logic for transient API failures.
7. Run Browser QA
/qa https://staging.myapp.com
The QA flow can open a real browser, click through the application, find an issue, apply a fix, and verify it.
8. Ship the Pull Request
/ship
Example output:
Tests: 42 → 51 (+9 new)
PR: github.com/you/app/pull/42
The key outcome is not just code generation. The workflow turns a vague request into a scoped, reviewed, tested, and shippable implementation.
Parallel Sprints: Run Multiple Agents at Once
gstack can support multiple Claude Code sessions running in parallel. Conductor runs sessions in isolated workspaces.
Example:
Session 1: /office-hours — refine the product spec
Session 2: /review — review yesterday's feature
Session 3: /qa — test the staging deployment
Session 4: Implementation — build an approved plan
Use parallel work only when each session has a clear boundary.
A practical split:
| Session | Responsibility | Output |
|---|---|---|
| Product | /office-hours |
Design doc and scope |
| Architecture | /plan-eng-review |
Technical plan and test matrix |
| Implementation | Build approved tasks | Feature branch changes |
| QA | /qa |
Verified flows and regression tests |
| Release | /ship |
Pull request |
Without a process, multiple agents can create conflicting changes. With a sprint structure, each agent has a defined stage and deliverable.
Privacy and Telemetry
gstack includes opt-in usage telemetry.
Default Behavior
Telemetry is disabled by default. Nothing is sent unless you explicitly opt in.
Data Sent If You Opt In
- Skill name
- Duration
- Success or failure
- gstack version
- Operating system
Data Not Sent
- Source code
- File paths
- Repository names
- Branch names
- Prompts
- User-generated content
Disable telemetry at any time:
gstack-config set telemetry off
Telemetry data is stored in Supabase. The schema is available in the repository for inspection. The Supabase publishable key is public, while row-level security policies restrict access to insert-only operations.
For local analytics without remote data, run:
gstack-analytics
Who Should Use gstack?
Founders and Technical CEOs
Use gstack to add structure to product planning, engineering review, QA, and release work without building a large internal process from scratch.
First-Time Claude Code Users
The slash-command workflow provides guardrails instead of requiring a perfect open-ended prompt.
Tech Leads and Staff Engineers
Use individual skills such as /review, /qa, /cso, and /document-release to strengthen existing PR workflows.
Solo Builders
gstack provides specialized roles for planning, debugging, review, testing, and release management.
YC Startups
Garry built gstack for YC founders, making it a natural fit for early-stage teams that need to move quickly with limited engineering capacity.
Who Should Skip the Full Workflow?
Teams With Mature Processes
If you already have strong design review, code review, CI/CD, QA, and release processes, use individual skills instead of adopting the full sprint.
For example:
/review
/qa https://staging.example.com
/cso
/document-release
Developers Who Prefer Freeform AI Workflows
gstack is intentionally structured. If you prefer unbounded exploration and loose prompting, the workflow may feel restrictive.
Non-Claude Code Users
gstack supports Codex, Gemini CLI, and Cursor through SKILL.md, but it is optimized for Claude Code.
The Philosophy Behind gstack
Boil the Lake
Do not half-complete a task that requires a full solution. Partial work often creates more follow-up work than completing the important path correctly.
Search Before Building
Before generating new code, check whether the repository or ecosystem already has a solution.
This reduces duplicate implementations and avoids code that does not need to exist.
Three Layers of Knowledge
- Explicit knowledge — Documentation, comments, and written rules
- Tacit knowledge — Experience, intuition, and engineering judgment
- Unknown knowledge — Blind spots you do not know to investigate
gstack attempts to encode tacit knowledge into reusable skills.
For example, /review is not just “look for bugs.” It applies a structured production-review process based on engineering experience.
The Iron Law of Debugging
No fixes without investigation.
After three failed attempts, stop and reassess.
This prevents both humans and AI agents from applying random changes without understanding the root cause.
Conclusion
gstack is Garry Tan’s system for using AI agents as a structured engineering team.
The practical workflow is:
/office-hours # Reframe the problem
/plan-ceo-review # Challenge scope
/plan-eng-review # Lock architecture and test plan
/plan-design-review # Review UX and design quality
# Build the approved plan
/review # Find implementation issues
/qa # Test real browser flows
/ship # Push and open a pull request
Start small. You do not need to adopt every skill on day one.
A good first workflow is:
/review
/qa https://staging.example.com
/ship
Then add planning skills when you need more rigor before implementation.
Next Steps
- Install gstack:
git clone https://github.com/garrytan/gstack.git ~/.claude/skills/gstack
cd ~/.claude/skills/gstack
./setup
Run
/office-hourson your next feature idea.Run
/reviewbefore opening your next pull request.Run
/qaagainst staging before release.Use
/document-releaseto keep project and API documentation synchronized with shipped behavior.
FAQ
Is gstack free?
Yes. gstack is free and MIT licensed. There is no premium tier or waitlist.
Do I need Claude Code to use gstack?
gstack is optimized for Claude Code, but it also works with agents that support the SKILL.md standard, including Codex CLI, Gemini CLI, and Cursor.
How long does installation take?
About 30 seconds:
git clone https://github.com/garrytan/gstack.git ~/.claude/skills/gstack
cd ~/.claude/skills/gstack
./setup
Can I use individual skills without the full sprint?
Yes. The sprint is a recommended workflow, not a requirement.
For example:
/review
/qa https://staging.example.com
Does gstack work with private repositories?
Yes. Skills can live in .claude/skills/gstack inside your repository. Commit that directory to share the setup with teammates.
Does gstack work on Windows?
Yes. gstack works on Windows 11 through Git Bash or WSL. Install both Bun and Node.js, and ensure they are available on your PATH.
How does /browse work?
/browse uses Playwright to control a headless Chromium browser. Commands execute in approximately 100ms. Use /setup-browser-cookies to test authenticated pages.
Can I customize gstack skills?
Yes. Skills are Markdown files. Edit them to match your repository conventions, team process, and release workflow.
What is the difference between /qa and /qa-only?
-
/qafinds bugs and can auto-fix them with atomic commits. -
/qa-onlyfinds bugs and reports them without changing code.
Use /qa-only when you need an audit trail or separate ownership for fixes.
How does telemetry work?
Telemetry is opt-in. If enabled, gstack sends skill name, duration, success or failure, version, and OS. It does not send code, file paths, repository names, branch names, or prompts.
Disable it with:
gstack-config set telemetry off
What if I find a bug in gstack?
Run /investigate against gstack’s codebase or open an issue on GitHub.
Can I run gstack skills in parallel?
Yes. With Conductor, you can run multiple Claude Code sessions in isolated workspaces. Assign each session a clear stage, such as planning, implementation, review, or QA.

Top comments (0)