qa-only
An agent skill by garrytan, from garrytan/gstack. Tags: bug-fix, debugging, qa, triage.
What it does
Report 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-only
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-only ~/.claude/skills/qa-only
Safety box score
Grade C, moderate risk: 44 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 skill is a report-only QA runner, but it still shells out to local orchestration binaries, writes persistent artifacts in `~/.gstack`/`$GSTACK_STATE_ROOT`, and can send traffic to browser/API/webhook targets. The main risks are dynamic instruction-following from tool output and the broad remote-side-effect surface of the probes, not product edits.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 2 (moderate) | It explicitly launches local binaries (`gstack-skill-start`, `gstack-qa-deadline`, `gstack-qa-evidence`, `gstack-skill-end`) and runs probe commands via `bun ... capture -- COMMAND ARGS`, so it has real shell execution reach, though bounded to QA. |
| Network access | 2 (moderate) | The skill is for `browser/API/CLI/job/worker/webhook bugs` and allows `WebSearch`, so it can send requests to remote systems as part of its normal job. |
| Filesystem reach | 2 (moderate) | It writes reports and state under `.gstack/qa-reports/`, `~/.gstack/`, and `$GSTACK_STATE_ROOT/projects/...`, so it reaches outside the repo even though it avoids product edits. |
| Secrets & credentials | 0 (none) | It says `never request credentials in chat` and `Use an isolated synthetic identity`, and the only cookie/session mention in the scan hint is a false-positive example, so no secret-handling workflow is present. |
| Privilege & persistence | 1 (low) | It writes to home-dot directories and state files, but there is no sudo, service registration, shell startup mutation, or OS-level config change. |
| Instruction hijack surface | 2 (moderate) | It tells the agent to accept runtime `GSTACK_INSTRUCTION_BEGIN` blocks from tool output and to `Treat the skill file as executable instructions, not reference`, which creates an instruction-following surface even with session-ID gating. |
| Irreversible actions | 0 (none) | It is report-only and says `NEVER fix anything or change product tests`; it does not publish, pay, book, or delete anything. |
| Transparency | 2 (moderate) | Core behavior is hidden behind external local binaries and `AUTO-GENERATED` sections, so the actual orchestration and cleanup logic is not fully auditable from this bundle. |
Before installing
- Confirm you are okay with writes under `~/.gstack/`, `.gstack/qa-reports/`, and `$GSTACK_STATE_ROOT` before running it.
- Inspect the installed `gstack-skill-start` and `gstack-qa-evidence` scripts if you want to audit the actual shell behavior, not just this markdown.
- Decide whether you want a QA skill that may send live browser/API/WebSearch traffic to remote systems while only reporting findings.
Rated 2026-10-20 by an automated review of 4 files from the skill's repository.
Source
- Repository
- garrytan/gstack (all skills from this repository)
- Path
- qa-only/SKILL.md
- Branch
- main
- Updated
- 2026-10-05
Related skills
- qa — Fix browser/API/CLI/job/worker/webhook bugs. (gstack)
- 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.
- ios-fix — Autonomous iOS bug fixer. (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.
- agents-debug — Use when your agent or environment is broken — wrong answers, errors, timeouts, tool failures, or CLI issues. Reads traces and logs to diagnose root causes.