코드 검증

SkillProductivity

Code verification after task completion (type check, lint, test, build). Triggers on: 검증, verify, 테스트 돌려, 빌드 확인, 타입체크. NOT for: E2E tests, writing code, implementation.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the 코드 검증 skill

What this skill tells your AI

The instructions your AI receives, as published by jh941213/my-cc-harness in skills/verify/SKILL.md and read by ahel’s review.

TaskCompleted 훅(verify-task-quality.sh)이 자동 실행하는 검증과 동일합니다. 훅 미발동 상황(수동 검증 요청, 훅 미설치 환경)에서 이 스킬을 사용하세요.

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

Step 1: 프로젝트 감지

파일스택타입체크린트테스트빌드
package.jsonNode/TSnpx tsc --noEmitnpx eslint . / npx biome check .npx vitest run / npx jestnpm run build
pyproject.tomlPythonmypy . / pyright .ruff check .pytest -q
go.modGogo vet ./...golangci-lint rungo test ./...go build ./...
Cargo.tomlRustcargo clippycargo testcargo 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: 결과 보고

단계상태상세
typecheckPASS/FAIL/SKIP에러 수 또는 "도구 미감지"
lintPASS/FAIL/SKIP경고/에러 수
testPASS/FAIL/SKIPN passed, M failed
buildPASS/FAIL/SKIP성공 또는 에러 요약
circularPASS/WARN/SKIP순환참조 수 (madge)
deadcodeINFO/SKIP미사용 export/파일 수 (knip)
secretsPASS/CRITICAL/SKIP시크릿 탐지 수 (gitleaks)
ai-slopPASS/WARN/SKIPconsole.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회 실패 시 멈추고 사용자에게 보고.

Signals

GitHub stars
125
Forks
35
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
verify-jh941213
Source
github.com/jh941213/my-cc-harness