user-scope-skills/jira-recon/SKILL.md
Use when "/jira:recon", "지라 리서치", "지라 분석", "티켓 분석", "티켓 리서치", "지라 정리", "jira research", "jira recon", "ticket research", "analyze jira ticket", "이 티켓 정리해줘", "JIRA 티켓 조사". Also use when the user shares a Jira URL containing "atlassian.net/browse/" and asks for analysis, research, or investigation of the ticket.
npx skillsauth add onejaejae/skills jira-reconInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Jira 티켓을 받아 모든 관련 정보를 병렬로 수집하고 구조화된 리서치 리포트를 생성한다.
리포트의 주요 소비자는 jira:assess 스킬(기계 파싱)이므로 섹션 구조가 고정되고 예측 가능해야 한다.
Phase 0: Parse & Validate → STOP
Phase 1: Fetch ticket + subtasks + epic (direct CLI)
Phase 2: Extract + classify URLs (direct)
Phase 3: Parallel link fetching (direct MCP + CLI)
Phase 4: Synthesis → ~/.claude/specs/{KEY}-research.md
티켓 키 추출: 입력에서 Jira 키를 파싱한다.
https://khc.atlassian.net/browse/DPHRS-8?... → DPHRS-8DPHRS-8 → DPHRS-8([A-Z][A-Z0-9]+-\d+)jira CLI 확인:
command -v jira && jira me 2>&1
jira init을 실행해주세요." → STOP출력 디렉토리 확인:
mkdir -p ~/.claude/specs
기존 specs/{KEY}-research.md가 있으면 자동 덮어쓰기 (이전 리서치 갱신 목적).
상태 출력:
## jira:recon — {KEY}
Researching ticket {KEY}...
Output: ~/.claude/specs/{KEY}-research.md
그 후 바로 Phase 1로 진행한다. 사용자 입력 대기 불필요 — 이 스킬은 자율적으로 끝까지 실행.
직접 실행한다 (에이전트 불필요). Jira CLI 호출은 빠르므로 순차 실행이 효율적이다.
메인 티켓 fetch:
jira issue view {KEY} --plain --comments 10
메인 티켓의 모든 필드와 최근 10개 코멘트를 수집한다.
jira issue view 출력에서 comments count 파싱. 불가하면 무시.서브태스크 목록 fetch:
jira issue list -q "parent = {KEY}" --plain --no-truncate
주의: --parent 플래그는 동작하지 않음 (Known Issue). JQL로 서브태스크를 조회한다.
각 서브태스크 상세 fetch (발견된 만큼):
"Created by /jira:dispatch" 마커가 있는지 확인[dispatch-created, not fetched] 표시jira issue view {SUBTASK_KEY} --plain --comments 5
에픽 link 확인 및 fetch (필수 확인 단계):
jira issue view {EPIC_KEY} --plain
[FETCH FAILED: epic] 마킹, Section 1 Overview에 기록, Phase 2로 계속 진행모든 Jira 텍스트에서 URL을 즉시 추출하여 Phase 2 입력으로 전달.
이 방식이 에이전트 2개를 생성하는 것보다 빠르다 — Jira CLI 호출은 각각 1-3초이므로 에이전트 오버헤드가 더 크다.
에이전트 결과에서 모든 URL을 추출하고 분류한다. 이 단계는 오케스트레이터가 직접 수행한다 (에이전트 불필요).
| 유형 | 패턴 | Fetch 방법 |
|------|------|-----------|
| Notion | notion.so/*, notion.site/* | mcp__claude_ai_Notion__notion-fetch |
| GitHub Issue/PR | github.com/{owner}/{repo}/(issues\|pull)/{num} | gh issue view / gh pr view |
| Google Sheets | docs.google.com/spreadsheets/d/* | WebFetch |
| Google Docs | docs.google.com/document/d/* | WebFetch |
| Jira Cross-ref | atlassian.net/browse/{KEY} | jira issue view |
| Google Chat | chat.google.com/* | 참조만 기록 (fetch 불가) |
visited_urls 집합으로 재귀 fetch 시 중복 방지분류 완료 후 요약 출력:
Links found: {N}
Notion: {n1} | GitHub: {n2} | Google: {n3} | Jira: {n4} | Other: {n5}
Fetching...
URL이 0개인 경우: Phase 3 전체 스킵, Phase 4로 직행. Links Index는 비어있는 상태로 생성.
분류된 URL을 유형별로 병렬 fetch한다.
빠른 CLI 호출은 직접 실행한다:
gh issue view {num} --repo {owner}/{repo} 또는 gh pr viewjira issue view {CROSS_KEY} --plainWebFetch(url: "{url}")Notion URL은 mcp__claude_ai_Notion__notion-fetch를 직접 호출한다:
mcp__claude_ai_Notion__notion-fetch(id: "{notion_url}")
여러 Notion 페이지가 있으면 병렬로 호출 (단일 메시지에 여러 tool call).
Notion 콘텐츠에서 발견되는 추가 Notion URL도 fetch한다:
visited_urls에 없는 URL만 필터[NOT FETCHED: cap reached]로 기록.Notion fetch 응답에서 다음을 수행한다:
https://s3.*.amazonaws.com/, https://prod-files-secure.s3.*.amazonaws.com/, https://*.cloudfront.net/ 패턴의 이미지 URL을 감지하여 제거
 →  (alt text 보존)개별 fetch 실패 시:
[FETCH FAILED: {reason}] 마커 기록, 계속 진행재시도를 2회→1회로 줄인 이유: iteration-1에서 실패한 소스는 대부분 권한/존재하지 않음 문제이므로 재시도해도 결과가 동일했다.
수집된 모든 데이터를 고정된 7-섹션 구조로 합성하여 ~/.claude/specs/{KEY}-research.md에 저장한다.
| 등급 | 조건 | |------|------| | HIGH | 모든 소스 fetch 성공 | | MED | 1-2개 소스 실패 | | LOW | 3개 이상 소스 실패 |
references/report-template.md의 구조를 정확히 따른다. 섹션 번호와 헤더는 변경하지 않는다 — jira:assess가 이 구조에 의존한다.
핵심 규칙:
## jira:recon Complete
**Confidence: {HIGH|MED|LOW}** — {fetched}/{total} sources
**Report**: ~/.claude/specs/{KEY}-research.md
**Sections**: 7 | **Subtasks**: {N} | **Links**: {N} fetched, {N} failed
{Failed sources list if any}
Next: /jira:assess {KEY}
[NOT FETCHED: cap reached][FETCH FAILED: {reason}] 마킹하고 진행. 재시도해도 동일 결과 예상 시(401, 404) 재시도 생략.testing
CLAUDE.md 기반 환경 안전 체크. 작업 시작 전에 프로젝트의 안전 규칙, 컨벤션, 환경 설정을 자동 검증하여 CLEAR/WARNING/BLOCKED 상태를 보고한다. /check가 "변경 후 검증"이라면, /pre-flight는 "작업 전 환경 검증"이다. Use PROACTIVELY before starting work, especially after switching branches, pulling changes, or resuming a session. Also use when explicitly asked: "/pre-flight", "프리플라이트", "환경 체크", "작업 전 점검", "안전 체크", "environment check", "pre-flight check", "시작해도 돼?", "환경 괜찮아?", "safety check", "DB 확인", "설정 확인", "config check".
tools
PR 리뷰 워크플로우와 체크리스트를 제공하는 스킬. "PR 리뷰해줘", "코드 리뷰 해줘", "이 PR 봐줘", "review this PR" 등 PR 리뷰 요청 시 사용. GitHub/GitLab PR URL 또는 로컬 브랜치 diff를 기반으로 체계적이고 일관된 리뷰를 수행. 코드 품질, 안정성/보안, 성능, 테스트, 문서화 관점에서 건설적인 피드백 제공.
documentation
PR review comments를 체계적으로 처리하는 skill. Use when: (1) PR에 동료의 리뷰가 달렸을 때, (2) 여러 리뷰를 한 번에 처리하고 싶을 때, (3) 수정 후 commit 링크가 포함된 reply를 자동으로 추가하고 싶을 때
tools
PR diff를 받아 코드 리뷰 자동 요약을 생성하는 스킬. 핵심 변경점을 3줄로 요약하고, 변경 파일별로 what changed / why it matters / risk level을 정리. Use when: "PR 요약", "diff 요약", "PR 변경점 정리", "코드 변경 요약", "summarize PR", "PR summary", "diff summary", "what changed in this PR", "변경점 요약해줘", "PR 핵심 정리", "리뷰 요약"