qa
An agent skill by garrytan, from garrytan/gstack. Tags: bug-fix, debugging, qa, testing.
What it does
Fix browser/API/CLI/job/worker/webhook bugs. (gstack)
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add garrytan/gstack --skill qa
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/garrytan/gstack
cp -r gstack/qa ~/.claude/skills/qa
Safety box score
Grade F, high risk: 79 of 100 risk points, rated 2026-10-20. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This QA skill is broad: it shells out to many local commands, opens browser sessions and remote URLs, writes reports and config under the repo and `~/.gstack`, and can even commit fixes. The main risks are opaque helper binaries, authenticated browser access, and instructions that can auto-decide prompts or follow runtime instruction blocks from tool output.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 3 (high) | High because the skill directly invokes shell and native commands as normal flow, including `~/.claude/skills/gstack/bin/gstack-skill-start`, `git diff/log/fetch/merge`, `git commit`, `curl`, and browser/headless commands. |
| Network access | 2 (moderate) | Moderate because it uses `WebSearch`, browser tabs against remote origins, and web prompts like `Search the web for ...`, so queries and page data can leave the machine. |
| Filesystem reach | 2 (moderate) | Moderate because it writes to user-home and hidden project state (`~/.gstack/`, `.gstack/tmp`, report artifacts, `.gstack/no-test-bootstrap`) and may update repo files like `CLAUDE.md` and `TESTING.md`. |
| Secrets & credentials | 2 (moderate) | Moderate because browser setup assumes signed-in sessions and explicitly warns about cookies/tokens/localStorage, so the workflow can touch authenticated user data even if it says not to print it. |
| Privilege & persistence | 2 (moderate) | Moderate because it changes user-level configuration and bootstraps the environment (`gstack-config set`, `./setup`, test/bootstrap writes) without sudo, which alters local settings outside the working tree. |
| Instruction hijack surface | 3 (high) | High because it tells the agent to follow runtime instruction blocks from tool output and to auto-decide/skip AskUserQuestion in spawned or conductor sessions, which bypasses normal human confirmation flow. |
| Irreversible actions | 2 (moderate) | Moderate because Phase 8 edits source, creates regression tests, and commits fixes with `git commit -m "fix(qa): ISSUE-NNN ..."`, and non-local browser actions can proceed after a single approval gate. |
| Transparency | 3 (high) | High because core behavior depends on external executables not included here, such as `~/.claude/skills/gstack/bin/gstack-skill-start`, `gstack-qa-evidence`, `$B`, and `aside`, so a reviewer cannot inspect their actual effects. |
Before installing
- Read `SKILL.md` plus the referenced helper binaries if you can, especially `~/.claude/skills/gstack/bin/gstack-skill-start` and the browser binary `$B` / `aside`.
- Run it first in a disposable repo with no signed-in browser session and no valuable `~/.gstack/` state.
- Verify whether `./setup`, `gstack-config set`, `.gstack/no-test-bootstrap`, or report writes will touch anything you care about.
- Decide up front whether auto-decided prompts in spawned or unattended sessions are acceptable for your use case.
Rated 2026-10-20 by an automated review of 12 files from the skill's repository.
Source
- Repository
- garrytan/gstack (all skills from this repository)
- Path
- qa/SKILL.md
- Branch
- main
- Updated
- 2026-10-05
Related skills
- tdd — Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious cheap local test target.
- qa-only — Report browser/API/CLI/job/worker/webhook bugs. (gstack)
- surgical-patch — Fix bugs and small behavior changes at the narrowest responsible layer.
- address-sanitizer — Builds and runs code under AddressSanitizer to catch buffer overflows, use-after-free, and other memory errors during fuzzing or tests.
- blast-radius — Find what a change could break somewhere else before it ships, beyond the diff.
- check-compiler-errors — Run compile and type-check commands and report failures