gstack (Garry's Stack) for pi terminal coding harness — 21+ specialized AI skills with automatic GitHub sync.
gstack turns your AI assistant into a virtual engineering team:
- YC Office Hours — Reframe your product before coding
- CEO Review — Validate scope, find 10-star product
- Eng Manager — Lock architecture, data flow, tests
- Senior Designer — Rate design 0-10, fix to get there
- Staff Engineer — Find bugs that pass CI but blow up in prod
- QA Lead — Test in real browser, find bugs, generate regression tests
- Release Engineer — Ship with full automation
- And more — 15 additional specialists
# Clone and install
git clone https://github.com/lequangphu/gstack-pi.git ~/gstack-pi
cd ~/gstack-pi && ./install.shThat's it! gstack is now integrated with pi.
piThen use any gstack skill:
/skill:office-hours
/skill:plan-ceo-review
/skill:review
/skill:qa https://staging.example.com
/skill:ship
- 21+ Specialized Skills — Complete engineering workflow from idea to ship
- Persistent Browser — ~100ms per command, state persists (cookies, tabs)
- Auto-Upgrade — Syncs with gstack GitHub via
/gstack-upgrade - Safety Guardrails —
careful,freeze,guardmodes - Pi Native — TypeScript extension, follows pi's skill system
| Skill | Role |
|---|---|
/skill:office-hours |
YC Office Hours — Reframe product |
/skill:plan-ceo-review |
CEO — Scope validation |
/skill:plan-eng-review |
Eng Manager — Architecture |
/skill:plan-design-review |
Senior Designer — Design audit |
/skill:design-consultation |
Design Partner — Design systems |
/skill:review |
Staff Engineer — Find bugs |
/skill:investigate |
Debugger — Root-cause analysis |
/skill:design-review |
Designer Who Codes — Fix design |
/skill:qa |
QA Lead — Browser testing |
/skill:qa-only |
QA Reporter — Report-only |
/skill:ship |
Release Engineer — Ship automation |
/skill:document-release |
Tech Writer — Update docs |
/skill:retro |
Eng Manager — Weekly retro |
/skill:browse |
QA Engineer — Browser daemon |
/skill:codex |
Second Opinion — OpenAI Codex |
/skill:careful |
Safety — Warn before destructive ops |
/skill:freeze |
Safety — Edit lock |
/skill:guard |
Safety — Maximum protection |
/skill:unfreeze |
Safety — Remove lock |
gstack follows a structured engineering process:
Think → Plan → Build → Review → Test → Ship → Reflect
Each skill feeds into the next:
- Think —
/skill:office-hoursreframes problem - Plan —
/skill:plan-*reviews validate scope - Build — pi's tools implement
- Review —
/skill:reviewfinds bugs - Test —
/skill:qatests in real browser - Ship —
/skill:shipsyncs and pushes - Reflect —
/skill:retroweekly review
# Navigate
$B goto https://example.com
# See interactive elements
$B snapshot -i
# Interact
$B click @e3
$B fill @e4 "value"
# Take screenshot
$B screenshot /tmp/proof.png
# Check errors
$B console
$B networkFirst call: ~3s startup. Subsequent: ~100ms.
/gstack-upgradeKeeps gstack synced with GitHub automatically.
- QUICKSTART.md — 10-minute getting started
- ARCHITECTURE.md — Technical architecture
- CHANGELOG-CONFLICTS.md — Conflict resolution details
- gstack README — Original gstack
The installer uses a special structure to avoid skill conflicts:
~/.pi/agent/skills/
├── .gstack-source/ # Hidden source directory
│ ├── browse/ # Browser source code (not scanned by pi)
│ ├── .agents/skills/ # Generated skill definitions
│ └── VERSION
│
├── browse/ # Symlink → .agents/skills/gstack-browse/
├── office-hours/ # Symlink → .agents/skills/gstack-office-hours/
├── review/ # Symlink → .agents/skills/gstack-review/
└── ... (18 more skill symlinks)
Why .gstack-source is hidden:
- The
.gstack-sourcedirectory name starts with a dot, which hides it from pi's skill discovery - This prevents pi from scanning the gstack source code directories (which have their own SKILL.md files)
- Only the skill symlinks in the parent directory are discovered
- No duplicate skill detection conflicts
MIT — Free forever. Go build something.