install
source · Clone the upstream repo
git clone https://github.com/KIM-KYOUNG-OH/dotfiles
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/KIM-KYOUNG-OH/dotfiles "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/issue-qa-doc" ~/.claude/skills/kim-kyoung-oh-dotfiles-issue-qa-doc && rm -rf "$T"
manifest:
.claude/skills/issue-qa-doc/SKILL.mdsource content
QA Document Generator
QA 테스트 결과, 이슈 내용, 조치 사항을 분석하여 구조화된 QA 문서를 자동 생성하는 스킬입니다.
실행 절차
1. 정보 수집
다음 정보를 사용자에게 대화형으로 수집합니다:
- 프로젝트명: QA 대상 프로젝트 이름
- 테스트 범위: 테스트한 기능 또는 모듈
- 테스트 환경: OS, 브라우저, 디바이스 등
- 테스트 날짜: 테스트를 수행한 날짜
- 테스터: 테스트를 수행한 사람
- 이슈 내용: 발견된 이슈들 (스크린샷, 로그 등 포함)
- 조치 사항: 각 이슈에 대한 조치 내용
2. 이슈 분류 및 우선순위화
수집된 이슈를 다음 기준으로 분류:
- Severity: Critical, High, Medium, Low
- Category: UI/UX, 기능, 성능, 보안, 호환성 등
- Status: New, In Progress, Fixed, Verified, Closed
3. 조치 내용 정리
각 이슈에 대해:
- 조치 담당자: 누가 해결할 것인가
- 예상 완료일: 언제까지 해결할 것인가
- 조치 내용: 어떻게 해결할 것인가
- 검증 방법: 어떻게 확인할 것인가
4. 문서 생성 및 저장
정리된 정보를 구조화된 마크다운 문서로 생성하고, Read 도구로
를 읽어 vault 경로, 파일명 규칙, 태그 체계, frontmatter 구조를 확인한 후 Obsidian vault에 저장합니다.~/.claude/policies/obsidian-document-policy.md
QA 문서 템플릿
# QA Report: {테스트 범위} ## 요약 - **테스트 날짜**: {YYYY-MM-DD} - **테스터**: {테스터 이름} - **총 이슈 수**: {총 개수} - Critical: {개수} - High: {개수} - Medium: {개수} - Low: {개수} - **해결된 이슈**: {개수} - **미해결 이슈**: {개수} ## 테스트 환경 ### 하드웨어 - **디바이스**: {디바이스 정보} - **화면 해상도**: {해상도} ### 소프트웨어 - **OS**: {운영체제 및 버전} - **브라우저**: {브라우저 및 버전} - **애플리케이션 버전**: {버전 정보} ### 네트워크 - **연결 방식**: {WiFi/LTE/5G 등} - **네트워크 속도**: {속도 정보} ## 테스트 범위 ### 테스트한 기능 - [ ] {기능 1} - [ ] {기능 2} - [ ] {기능 3} ### 테스트 시나리오 1. **{시나리오 1}** - 테스트 단계: {단계 설명} - 예상 결과: {예상 결과} - 실제 결과: {실제 결과} - 결과: ✅ Pass / ❌ Fail 2. **{시나리오 2}** - 테스트 단계: {단계 설명} - 예상 결과: {예상 결과} - 실제 결과: {실제 결과} - 결과: ✅ Pass / ❌ Fail ## 이슈 내용 ### Critical Issues #### 🔴 Issue #1: {이슈 제목} **Severity**: Critical **Category**: {카테고리} **Status**: {상태} **Reporter**: {보고자} **Date**: {YYYY-MM-DD} **설명**: {이슈에 대한 상세 설명} **재현 단계**: 1. {단계 1} 2. {단계 2} 3. {단계 3} **예상 동작**: {예상 동작} **실제 동작**: {실제 동작} **스크린샷**:  **에러 로그**:
{에러 로그}
**조치 담당자**: {담당자} **예상 완료일**: {YYYY-MM-DD} **조치 내용**: {어떻게 해결할 것인가} **검증 방법**: {어떻게 확인할 것인가} --- ### High / Medium / Low Issues {위와 동일한 구조로 각 심각도별 이슈 나열} --- ## 조치 내용 요약 | Issue # | 제목 | Severity | 담당자 | 예상 완료일 | Status | |---------|------|----------|--------|-------------|--------| | #1 | {제목} | Critical | {담당자} | {날짜} | {상태} | | #2 | {제목} | High | {담당자} | {날짜} | {상태} | | #3 | {제목} | Medium | {담당자} | {날짜} | {상태} | ## 테스트 메트릭 - **총 테스트 케이스**: {개수} - **통과**: {개수} ({비율}%) - **실패**: {개수} ({비율}%) - **보류**: {개수} ({비율}%) ## 추가 정보 ### 개선 제안 {테스트 과정에서 발견한 개선 사항이나 제안} ### 긍정적 피드백 {잘 작동한 부분이나 좋았던 점} ### 참고 자료 - {관련 문서나 링크} ## 다음 액션 - [ ] {해야 할 작업 1} - [ ] {해야 할 작업 2} - [ ] {해야 할 작업 3}
문서 저장
QA 문서 작성 완료 후, Read 도구로
~/.claude/policies/obsidian-document-policy.md를 읽어 저장 규칙을 확인하고 다음과 같이 저장합니다:
- 프로젝트명 확인: 사용자에게 프로젝트명 재확인
- Frontmatter 생성:
:typeqa-document
: 테스트 날짜test-date
: 테스터 이름tester
:status
또는In ProgressCompleted- 태그:
,doctype/qa-document
,topic/testing
,status/{상태}project/{프로젝트명}
- 파일명:
qa-{YYYY-MM-DD_HH-mm}.md - 저장 경로:
~/OneDrive/my-obsidian-vault/002-PROJECTS/{프로젝트명}/
자세한 저장 규칙은
~/.claude/policies/obsidian-document-policy.md 참조.
Category 분류
- UI/UX: 화면 레이아웃, 디자인, 사용성 문제
- 기능: 기능 오작동, 동작 오류
- 성능: 속도, 메모리, 네트워크 문제
- 보안: 보안 취약점, 권한 문제
- 호환성: 브라우저, OS, 디바이스 호환성 문제
제목 작성 규칙
- 형식: "QA Report: [테스트 범위 명확히 설명]"
- 예시:
- "QA Report: 사용자 인증 및 로그인 기능"
- "QA Report: 결제 프로세스 전체 흐름"
- "QA Report: v2.0 배포 전 전체 기능 테스트"
이슈 작성 시 주의사항
- 재현 가능성: 다른 사람도 동일하게 재현할 수 있도록 상세히 작성
- 증거 자료: 스크린샷, 로그, 영상 등 증거 자료 첨부
- 명확한 설명: 예상 동작과 실제 동작을 명확히 구분
- 우선순위: Severity에 따라 우선순위 설정
실행 예시
User: QA 문서 작성해줘 Assistant: 1. [정보 수집] 프로젝트명, 테스트 범위, 환경, 이슈 내용 등 질문 2. [이슈 분류] Severity, Category, Status별로 분류 3. [조치 정리] 담당자, 완료일, 조치 내용, 검증 방법 정리 4. [문서 생성] Read `~/.claude/policies/obsidian-document-policy.md` 후 저장