Community코딩 & 개발github.com

teefayb/claude-code-setup-demo

실패하거나 불안정한 Vitest 테스트 또는 CI 검사 실패를 진단하고, 근본 원인을 찾은 후 가장 작은 올바른 수정을 제안하거나 적용합니다. 테스트가 로컬이나 CI에서 실패할 때 사용하세요.

claude-code-setup-demo란 무엇인가요?

이 스킬은 Vitest 기반 테스트나 CI 검사가 실패했을 때, AI 에이전트가 체계적으로 문제를 진단하고 해결할 수 있도록 설계되었습니다. 실패한 테스트를 격리하여 재현하고, 어설션 차이(assertion diff)와 스택 트레이스를 분석한 후, 변경된 코드 기록을 검토하여 근본 원인을 분류합니다. 분류에는 코드 버그(Code bug), 낡은 테스트(Stale test), 테스트 격리 문제(Test isolation), 환경 차이(Environment)의 네 가지 유형이 포함됩니다. 수정 시에는 단순히 테스트를 통과시키기 위해 어설션을 느슨하게 하거나 삭제하지 않고, 근본 원인을 정확히 해결하며, 최종적으로 전체 테스트를 재실행하여 수정 사항의 유효성을 확인합니다. Claude Code, Cursor, Codex 등 다양한 AI 도구에서 사용할 수 있습니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/teefayb/claude-code-setup-demo/tree/HEAD/.claude/skills/triage-test

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

이 실패를 진단하세요: $ARGUMENTS

단계

  1. 재현. 실패한 파일만 실행합니다: npx vitest run <file> ( -t "<test name>" 옵션으로 범위를 좁힐 수 있습니다). 파일이 주어지지 않았다면 npm test를 실행하고 첫 번째 실패를 선택합니다. 통과한다면 5번 실행하세요 (npx vitest run <file> --repeat 4) — 불안정한지 확인합니다.
  2. 코드를 읽기 전에 어설션 diff와 스택 트레이스를 먼저 읽습니다. 실패한 기대값(expectation)을 명시하세요.
  3. 변경된 내용을 찾습니다: git log --oneline -10 -- <소스 파일> <테스트 파일> 및 git diff main...HEAD -- <파일들>.
  4. 원인을 분류하고, 어떤 유형인지 말합니다:
    • 코드 버그 — 테스트가 옳습니다; 소스 코드를 수정하세요.
    • 낡은 테스트 — 의도적으로 동작이 변경되었습니다; 테스트를 업데이트하고 어떤 커밋이 변경했는지 말하세요.
    • 테스트 격리 — 테스트 간의 공유 상태(데이터 파일, 환경 변수, 시간, 순서). 이 저장소에서는 테스트가 useTempDataFile()을 사용하고 createLink에 명시적인 now 값을 전달하는지 확인하세요 (시계에 의존하지 않도록).
    • 환경 — Node 버전, 설치 누락, CI에서만 발생하는 차이.
  5. 근본 원인을 수정합니다. 테스트를 통과시키기 위해 어설션을 건너뛰거나, 삭제하거나, 느슨하게 만들지 마십시오. 또한 명시하지 않고 data/seed.json을 편집하여 테스트를 만족시키지 마십시오.
  6. 해당 파일을 다시 실행한 후 npm test를 실행합니다.
  7. 보고: 원인(한 문장), 분류, 수정 사항, 실행한 명령어를 보고합니다.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

관련 스킬