github-triage
GitHub 이슈/PR read-only 트리아지. 모든 오픈 이슈와 PR을 분석해서 보고서를 /tmp/에 저장합니다. GitHub에 어떤 변경도 하지 않습니다. "triage", "이슈 분석", "PR 검토", "github triage" 트리거로 사용합니다. oh-my-opencode github-triage 스킬을 Copilot CLI에 포팅했습니다.
Best use case
github-triage is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
GitHub 이슈/PR read-only 트리아지. 모든 오픈 이슈와 PR을 분석해서 보고서를 /tmp/에 저장합니다. GitHub에 어떤 변경도 하지 않습니다. "triage", "이슈 분석", "PR 검토", "github triage" 트리거로 사용합니다. oh-my-opencode github-triage 스킬을 Copilot CLI에 포팅했습니다.
Teams using github-triage should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/oh-my-copilot-github-triage/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How github-triage Compares
| Feature / Agent | github-triage | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
GitHub 이슈/PR read-only 트리아지. 모든 오픈 이슈와 PR을 분석해서 보고서를 /tmp/에 저장합니다. GitHub에 어떤 변경도 하지 않습니다. "triage", "이슈 분석", "PR 검토", "github triage" 트리거로 사용합니다. oh-my-opencode github-triage 스킬을 Copilot CLI에 포팅했습니다.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# GitHub Triage — Read-Only 분석기
> **ZERO ACTION 정책**: GitHub에 어떤 변경도 하지 않습니다. 분석 보고서만 작성.
## 아키텍처
**1 이슈/PR = 1 백그라운드 에이전트 = 1 보고서 파일**
| 규칙 | 값 |
|------|-----|
| 실행 | 병렬 (모든 아이템 동시) |
| 추적 | TodoWrite 1개/아이템 |
| 출력 | `/tmp/{YYYYMMDD-HHmmss}/issue-{N}.md` 또는 `pr-{N}.md` |
---
## Zero-Action 정책 (절대)
### FORBIDDEN
```
gh issue comment, gh issue close, gh issue edit
gh pr comment, gh pr merge, gh pr review, gh pr edit
gh api -X POST/PUT/PATCH/DELETE
```
### ALLOWED
```
gh issue view, gh pr view, gh api (GET만)
grep, glob, 파일 읽기
git log, git show, git blame
Write — /tmp/ 에만
```
---
## Phase 0: 설정
```bash
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
REPORT_DIR="/tmp/$(date +%Y%m%d-%H%M%S)"
mkdir -p "$REPORT_DIR"
COMMIT_SHA=$(git rev-parse HEAD)
echo "레포: $REPO, 보고서: $REPORT_DIR"
```
---
## Phase 1: 오픈 아이템 가져오기
```bash
# 이슈 목록 (본문 제외 — JSON 파싱 문제 방지)
ISSUES=$(gh issue list --repo "$REPO" --state open --limit 500 \
--json number,title,labels,author,createdAt)
# PR 목록
PRS=$(gh pr list --repo "$REPO" --state open --limit 500 \
--json number,title,labels,author,headRefName,baseRefName,isDraft,createdAt)
echo "이슈: $(echo "$ISSUES" | python3 -c 'import sys,json;print(len(json.load(sys.stdin)))')"
echo "PR: $(echo "$PRS" | python3 -c 'import sys,json;print(len(json.load(sys.stdin)))')"
```
**대형 레포 처리**: 50개 초과 시 전체 처리. 샘플링 금지.
---
## Phase 2: 분류
| 유형 | 감지 기준 |
|------|----------|
| `ISSUE_QUESTION` | [Question], [Discussion], ?, "how to", "why does" |
| `ISSUE_BUG` | [Bug], Bug:, 에러 메시지, 스택 트레이스 |
| `ISSUE_FEATURE` | [Feature], [Enhancement], Feature Request |
| `ISSUE_OTHER` | 기타 |
| `PR_BUGFIX` | fix로 시작, fix/ 브랜치, bug 라벨 |
| `PR_OTHER` | 나머지 |
---
## Phase 3: 병렬 분석 (서브에이전트)
```bash
# 이슈별 분석 시작
echo "$ISSUES" | python3 -c "
import sys, json
for issue in json.load(sys.stdin):
print(f'분석: #{issue[\"number\"]} {issue[\"title\"]}')
"
```
### 각 서브에이전트 공통 프롬프트
```
CONTEXT:
- Repository: {REPO}
- Report directory: {REPORT_DIR}
- Current commit SHA: {COMMIT_SHA}
PERMALINK FORMAT:
모든 코드 참조는 반드시 퍼머링크 포함:
https://github.com/{REPO}/blob/{COMMIT_SHA}/{filepath}#L{start}-L{end}
퍼머링크 없는 주장 = 주장 없음. 미확인은 [UNVERIFIED] 표시.
절대 규칙 위반 = 치명적 실패:
- NEVER: gh issue/pr comment/close/edit/merge/review
- NEVER: -X POST/PUT/PATCH/DELETE
- ONLY Write: {REPORT_DIR}/{issue|pr}-{number}.md
```
---
## 보고서 형식 — ISSUE_BUG
```markdown
# Issue #{number}: {title}
**타입:** Bug Report | **작성자:** {author} | **생성:** {createdAt}
## 버그 요약
**예상:** [사용자가 기대한 것]
**실제:** [실제 발생한 것]
**재현:** [재현 단계]
## 판정: [CONFIRMED_BUG | NOT_A_BUG | ALREADY_FIXED | UNCLEAR]
## 분석
### 근거
[각 근거 + 퍼머링크]
### 근본 원인 (CONFIRMED_BUG의 경우)
[어떤 파일, 어떤 함수, 무엇이 잘못됨]
- 문제 코드: [`{path}#L{N}`](permalink)
### 수정 상세 (ALREADY_FIXED의 경우)
- 수정 커밋: [`{short_sha}`](commit_permalink)
- 수정 날짜: {date}
- 변경 내용: [설명 + diff 퍼머링크]
## 심각도: [LOW | MEDIUM | HIGH | CRITICAL]
## 권장 액션
[메인테이너가 할 것]
```
## 보고서 형식 — ISSUE_QUESTION
```markdown
# Issue #{number}: {title}
## 질문
[1-2문장 요약]
## 발견 사항
[각 발견 + 퍼머링크 증거]
## 제안 답변
[코드 참조와 퍼머링크 포함]
## 신뢰도: [HIGH | MEDIUM | LOW]
## 권장 액션
```
## 보고서 형식 — PR
```markdown
# PR #{number}: {title}
## 수정 요약
[무슨 버그, 어떻게 수정 — 변경 코드 퍼머링크 포함]
## 코드 리뷰
| 검사 | 상태 |
|------|------|
| CI | [PASS / FAIL / PENDING] |
| 리뷰 | [APPROVED / CHANGES_REQUESTED / PENDING] |
| Mergeable | [YES / NO / CONFLICTED] |
| 위험도 | [NONE / LOW / MEDIUM / HIGH] |
## 권장 액션: [MERGE | REQUEST_CHANGES | NEEDS_REVIEW | WAIT]
```
---
## Phase 4: 최종 요약
`{REPORT_DIR}/SUMMARY.md` 생성:
```markdown
# GitHub Triage 보고서 — {REPO}
**날짜:** {date} | **커밋:** {COMMIT_SHA}
**처리된 아이템:** {total}
## 이슈 ({count})
| 카테고리 | 수 |
|----------|-----|
| 버그 확인됨 | {n} |
| 이미 수정됨 | {n} |
| 버그 아님 | {n} |
| 질문 분석됨 | {n} |
| 기능 요청 평가됨 | {n} |
## PR ({count})
## 주의 필요 아이템
[번호, 제목, 판정, 1줄 요약, 보고서 링크]
```
---
## Anti-Patterns
| 위반 | 심각도 |
|------|--------|
| GitHub 변경 (comment/close/merge/etc) | **CRITICAL** |
| 퍼머링크 없는 주장 | **CRITICAL** |
| `quick` 아닌 카테고리 사용 | CRITICAL |
| 여러 아이템을 하나로 배치 | CRITICAL |
| 순차 처리 (병렬 필수) | HIGH |
| 증거 없는 추측 | HIGH |
| 브랜치명 퍼머링크 (커밋 SHA 필수) | HIGH |Related Skills
ultrawork
원커맨드 풀 오케스트레이션. Sisyphus + Hephaestus + Prometheus가 모두 활성화됩니다. "ultrawork", "ulw", "ulw-loop", "다 해줘", "전부 해줘" 트리거로 사용합니다. oh-my-opencode의 ultrawork를 Copilot CLI에 포팅한 스킬입니다.
trace
경쟁 가설 기반 evidence-driven 디버깅. 애매한 버그, 인과관계 추적, 성능 문제, 2회 이상 재현 실패한 버그에 사용합니다. "trace", "왜 이게", "원인 분석", "debugging", "버그 추적", "root cause", "원인을 모르겠어", "재현이 안 돼" 트리거로 사용합니다. oh-my-claudecode의 trace 스킬 패턴을 Copilot CLI에 포팅한 스킬입니다.
sisyphus
메인 오케스트레이터 에이전트. 복잡한 태스크를 원자적 서브태스크로 분해하고 병렬로 실행합니다. "오케스트레이션", "태스크 분해", "sisyphus" 트리거. ultrawork 내부에서도 자동 활성화됩니다.
sisyphus-junior
Focused task executor. Completes assigned tasks directly with todo tracking discipline. Use when Atlas delegates atomic work items. (Sisyphus-Junior - oh-my-opencode port)
setup
Configure shell profile so that `copilot`, `atlas`, and `cop` commands always launch with --agent oh-my-copilot:atlas --autopilot. Run this once after installing oh-my-copilot.
ralph-loop
자기교정 반복 루프. 완료까지 자동으로 반복 실행합니다. "루프", "완료까지", "계속 해줘", "ralph-loop", "ulw-loop" 트리거로 사용합니다. oh-my-opencode의 Ralph Loop를 Copilot CLI에 포팅한 스킬입니다.
prometheus
전략 플래닝 에이전트. 코드 짜기 전에 인터뷰로 요구사항을 명확히 하고 실행 계획을 수립합니다. "계획 세워줘", "플래닝", "prometheus", "인터뷰 모드", "deep-interview" 트리거로 사용합니다. 복잡한 태스크 전 항상 실행 권장.
playwright
MUST USE for any browser-related tasks. Browser automation via agent-browser CLI - verification, browsing, information gathering, web scraping, testing, screenshots, and all browser interactions. (playwright - oh-my-opencode port)
oracle
Read-only consultation agent. Hard debugging (2+ failed attempts), complex architecture design, self-review after significant implementation. Strategic technical advisor with deep reasoning. (Oracle - oh-my-opencode port)
oh-my-copilot
oh-my-opencode를 Copilot CLI용으로 포팅한 멀티에이전트 오케스트레이션 플러그인. Sisyphus(오케스트레이터) + Hephaestus(딥워커) + Prometheus(플래너) + Ralph Loop. "/ultrawork 태스크설명" 으로 시작하면 모든 에이전트가 자동 활성화됩니다. Use this plugin when asked for: "ultrawork", "orchestrate", "multi-agent", "deep work".
init-deep
계층형 AGENTS.md 파일 자동 생성. 프로젝트 전체를 분석해서 루트와 복잡한 서브디렉토리에 AGENTS.md를 생성합니다. "AGENTS.md 만들어줘", "init-deep", "프로젝트 문서화", "코드맵 만들어" 트리거로 사용합니다.
hephaestus
자율 딥워커 에이전트. 목표만 주면 스스로 탐색하고 완료까지 실행합니다. "딥워크", "자율 실행", "hephaestus", "알아서 해줘" 트리거로 사용합니다. 레시피가 아닌 목표를 받아서 Senior Staff Engineer처럼 동작합니다.