verify

Installation
SKILL.md

코드 검증

작업 완료 후 코드를 검증합니다. 순서대로 실행하며, 각 단계 통과 후 다음으로 진행.

Step 1: 프로젝트 감지

파일 스택 타입체크 린트 테스트 빌드
package.json Node/TS npx tsc --noEmit npx eslint . / npx biome check . npx vitest run / npx jest npm run build
pyproject.toml Python mypy . / pyright . ruff check . pytest -q
go.mod Go go vet ./... golangci-lint run go test ./... go build ./...
Cargo.toml Rust cargo clippy cargo test cargo build
# 자동 감지
[ -f package.json ] && cat package.json | python3 -c "import sys,json; s=json.load(sys.stdin).get('scripts',{}); print('\n'.join(f'{k}: {v}' for k,v in s.items()))"
[ -f pyproject.toml ] && echo "Python project detected"
[ -f go.mod ] && echo "Go project detected"
[ -f Cargo.toml ] && echo "Rust project detected"

Step 2: 검증 순서 (실패 시 즉시 수정)

2-1. TypeScript 타입체크

npx tsc --noEmit

실패 시: 타입 에러 수정 → 재실행. 3회 실패 시 사용자에게 에스컬레이션.

2-2. 린트

# ESLint
npx eslint . --max-warnings=0
# 또는 Biome
npx biome check .
# Python
ruff check .

실패 시: --fix 자동 수정 시도 → 수동 수정 → 재실행.

2-3. 테스트

# Vitest
npx vitest run
# Jest
npx jest --passWithNoTests
# pytest
pytest -q

실패 시: 실패 테스트 분석 → 코드 수정 (테스트 수정은 최후 수단) → 재실행.

2-4. 빌드

npm run build

실패 시: 빌드 에러 분석 → 수정 → 재실행.

2-5. 순환참조 탐지 (JS/TS 프로젝트)

npx madge --circular --extensions ts,tsx src/ 2>/dev/null

순환참조 발견 시: WARNING으로 보고. 새로 추가된 순환만 수정 대상.

2-6. 데드코드 탐지 (JS/TS 프로젝트)

npx knip --no-exit-code 2>/dev/null | head -50

미사용 export/파일/의존성 발견 시: INFO로 보고. 자동 수정하지 않음.

2-7. 시크릿 스캔

gitleaks detect --source . --no-git -v 2>&1 | head -20

시크릿 발견 시: CRITICAL. 즉시 보고 후 수정 유도.

2-8. AI 슬롭 패턴 탐지 (ast-grep)

# 불필요한 console.log
sg --pattern 'console.log($$$)' --lang ts src/ 2>/dev/null | head -10
# any 타입 사용
sg --pattern '$A as any' --lang ts src/ 2>/dev/null | head -10

발견 시: WARNING으로 보고.

Step 3: 결과 보고

단계 상태 상세
typecheck PASS/FAIL/SKIP 에러 수 또는 "도구 미감지"
lint PASS/FAIL/SKIP 경고/에러 수
test PASS/FAIL/SKIP N passed, M failed
build PASS/FAIL/SKIP 성공 또는 에러 요약
circular PASS/WARN/SKIP 순환참조 수 (madge)
deadcode INFO/SKIP 미사용 export/파일 수 (knip)
secrets PASS/CRITICAL/SKIP 시크릿 탐지 수 (gitleaks)
ai-slop PASS/WARN/SKIP console.log/any 수 (ast-grep)

판정: PASS = exit code 0, FAIL = 3회 재시도 소진, SKIP = 해당 도구 미감지 전체 판정: CRITICAL 있으면 FAIL. 모든 PASS/WARN/INFO/SKIP → PASS. typecheck/lint/test/build 중 FAIL → FAIL.

에러 카테고리별 수정 전략

카테고리 우선순위 수정 방법
TYPE 높음 출력에서 file:line 추출 → 해당 파일 Read → 타입 수정
LINT 중간 --fix 자동 수정 먼저 → 수동 수정
TEST 높음 실패 테스트 분석 → 코드 수정 (테스트 수정은 최후 수단)
BUILD 높음 빌드 로그 분석 → import/export 문제 우선 확인

최대 재시도

각 단계 최대 3회 시도. 3회 실패 시 멈추고 사용자에게 보고.

Related skills

More from jh941213/my-claude-code-asset

Installs
14
GitHub Stars
118
First Seen
Feb 27, 2026