Tutorial Overview
Series index: gstack Tutorial Series
This is the first tutorial in the gstack series. It walks you through installation and setup on all supported platforms.
What you’ll learn
- ✅ How gstack works at a high level
- ✅ How to install gstack on 4 mainstream platforms
- ✅ How to verify the installation
- ✅ How to use safety guardrails:
/careful,/freeze,/guard - ✅ How to troubleshoot common issues
What is gstack?
gstack is an agentic skills framework. In practice, it’s a curated set of prompts and workflow rules that guide AI coding assistants to follow proven engineering practices.
Key characteristics
- Virtual team — 23 specialists and 8 power tools acting as CEO, Eng Manager, Designer, QA, Security, Release Engineer
- Sprint workflow — Think → Plan → Build → Review → Test → Ship → Reflect
- Cross-platform — supports Claude Code, Codex, Cursor, OpenCode, OpenClaw, and more
- Open source — MIT licensed, free forever
Workflow at a glance
flowchart TD
A[User request] --> B{/office-hours}
B --> C[Product interrogation]
C --> D{/plan-ceo-review}
D --> E[Strategic scope challenge]
E --> F{/plan-eng-review}
F --> G[Architecture lock]
G --> H[Implementation]
H --> I{/review}
I --> J[Find bugs, auto-fix]
J --> K{/qa}
K --> L[Live browser testing]
L --> M{/ship}
M --> N[Release]
style B fill:#e1f5ff
style D fill:#e1f5ff
style F fill:#e1f5ff
style I fill:#e1f5ff
style K fill:#e1f5ff
style M fill:#e1f5ff
Before You Install
System requirements
| Platform | Requirements |
|---|---|
| Claude Code | An active Claude subscription |
| Codex CLI | OpenAI Codex access |
| Cursor | Cursor IDE v0.40+ |
| OpenClaw | OpenClaw installed |
Required tools
# Git must be configured
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
# Bun v1.0+ must be installed
bun --version
# Node.js (Windows only, for Playwright)
node --version
Platform 1: Install on Claude Code
Global install (recommended)
Step 1: Clone and setup
Run this in Claude Code:
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup
Step 2: Add to CLAUDE.md
Add a “gstack” section 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, /design-shotgun, /design-html, /review, /ship, /land-and-deploy, /canary, /benchmark, /browse, /open-gstack-browser, /qa, /qa-only, /design-review, /setup-browser-cookies, /setup-deploy, /retro, /investigate, /document-release, /codex, /cso, /autoplan, /pair-agent, /careful, /freeze, /guard, /unfreeze, /gstack-upgrade, /learn.
Step 3: Verify
Start a new session and ask:
Help me plan a new feature
If the AI starts with /office-hours asking clarifying questions instead of jumping straight into code, the installation worked.
Team mode — auto-update for shared repos
Every developer installs globally, updates happen automatically:
cd ~/.claude/skills/gstack && ./setup --team
Then bootstrap your repo so teammates get it:
cd <your-repo>
~/.claude/skills/gstack/bin/gstack-team-init required
git add .claude/ CLAUDE.md && git commit -m "require gstack for AI-assisted work"
Platform 2: Install on Codex CLI
Installation prompt:
Tell Codex:
Fetch and follow instructions from https://raw.githubusercontent.com/garrytan/gstack/refs/heads/main/.codex/INSTALL.md
Or run directly:
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.codex/skills/gstack
cd ~/.codex/skills/gstack && ./setup --host codex
Platform 3: Install on Cursor
Installation:
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.cursor/skills/gstack
cd ~/.cursor/skills/gstack && ./setup --host cursor
Then restart Cursor and load the project.
Platform 4: Install on OpenClaw
Option A: Claude Code sessions
OpenClaw spawns Claude Code sessions via ACP, so gstack works when Claude Code has it installed. Paste this to your OpenClaw agent:
Install gstack: run `git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup`
Option B: Native OpenClaw skills (via ClawHub)
Four methodology skills work directly in OpenClaw agents:
clawhub install gstack-openclaw-office-hours gstack-openclaw-ceo-review gstack-openclaw-investigate gstack-openclaw-retro
| Skill | What it does |
|---|---|
gstack-openclaw-office-hours |
Product interrogation with 6 forcing questions |
gstack-openclaw-ceo-review |
Strategic challenge with 4 scope modes |
gstack-openclaw-investigate |
Root cause debugging methodology |
gstack-openclaw-retro |
Weekly engineering retrospective |
Platform-Specific Differences
| Feature | Claude Code | Codex CLI | Cursor | OpenClaw |
|---|---|---|---|---|
| Install location | ~/.claude/skills/gstack |
~/.codex/skills/gstack |
~/.cursor/skills/gstack |
ClawHub marketplace |
| Setup command | ./setup |
./setup --host codex |
./setup --host cursor |
clawhub install gstack-* |
| Browse support | Full (Playwright) | Partial (requires Claude Code) | Partial | Via Claude Code session |
| Native conversational skills | No | No | No | 4 ClawHub skills |
| Auto-update | Built-in (/gstack-upgrade) |
Manual git pull | Manual | ClawHub auto-update |
Safety Guardrails
gstack includes safety features to prevent accidental damage.
/careful — Destructive command warnings
/careful
Warns before any destructive command:
rm -rfDROP TABLEgit push --forcegit reset --hard
Example:
You: rm -rf node_modules
AI: ⚠️ DESTRUCTIVE COMMAND WARNING
This will permanently delete node_modules/
Type "proceed" to confirm, or describe what you want to achieve for a safer alternative.
/freeze — Edit lock to one directory
/freeze src/components/
Restricts file edits to the specified directory. Prevents accidental changes outside scope while debugging or implementing focused features.
Example:
You: /freeze src/auth/
AI: 🔒 EDIT LOCK ACTIVE
Edits restricted to: src/auth/
Attempt to edit src/utils/helper.ts will be BLOCKED
Use /unfreeze to remove this restriction
/guard — Full safety
/guard
Combines /careful + /freeze. Maximum safety for production work.
flowchart TD
A[/guard] --> B[/careful]
A --> C[/freeze]
B --> D[Warn on destructive commands]
C --> E[Restrict edits to directory]
D --> F[Maximum safety]
E --> F
/unfreeze — Remove edit lock
/unfreeze
Removes the /freeze boundary, allowing edits anywhere again.
Verify Your Installation
Test case 1: /office-hours triggers
Input:
I want to add a comment system to my blog
Expected behavior:
- ❌ Immediately starts writing comment UI code → Fail
- ✅ Starts asking clarifying questions (provider choice, moderation policy, storage) → Pass
Test case 2: /careful warns
Input:
/careful
rm -rf build/
Expected behavior:
- ❌ Deletes immediately → Fail
- ✅ Shows warning, asks for confirmation → Pass
Test case 3: /browse works
Input:
/browse https://example.com
Expected behavior:
- ❌ Error about missing browser → Fail
- ✅ Opens Chromium, navigates, shows screenshot → Pass
Troubleshooting
Issue 1: Skills don’t show up
Symptom: The AI doesn’t recognize /office-hours or other gstack skills.
Fix:
-
Confirm the plugin is loaded:
ls ~/.claude/skills/gstack/SKILL.md -
Confirm CLAUDE.md has the gstack section.
-
Restart the Claude Code session.
Issue 2: /browse fails
Symptom: Browser errors when running /browse.
Fix:
cd ~/.claude/skills/gstack && bun install && bun run build
Issue 3: Stale install
Symptom: Skills behave differently from documentation.
Fix:
/gstack-upgrade
Or set auto-upgrade in config:
# ~/.gstack/config.yaml
auto_upgrade: true
Issue 4: Codex skill loading fails
Symptom: “Skipped loading skill(s) due to invalid SKILL.md”
Fix:
cd ~/.codex/skills/gstack && git pull && ./setup --host codex
Configuration
Prefix vs no-prefix modes
By default, gstack skills use short names (/office-hours). You can namespace them:
# Namespaced: /gstack-office-hours
cd ~/.claude/skills/gstack && ./setup --prefix
# Short: /office-hours
cd ~/.claude/skills/gstack && ./setup --no-prefix
Telemetry
gstack includes opt-in usage telemetry:
- Default is off — nothing is sent unless you say yes
- What’s sent: skill name, duration, success/fail, gstack version, OS
- What’s never sent: code, file paths, repo names, prompts
Change anytime:
gstack-config set telemetry off # Disable
gstack-config set telemetry on # Enable
Best Practices
1. Start with safety
For production work:
/guard
This prevents accidental damage while you focus on the task.
2. Use team mode for shared repos
Every developer gets the same gstack version automatically. No version drift.
3. Keep CLAUDE.md updated
When gstack adds new skills, update your CLAUDE.md gstack section.
Next Up
After installation, continue with:
- 📖 Tutorial 2: office-hours — YC-Style Product Interrogation
- 📖 Tutorial 3: plan-ceo-review — Strategic Scope Challenge
References
- Official repo: github.com/garrytan/gstack
- Author: Garry Tan (@garrytan)
- Y Combinator: ycombinator.com
Running into issues? Leave a comment or check GitHub Issues!
Series navigation: