test
테스트 통합 진입점. 변경 파일을 분석하여 유닛/E2E/세팅을 자동 라우팅. "테스트 돌려줘", "TC 작성해줘", "테스트 추가해줘", "이 파일 테스트 해줘" 등의 요청에 사용.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
테스트 통합 진입점. 변경 파일을 분석하여 유닛/E2E/세팅을 자동 라우팅. "테스트 돌려줘", "TC 작성해줘", "테스트 추가해줘", "이 파일 테스트 해줘" 등의 요청에 사용.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
세션 핸드오프. 컨텍스트가 차기 전에 중요 맥락을 progress.md에 문서화하고 새 세션 킥오프 프롬프트를 클립보드에 복사한다. "핸드오프", "세션 정리하고 넘기자", "컨텍스트 정리", "이어갈 준비" 등의 요청에 사용.
MD 파일 또는 텍스트로 작업을 정의하면, 분석 → 디자인 확인 → 구현 → 검증 → 커밋 → PR까지 전체 플로우를 수행한다. "이거 만들어줘", "기능 구현해줘", "작업 시작하자", "이 티켓 진행해줘" 등 코드 작업 착수 발화에 사용.
Claude + OpenAI Codex 협업 스킬. MCP 서버 설정 시에만 사용 가능.
code-forge 상태 대시보드. REFLECT flag, quality 이벤트, notepad/decisions, usage 집계를 한 번에. forge-glow 같은 외부 도구는 --json으로 파싱.
교차 모델 토론. Agent Teams / Codex CLI / self-debate 모드 선택. 설계 결정, 아키텍처 선택 시 활용. "어느 쪽이 나을까", "설계 비교해줘", "토론시켜줘", "교차 검증해줘" 등의 요청에 사용.
화면 단위 E2E 테스트 자동화. Figma/코드 기반 테스트 케이스 도출 → Playwright 코드 생성 → Forge Loop(에스컬레이션 기반 자율 실행). "E2E 돌려줘", "화면 테스트 만들어줘", "이 페이지 자동 테스트" 등의 요청에 사용.
| name | test |
| description | 테스트 통합 진입점. 변경 파일을 분석하여 유닛/E2E/세팅을 자동 라우팅. "테스트 돌려줘", "TC 작성해줘", "테스트 추가해줘", "이 파일 테스트 해줘" 등의 요청에 사용. |
테스트 관련 모든 작업의 단일 진입점. 변경 파일 패턴을 분석하여 적절한 하위 스킬로 자동 라우팅합니다.
핵심 원칙: 기존 스킬을 수정하지 않는 Facade 패턴. 실행은 /generate-test, /e2e, /setup-test, /setup-e2e에 위임.
/test → git diff 기반 자동 감지
/test {path} → 파일 패턴 자동 판단
/test {path} --unit → 유닛/통합 강제 (/generate-test 직행)
/test {path} --e2e → E2E 강제 (/e2e 직행)
/test --setup → /setup-test + /setup-e2e 순차
/test --setup-unit → /setup-test만
/test --setup-e2e → /setup-e2e만
/test --init → .policy/ 기반 전체 TC 일괄 생성
/test --all → 전체 테스트 실행 (yarn test && yarn playwright test)
--setup, --setup-unit, --setup-e2e
→ 해당 setup 스킬로 위임 후 종료
--init
→ Section "─── --init 모드" 로 진입
--all
→ yarn test && yarn playwright test 실행 후 종료
--unit
→ /generate-test 워크플로우 직행
--e2e
→ /e2e 워크플로우 직행
그 외 → Step 2
경로 인자 있음 → 해당 파일/디렉토리
경로 인자 없음 → git diff --name-only + git diff --cached --name-only
각 파일을 아래 규칙으로 분류:
| 패턴 매칭 | 카테고리 | 라우팅 |
|---|---|---|
utils/, helpers/, lib/, adapters/ | 유틸 | Jest 유닛 직접 작성 (modules/testing/jest 참조) |
hooks/ | 훅/로직 | → /generate-test |
components/ (단일 컴포넌트) | 컴포넌트 | → /generate-test |
pages/, views/ (라우트 레벨) | 플로우 | → /e2e |
styled.ts, *.styles.ts | 디자인 | 스냅샷 (Phase C에서 별도) |
types.ts, constants.ts, *.d.ts | 타입/상수 | 스킵 |
대상 파일이 .policy/*.json의 affectedFiles에 매칭되면
해당 매트릭스의 testFiles를 함께 실행 대상에 추가
## /test 분석 결과
| 카테고리 | 대상 | 예정 작업 |
|---------|------|----------|
| 유틸 | formatDate.ts, period.ts | Jest 유닛 TC 생성 |
| 훅 | useCTA.tsx | testgen 에이전트 호출 |
| 플로우 | orders/list | /e2e Forge Loop |
총 예상 TC: N개
진행할까요? [Y/N]
독립적인 카테고리는 병렬 실행:
// 유틸: modules/testing/jest SKILL.md 패턴으로 직접 작성
// 훅/컴포넌트:
Task(subagent_type="testgen", prompt="targetPath: {파일}\nmode: create")
// 페이지: /e2e 워크플로우 진입
## /test 결과
| 카테고리 | 대상 | TC 수 | 결과 |
|---------|------|-------|------|
| 유틸 | formatDate.ts | 8 | PASS |
| 훅 | useCTA.tsx | 12 | PASS |
| 플로우 | /orders | 4 | 2 PASS, 2 FAIL |
실패 항목:
- order-list.spec.ts:42 필터 클릭 후 테이블 갱신 안 됨
- order-list.spec.ts:67 미결제 탭 DatePicker 미숨김
.policy/*.json 있음:
각 매트릭스의 affectedFiles + flows 추출
카테고리별 분류
.policy/ 없음:
src/ 전체 스캔
파일명 패턴으로 카테고리 분류
프로젝트 전체 스캔 결과:
- 유틸 함수 12개 → 유닛 TC 생성 예정
- 훅 5개 → 통합 TC 생성 예정
- 페이지 3개 → E2E spec 생성 예정
총 예상 TC: ~60개
진행할까요?
// testgen 에이전트를 파일별로 spawn (Agent Teams 활용)
// E2E는 페이지별로 순차 (Phase 1~2만, Forge Loop은 개별 호출 시)
/test → git diff → 자동 판단
/test src/order/utils/period.ts → 유틸 → Jest 유닛
/test src/order/hooks/useCTA.tsx → 훅 → testgen
/test src/order/views/list/ → 페이지 → /e2e
/test --e2e /orders → E2E 명시
/test --unit src/utils/date.ts → 유닛 명시
/test --setup → /setup-test + /setup-e2e
/test --init → 전체 일괄 생성
/test --all → yarn test && playwright test
| 기존 스킬 | 변경 | /test 호출 시 |
|---|---|---|
/generate-test | 변경 없음 | 라우팅으로 호출 |
/e2e | 변경 없음 | 라우팅으로 호출 |
/setup-test | 변경 없음 | --setup-unit 시 호출 |
/setup-e2e | 변경 없음 | --setup-e2e 시 호출 |
/test는 Facade일 뿐, 실제 로직은 위 스킬들에 위임. 사용자는 /test 하나만 기억하면 되고, 필요 시 하위 스킬 직접 호출도 가능.
thinking-model.md VERIFY 체크리스트의 "(정책 변경 시) 테스트 작성?" 항목에서 /test {파일} 실행을 권장. 자동 호출은 하지 않음 (비용 통제).
/test가 직접 Jest/Playwright 실행하지 않는다 — 기존 스킬에 위임/test --init 호출 시 사용자 승인 없이 진행 금지 (비용이 크므로 반드시 확인).policy/ 없는 프로젝트에서 --init 호출 시 명확한 안내 출력