github-triage

GitHub 이슈/PR read-only 트리아지. 모든 오픈 이슈와 PR을 분석해서 보고서를 /tmp/에 저장합니다. GitHub에 어떤 변경도 하지 않습니다. "triage", "이슈 분석", "PR 검토", "github triage" 트리거로 사용합니다. oh-my-opencode github-triage 스킬을 Copilot CLI에 포팅했습니다.

5 stars

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

$curl -o ~/.claude/skills/oh-my-copilot-github-triage/SKILL.md --create-dirs "https://raw.githubusercontent.com/Lee-SiHyeon/oh-my-copilot/main/.github/skills/oh-my-copilot-github-triage/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/oh-my-copilot-github-triage/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How github-triage Compares

Feature / Agentgithub-triageStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

5
from Lee-SiHyeon/oh-my-copilot

원커맨드 풀 오케스트레이션. Sisyphus + Hephaestus + Prometheus가 모두 활성화됩니다. "ultrawork", "ulw", "ulw-loop", "다 해줘", "전부 해줘" 트리거로 사용합니다. oh-my-opencode의 ultrawork를 Copilot CLI에 포팅한 스킬입니다.

trace

5
from Lee-SiHyeon/oh-my-copilot

경쟁 가설 기반 evidence-driven 디버깅. 애매한 버그, 인과관계 추적, 성능 문제, 2회 이상 재현 실패한 버그에 사용합니다. "trace", "왜 이게", "원인 분석", "debugging", "버그 추적", "root cause", "원인을 모르겠어", "재현이 안 돼" 트리거로 사용합니다. oh-my-claudecode의 trace 스킬 패턴을 Copilot CLI에 포팅한 스킬입니다.

sisyphus

5
from Lee-SiHyeon/oh-my-copilot

메인 오케스트레이터 에이전트. 복잡한 태스크를 원자적 서브태스크로 분해하고 병렬로 실행합니다. "오케스트레이션", "태스크 분해", "sisyphus" 트리거. ultrawork 내부에서도 자동 활성화됩니다.

sisyphus-junior

5
from Lee-SiHyeon/oh-my-copilot

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

5
from Lee-SiHyeon/oh-my-copilot

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

5
from Lee-SiHyeon/oh-my-copilot

자기교정 반복 루프. 완료까지 자동으로 반복 실행합니다. "루프", "완료까지", "계속 해줘", "ralph-loop", "ulw-loop" 트리거로 사용합니다. oh-my-opencode의 Ralph Loop를 Copilot CLI에 포팅한 스킬입니다.

prometheus

5
from Lee-SiHyeon/oh-my-copilot

전략 플래닝 에이전트. 코드 짜기 전에 인터뷰로 요구사항을 명확히 하고 실행 계획을 수립합니다. "계획 세워줘", "플래닝", "prometheus", "인터뷰 모드", "deep-interview" 트리거로 사용합니다. 복잡한 태스크 전 항상 실행 권장.

playwright

5
from Lee-SiHyeon/oh-my-copilot

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

5
from Lee-SiHyeon/oh-my-copilot

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

5
from Lee-SiHyeon/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

5
from Lee-SiHyeon/oh-my-copilot

계층형 AGENTS.md 파일 자동 생성. 프로젝트 전체를 분석해서 루트와 복잡한 서브디렉토리에 AGENTS.md를 생성합니다. "AGENTS.md 만들어줘", "init-deep", "프로젝트 문서화", "코드맵 만들어" 트리거로 사용합니다.

hephaestus

5
from Lee-SiHyeon/oh-my-copilot

자율 딥워커 에이전트. 목표만 주면 스스로 탐색하고 완료까지 실행합니다. "딥워크", "자율 실행", "hephaestus", "알아서 해줘" 트리거로 사용합니다. 레시피가 아닌 목표를 받아서 Senior Staff Engineer처럼 동작합니다.