2026년 7월 29일, GitHub은 Copilot 코드 리뷰에서 Agent Skills와 MCP 서버 지원이 Copilot Pro / Pro+ / Business / Enterprise에 정식 출시(GA) 되었다고 발표했습니다. 기능 목록만 보면 “또 하나 추가됐구나”로 끝납니다. 더 유용한 해석은 이렇습니다. PR 리뷰가 하나의 만능 프롬프트가 아니라, 전문 지침(skill) 과 읽기 전용 외부 맥락(MCP) 을 불러오는 작은 에이전트 팀에 가까워졌다는 점입니다.
이 글은 초심자도 따라올 수 있게 뉴스를 설명한 뒤, PapaCoder Labs가 말하는 전문화 에이전트·MCP·휴먼 게이트 관점으로 분석합니다. 변경 로그를 그대로 옮긴 글이 아닙니다.
무엇이 나왔나 (사실 정리)
GitHub Changelog와 Copilot 문서 기준으로 요약하면:
- 코드 리뷰가 저장소의 agent skills를 사용할 수 있습니다. 보통
.github/skills/.../SKILL.md형태입니다. - 저장소에 설정한 MCP 서버로 이슈 트래커, 문서, 서비스 카탈로그 같은 외부 맥락을 리뷰에 넣을 수 있습니다.
- 코드 리뷰에서 MCP 도구 호출은 읽기 전용(read-only) 으로 제한됩니다.
- Copilot cloud agent용으로 이미 연결해 둔 MCP 설정이 코드 리뷰에도 적용되며, GitHub·Playwright MCP는 기본 켜짐으로 안내됩니다.
- 리뷰 코멘트에 skill/MCP를 썼다는 attribution(출처 표시) 이 붙어, “어떤 전문 지침/도구가 개입했는지”를 볼 수 있습니다.
Skill은 지침(그리고 선택적으로 스크립트·리소스)이 들어 있는 폴더입니다. SKILL.md는 YAML 프론트매터(name, description)와 Markdown 본문으로 구성됩니다. 같은 skill 개념은 cloud agent, CLI, Copilot 앱, VS Code agent mode에서도 문서화되어 있습니다.
출처 메모: 이 에이전트 환경에서는
github.blog/docs.github.com직접 HTTP fetch가 차단되었습니다. 아래 주장은 해당 공식 URL의 Web Search 스니펫으로 교차 확인했습니다. 벤더의 내부 성능 언급은 재현하기 전에는 사실처럼 단정하지 않습니다.
왜 중요한가 (whyItMatters)
주니어 리뷰어에게 “테스트 추가하세요”만 반복하게 두는 팀과, 이 저장소 전용 한 페이지 플레이북(인증 규칙, 마이그레이션 체크리스트, API 호환성)과 이슈/문서 읽기 권한 배지를 쥐여 주는 팀을 비교해 보세요.
제품 형태는 단순합니다.
- Skills = 필요할 때 불러오는 리뷰 플레이북
- MCP = 도구·맥락 포트 (리뷰에서는 읽기 전용)
- Attribution = 어떤 플레이북/도구가 코멘트를 만들었는지에 대한 감사 흔적
Skills가 없으면 AI 리뷰는 결국 하나의 거대 프롬프트로 붕괴합니다. Skills가 있으면 팀 표준을 버전 관리되는 산출물로 남길 수 있습니다. 초심자 입장에서는 새 AI 플랫폼을 만들 필요가 없습니다. 디렉터리를 추가하고 Markdown 지침을 쓰고, 필요하면 문서/이슈 MCP를 연결한 뒤 PR 리뷰를 요청하면 됩니다.
비교: 이전 방식 vs GA 이후 vs 에이전트 팀
| 방식 | 모델이 보는 것 | 실패 모드 |
|---|---|---|
| 일반 PR 리뷰 | diff + 가끔 README | 하우스 룰을 무시하는 코멘트 |
| 커스텀 지시만 | 길고 전역적인 한 프롬프트 | 문맥 비대화, 작업별 전문화 어려움 |
| Skills + MCP (GA) | diff + 관련 SKILL.md + 읽기 전용 도구 맥락 | 소유자 없는 skill 노후화, MCP 과연결 소음 |
| 전문화 에이전트 팀 (PapaCoder식) | 단일 책임 에이전트 간 타입드 핸드오프 + 품질 게이트 | 설계 비용↑, 잘 만들면 신뢰성↑ |
PapaCoder Labs의 아키텍처(specs/11-agent-architecture.md)는 전문화 에이전트, 구조화된 출력, 최소 권한 MCP, 휴먼 퍼블리시 게이트를 요구합니다. Copilot 리뷰 GA가 그 전체 DAG는 아니지만 닮은꼴입니다.
code-reviewskill ≈ Reviewer 에이전트 카드(목표 + 지침)- MCP 서버 ≈ MCP Coordinator 포트
- 리뷰의 읽기 전용 MCP ≈ 신뢰 경계에서의 least privilege
- 최종 merge는 사람 — 봇이 프로덕션을 소유하지 않음
참고로 MCP 프로토콜은 2026-07-28 스펙에서 stateless core로 크게 바뀌었습니다(별도 뉴스). Copilot의 Skills+MCP GA는 제품 표면이고, 프로토콜 개정과는 관련 생태계이되 다른 발표입니다.
코드 예제: 리뷰 skill + 작은 타입 체크리스트
예시를 우리 스택에 맞게 고치세요.
---
name: code-review
description: 인증, 마이그레이션, API 호환성을 위한 저장소 PR 리뷰 규칙. 풀 리퀘스트에서 사용.
---
# Code review skill
## 항상 확인
1. 인가(AuthZ)는 서버 사이드. 클라이언트가 보낸 role을 신뢰하지 말 것.
2. 새 환경 변수는 비밀값 없이 `.env.example`에 반영.
3. DB 마이그레이션은 하위 호환이거나 명확히 게이트된 변경일 것.
4. 공개 API 변경은 PR 본문에 마이그레이션 노트를 포함할 것.
## 코멘트 스타일
- 코멘트당 실행 가능한 발견 하나.
- 확신이 없으면 요구사항을 지어내지 말고 질문할 것.
- 시크릿 커밋을 요청하지 말 것.
위치 예:
.github/skills/code-review/SKILL.md
“전문화된 리뷰 출력”을 가르치기 위한 TypeScript 스케치입니다(GitHub 내부 API가 아님).
type ReviewFinding = {
path: string;
severity: "blocker" | "suggestion" | "question";
ruleId: string; // skill 체크리스트 항목과 대응
message: string;
usedSkill?: string;
usedMcpServer?: string;
};
function scoreReview(findings: ReviewFinding[]): number {
const blockers = findings.filter((f) => f.severity === "blocker").length;
// 근거 없는 blocker 양산은 정확도 게이트 실패로 본다.
if (findings.some((f) => f.message.includes("아마") && f.severity === "blocker")) {
return 0;
}
return Math.max(0, 100 - blockers * 15);
}
핵심은 함수가 아니라 계약입니다. finding은 skill 규칙을 인용하고, 가능하면 MCP 출처를 남깁니다. Fact Checker 에이전트가 검증되지 않은 주장을 막는 것과 같은 정신입니다.
실전: 이번 주에 적용하기
- 리뷰 전용 이름으로 skill 하나를 만듭니다(
code-review). 소설이 아니라 규칙 다섯 개면 충분합니다. - MCP는 필요한 것만. 기본 GitHub MCP부터 쓰고, 티켓 맥락이 계속 빠질 때 문서/이슈 서버를 추가합니다.
- 토큰은 repository Secrets(Agents)에 두고
SKILL.md에 키를 붙이지 않습니다. - 작은 PR을 열어 코멘트의 attribution을 확인합니다. skill이 안 불리면
description과 디렉터리 이름을 더 리뷰 의도에 맞게 좁힙니다. - 휴먼 merge 바를 유지합니다. AI 코멘트는 Reviewer 초안입니다.
퍼블릭 프리뷰에서 이미 설정했다면, Changelog 안내상 추가 마이그레이션 없이 계속 사용할 수 있습니다.
NZ / 시니어 엔지니어 관점
뉴질랜드·APAC의 작은 팀에서 가장 부족한 자원은 “더 많은 토큰”이 아니라 사람이 바뀌어도 남는 공통 기준입니다. Skills의 가치는 시니어가 매번 입으로 반복하던 불변조건(인증, 마이그레이션, PII, 비용)을 파일로 고정하는 데 있습니다.
시니어 관점의 두 가지 경고:
- 읽기 전용 MCP는 제약 mid이 아니라 안전장치입니다. PR 코멘트에서 티켓을 변조하거나 배포까지 가는 리뷰 에이전트는 사고의 씨앗입니다.
- Skills는 썩습니다. 소유자를 정하세요. 낡은 skill은 없는 것보다 해롭습니다. 주니어와 모델 모두에게 틀린 규칙을 가르칩니다.
벤더의 “내부 테스트에서 좋았다”는 마케팅 신호일 수 있습니다. 우리 팀의 skill이 우리 결함을 잡는지로 측정하세요.
Cursor에서 쓰는 법
Cursor도 에이전트 워크플로, 레포 규칙, MCP를 전제로 합니다. 평행 습관은 이렇습니다.
- 리뷰/배포 플레이북을 Slack 구전으로 두지 말고 버전 관리되는 Markdown(skills, agent cards, Cursor rules)으로 둡니다.
- MCP에는 최소 권한. 리뷰형 에이전트에는 읽기 전용을 기본으로 합니다.
- 초안과 퍼블리시/머지를 분리합니다. PapaCoder 헌장은 “AI가 초안, 사람이 퍼블리시”입니다. Copilot 리뷰 GA도 같은 모델입니다. AI가 주석을 달고, 사람이 머지합니다.
에디토리얼·플랫폼 에이전트 루프를 만든다면, Copilot의 skill 파일은 에이전트 카드의 작은 사촌으로 보면 됩니다. 목표, 언제 쓸지, 지침, 선택적 도구.
FAQ
지금 누가 Skills와 MCP 코드 리뷰를 쓰나요?
2026-07-29 Changelog 기준 Copilot Pro, Pro+, Business, Enterprise 사용자에게 GA입니다.
SKILL.md는 어디에 두나요?
.github/skills 아래 skill 디렉터리에 둡니다. 예: .github/skills/code-review/SKILL.md. 파일명은 반드시 SKILL.md입니다.
코드 리뷰에서 MCP는 읽기 전용인가요?
네. Copilot 코드 리뷰의 MCP 도구 호출은 읽기 전용으로 제한된다고 문서화되어 있습니다. GitHub·Playwright MCP 기본 활성화와 org/repo 설정으로 추가 제한이 가능합니다.
코멘트가 skill/MCP를 썼는지 어떻게 알까요?
리뷰 코멘트의 attribution과 PR 타임라인에서 연결된 세션 로그를 확인하면 됩니다(GitHub 코드 리뷰 문서).
MCP 2026-07-28 프로토콜 발표와 같은 건가요?
아닙니다. 프로토콜 발표는 MCP 서버의 HTTP/세션 동작 변경이고, Copilot GA는 코드 리뷰 제품에 skills+MCP를 정식 연결한 것입니다. 시기는 가깝지만 산출물이 다릅니다.