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-bug-report" ~/.claude/skills/kim-kyoung-oh-dotfiles-issue-bug-report && rm -rf "$T"
manifest:
.claude/skills/issue-bug-report/SKILL.mdsource content
Bug Report Generator
에러 로그, 스택 트레이스, 시스템 장애 정보를 분석하여 구조화된 버그 리포트를 자동 생성하는 스킬입니다.
실행 절차
1. 정보 수집
다음 정보를 사용자에게 대화형으로 수집합니다:
- 프로젝트명: 버그가 발생한 프로젝트 이름
- 에러 로그: 전체 에러 로그 또는 스택 트레이스
- 재현 단계: 버그를 재현하는 방법
- 환경 정보: OS, 버전, 라이브러리 버전 등
- 예상 동작: 정상적으로 동작해야 하는 방식
- 실제 동작: 실제로 발생한 문제
- 심각도: Critical / High / Medium / Low
2. 로그 분석
수집된 정보를 기반으로:
- 에러 타입 식별: 에러 메시지와 스택 트레이스에서 에러 타입 파악
- 발생 위치 특정: 코드상에서 에러가 발생한 정확한 위치 추적
- 호출 스택 분석: 함수 호출 경로를 추적하여 전체 흐름 파악
- 관련 코드 검토: 필요시 코드베이스 검색하여 관련 코드 확인
3. 근본 원인 분석
- 직접 원인: 에러가 발생한 직접적인 이유
- 근본 원인: 왜 그런 상황이 발생했는지 근본적인 원인
- 영향 범위: 이 버그가 시스템의 다른 부분에 미치는 영향
4. 해결 방안 제시
- 임시 해결책 (Workaround): 즉시 적용 가능한 우회 방법
- 근본 해결책 (Fix): 근본 원인을 해결하는 방법
- 예방 방안: 향후 유사한 문제를 방지하는 방법
5. 문서 생성 및 저장
분석 결과를 구조화된 마크다운 문서로 생성하고, Read 도구로
를 읽어 vault 경로, 파일명 규칙, 태그 체계, frontmatter 구조를 확인한 후 Obsidian vault에 저장합니다.~/.claude/policies/obsidian-document-policy.md
버그 리포트 템플릿
# Bug Report: {버그 제목} ## 요약 {버그에 대한 간단한 설명} ## 환경 정보 - **OS**: {운영체제} - **버전**: {애플리케이션 버전} - **라이브러리/프레임워크**: {주요 의존성 버전} - **발생 시각**: {YYYY-MM-DD HH:mm:ss} ## 재현 단계 1. {첫 번째 단계} 2. {두 번째 단계} 3. {세 번째 단계} ## 예상 동작 {정상적으로 동작해야 하는 방식} ## 실제 동작 {실제로 발생한 문제} ## 에러 로그
{전체 에러 로그 또는 스택 트레이스}
## 분석 ### 에러 타입 {에러 타입 및 의미} ### 발생 위치 - **파일**: {파일명}:{줄번호} - **함수/메서드**: {함수명} - **클래스**: {클래스명} ### 호출 스택
{호출 스택 분석}
### 근본 원인 {근본 원인에 대한 상세 분석} ### 영향 범위 {이 버그가 시스템에 미치는 영향} ## 해결 방안 ### 임시 해결책 (Workaround) {즉시 적용 가능한 우회 방법} ### 근본 해결책 (Fix) {근본 원인을 해결하는 방법} **변경이 필요한 코드**: ```language {수정 전 코드}
수정 후:
{수정 후 코드}
예방 방안
{향후 유사한 문제를 방지하는 방법}
추가 정보
관련 이슈
- {관련 이슈 링크 또는 설명}
참고 자료
- {참고할 만한 문서, 스택오버플로우 등}
다음 액션
- {해야 할 작업 1}
- {해야 할 작업 2}
- {해야 할 작업 3}
## 문서 저장 버그 리포트 작성 완료 후, Read 도구로 `~/.claude/policies/obsidian-document-policy.md`를 읽어 저장 규칙을 확인하고 다음과 같이 저장합니다: 1. **프로젝트명 확인**: 사용자에게 프로젝트명 재확인 2. **Frontmatter 생성**: - `type`: `bug-report` - `severity`: 사용자가 제공한 심각도 - `status`: `New` - **태그**: `doctype/bug-report`, `status/new`, `project/{프로젝트명}`, `topic/{관련기술}` 3. **파일명**: `bug-report-{YYYY-MM-DD_HH-mm}.md` 4. **저장 경로**: `~/OneDrive/my-obsidian-vault/002-PROJECTS/{프로젝트명}/` 자세한 저장 규칙은 `~/.claude/policies/obsidian-document-policy.md` 참조. ## 분석 시 주의사항 1. **객관적 사실 기반**: 추측보다는 로그와 코드에 기반한 분석 2. **명확한 근거 제시**: 각 분석 항목에 대해 근거를 명시 3. **재현 가능성**: 다른 사람도 동일한 방법으로 버그를 재현할 수 있도록 작성 4. **코드 레퍼런스**: 관련 코드는 파일명과 줄번호를 명시 ## 제목 작성 규칙 - **형식**: "Bug Report: [버그의 핵심 문제를 명확히 설명]" - **예시**: - "Bug Report: NullPointerException in UserService.login()" - "Bug Report: 결제 완료 후 주문 상태 업데이트 실패" ## 실행 예시
User: 버그 리포트 만들어줘 Assistant:
- [정보 수집] 프로젝트명, 에러 로그, 재현 단계 등 질문
- [로그 분석] 에러 타입, 발생 위치, 호출 스택 분석
- [근본 원인] 직접 원인, 근본 원인, 영향 범위 파악
- [해결 방안] 임시 해결책, 근본 해결책, 예방 방안 제시
- [문서 생성] Read
후 저장~/.claude/policies/obsidian-document-policy.md