# QA 테스트와 수정 (qa)

> 사이트, API, CLI를 테스트하고 찾은 버그를 심각도 순으로 고치며, 수정마다 회귀 테스트를 붙여 따로 커밋합니다.

- 카테고리: [테스트·디버깅](https://www.myskills.tools/ko/categories/testing-debugging/)
- 출처: 커뮤니티 · Garry Tan
- 저장소: https://github.com/garrytan/gstack/tree/main/qa (commit ed10791 · v2.0.0)
- SKILL.md: https://github.com/garrytan/gstack/blob/main/qa/SKILL.md
- 설치 명령: `npx skills add garrytan/gstack --skill qa`
- 라이선스: MIT
- 호환 도구: Claude Code, Codex, Cursor, Copilot
- 권한: read-repo ✓, write-files ✓, shell ✓, network ✓
- 상태: 스캔 통과
- 규칙 스캔으로 모든 위험을 찾을 수는 없습니다. 설치 전에 이 스킬의 SKILL.md를 읽고 권한을 확인하세요.
- ⚠ 검증된 수정마다 git commit을 실행하며, 작업 트리가 깨끗하지 않으면 먼저 커밋할지 stash할지 묻습니다.

## 핵심 규칙

수정 전에 결함을 재현하는 회귀 테스트를 작성하고, 검증된 수정만 커밋합니다.

## 실행 단계

1. **준비** — 대상, 수정 등급, 모드를 파악하고 작업 트리가 깨끗하지 않으면 커밋·stash·중단 중 사용자가 고르게 한 뒤 보고서 디렉터리를 만듭니다.
2. **기준선 QA** — 대상에 탐색적 점검을 수행하고 브라우저와 기능 결과를 따로 기록하며, 수정 전에 기준선 결과를 보고합니다.
3. **분류** — 심각도로 정렬해 선택한 등급을 적용하고, 등급 밖이거나 소스로 고칠 수 없는 문제는 보류로 표시합니다.
4. **수정 루프** — 재현하고 회귀 테스트를 먼저 쓴 뒤 최소한으로 고치고 다시 테스트해 하나씩 커밋합니다. 두 번 되돌리면 멈추며 최대 50건입니다.
5. **최종 QA와 보고** — 영향받은 기능을 다시 점검하고 건강 점수를 계산하며, QA 보고서를 쓰고 TODOS.md를 갱신합니다.

## 권한 설명 (SKILL.md 기준)

| 기능 | 필요 여부 | 설명 |
|---|---|---|
| 파일 쓰기 | 필요 | 원인 소스 수정, 회귀 테스트 추가, QA 보고서 작성을 합니다. CI 설정을 바꾸거나 기존 테스트를 약화하지 않습니다. |
| 명령 실행 | 필요 | git, 테스트 명령, 브라우저·기능 점검, gstack 스크립트를 실행합니다. |
| 네트워크 송신 | 필요 | 테스트 대상 URL에 접근하고 WebSearch를 쓸 수 있습니다. |

## SKILL.md 프런트매터(YAML)

```yaml
---
name: qa
preamble-tier: 4
version: 2.0.0
description: Test the site, API or CLI and fix the bugs it finds. (gstack)
allowed-tools:
  - Bash
  - Read
  - Write
  - Edit
  - Glob
  - Grep
  - AskUserQuestion
  - WebSearch
triggers:
  - qa test this
  - find bugs on site
  - test the site
---
```

홈: https://www.myskills.tools/ko/ · URL: https://www.myskills.tools/ko/skills/qa/
