# 빌드·검사·수정 루프 (verify)

> 코딩 중 저장소가 선언한 검사와 /ship이 고를 테스트를 실행하고, 고친 뒤 다시 돌려 모두 통과할 때까지 반복합니다.

- 카테고리: [기능 개발](https://www.myskills.tools/ko/categories/feature-development/)
- 출처: 커뮤니티 · Garry Tan
- 저장소: https://github.com/garrytan/gstack/tree/main/verify (commit 923ed3c · v0.1.0)
- SKILL.md: https://github.com/garrytan/gstack/blob/main/verify/SKILL.md
- 설치 명령: `npx skills add garrytan/gstack --skill verify`
- 라이선스: MIT
- 호환 도구: Claude Code, Codex, Cursor, Copilot
- 권한: read-repo ✓, write-files ✓, shell ✓, network ✗
- 상태: 스캔 통과
- 규칙 스캔으로 모든 위험을 찾을 수는 없습니다. 설치 전에 이 스킬의 SKILL.md를 읽고 권한을 확인하세요.
- ⚠ gstack 설치가 필요하며, 사용 기록은 로컬 gstack 분석 디렉터리에 기록됩니다.

## 핵심 규칙

통과시키려고 테스트나 검사 설정을 약화·건너뛰기·삭제·수정하지 않습니다.

## 실행 단계

1. **실행할 검사 확인** — gstack-checks detect는 파일만 읽어 검사 출처와 테스트 선택을 나열하며, 선언된 검사가 없으면 그렇게 알리고 멈추고 명령을 만들지 않습니다.
2. **신뢰 확인** — 저장소 명령이 untrusted이면 대화형 세션에서 명령을 보여주고 동의를 받습니다.
3. **실행·수정·재실행** — FAIL은 코드를 고치고 UNMAPPED는 테스트를 추가하며, ENV·TIMEOUT은 보고만 하고 우회하지 않습니다. 최대 5회, 같은 실패가 두 번 돌아오면 멈춥니다.
4. **/ship으로 인계** — gstack-checks status는 아무것도 다시 실행하지 않으며, READY_FOR_SHIP일 때만 통과로 봅니다.

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

| 기능 | 필요 여부 | 설명 |
|---|---|---|
| 파일 쓰기 | 필요 | 테스트 대상 코드를 고치고 테스트를 추가하며, 버전 올리기·CHANGELOG 수정·push·PR 생성은 하지 않습니다. |
| 명령 실행 | 일부 필요 | gstack-checks로 저장소가 선언한 검사를 실행하며, 신뢰되지 않은 명령은 사용자 동의나 명시적 플래그가 필요합니다. |
| 네트워크 송신 | 필요 없음 | 네트워크 접근을 요구하지 않습니다. |

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

```yaml
---
name: verify
preamble-tier: 1
version: 0.1.0
description: "Build loop while coding: run the repo's checks and the tests /ship would pick, fix, repeat until green. (gstack)"
triggers:
  - verify my change
  - run the checks
  - make the tests pass
  - check my work before ship
allowed-tools:
  - Bash
  - Read
  - Edit
  - Grep
  - Glob
  - AskUserQuestion
---
```

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