with one click
source-command-code-review
변경된 코드를 시급도별로 보고. 리포트 전용 — fix·빌드·커밋 안 함.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
변경된 코드를 시급도별로 보고. 리포트 전용 — fix·빌드·커밋 안 함.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
| name | source-command-code-review |
| description | 변경된 코드를 시급도별로 보고. 리포트 전용 — fix·빌드·커밋 안 함. |
Use this skill when the user asks to run the migrated source command code-review.
큰 작업을 끝낸 뒤 "지금 변경한 코드"에 대한 객관적 리뷰가 필요할 때 호출한다. 4명의 전문 에이전트가 각자 전문 관점에서 병렬 리뷰한다. 리포트 전용 스킬 — 빌드/타입체크 안 돌리고, 자동 fix 안 하고, 커밋도 안 한다. 시급도 분류된 발견 리스트만 출력하고 끝.
/code-review — 4개 전문 에이전트 전부 병렬. origin/main 대비./code-review <agent> [agent...] — 지정 에이전트만 실행./code-review HEAD~3, /code-review ui HEAD~3.| 키워드 | 에이전트 | 담당 카테고리 | 핵심 관심사 |
|---|---|---|---|
ui | UI/UX | UI/디자인, i18n | shadcn/ui, IconButton, Tailwind, 다국어 동시 갱신, 패턴 일치 |
security | Security | 인증, MV3/Side Panel | OAuth, 토큰 갱신, user gesture, MAIN world |
dataflow | DataFlow | 세션 보존, picker/CSS, 이슈 구성 | tabId scope, 토큰 resolve, 섹션 구성, 마이그레이션 |
codehealth | CodeHealth | 코드 스타일, 일반 | @/ 경로, 데드 코드, race condition, 보안 |
예시:
/code-review → 4개 에이전트 전부, origin/main 대비
/code-review ui → UI/UX 에이전트만
/code-review security → Security 에이전트만
/code-review ui dataflow → UI/UX + DataFlow 병렬
/code-review HEAD~3 → 4개 전부, HEAD~3 대비
/code-review ui HEAD~3 → UI/UX만, HEAD~3 대비
/audit: 전체 코드베이스 대상. 축적된 문제를 찾는다./review: GitHub PR 리뷰 (외부 협업)./build: 빌드 + 테스트 체크리스트./code-review ← 여기. 로컬 변경 정적 리뷰만.base 결정:
origin/main. (먼저 git fetch origin main 해서 최신 상태 보장.)병렬 실행:
git status — 미커밋 변경 표시git diff <base> --stat — base 대비 working tree 전체 변경 통계 (push된 commit + 미커밋 모두 포함)git log <base>..HEAD --oneline — 포함되는 commit 목록 (컨텍스트)git diff <base> --stat 결과 0이면 즉시 종료: "리뷰할 변경 없음."
리뷰 대상 diff: git diff <base> (base..working-tree). 파일 단위로 필요 시 git diff <base> -- <path>.
착수 전 회고 매칭 (메인, 값싸다). 변경 파일 목록·영역 키워드로 docs/POSTMORTEM.md를 grep해, 이 변경 영역에서 과거에 터진 함정을 추린다 — 이 파일은 같은 자리에서 반복해 터진 버그의 재발 방지 신호(grep 패턴·file:func)를 담는다. 매칭된 회고는 2단계에서 해당 영역 에이전트에게 전달해 "이 변경이 그 함정을 재발시키는지"를 집중 점검하게 한다. 매칭 0이면 스킵.
grep -ni -e '<변경 파일명>' -e '<영역 키워드>' docs/POSTMORTEM.md
(영역 키워드는 회고 제목의 반복어 — cross-origin·picker·slack·i18n·마이그레이션·user gesture·capture 등.)
활성화된 전문 에이전트를 동시에 실행한다 (subagent_type: general-purpose). 각 에이전트에게 다음을 전달:
근거: POSTMORTEM YYYY-MM-DD)로 든 발견을 올린다.메인 스레드
├── UI/UX (general-purpose)
│ ├── Explore: sidepanel 변경 + 기존 동일 역할 컴포넌트
│ ├── Explore: i18n 변경 + 키 대칭 확인
│ └── Explore: content/lib 변경 + UI 컨텍스트
├── Security (general-purpose)
│ ├── Explore: background 변경 + OAuth 흐름 컨텍스트
│ ├── Explore: content 변경 + MV3 컨텍스트
│ └── Explore: sidepanel/lib 변경 + auth 컨텍스트
├── DataFlow (general-purpose)
│ ├── Explore: content 변경 + picker 컨텍스트
│ ├── Explore: sidepanel 변경 + session/issue 컨텍스트
│ └── Explore: store/lib/types 변경 + 데이터 흐름 컨텍스트
└── CodeHealth (general-purpose)
├── Explore: background + content 변경
├── Explore: sidepanel 변경
└── Explore: store + lib + types 변경
각 전문 에이전트는:
파일:줄 — 요약 (근거) 형식으로 메인 스레드에 보고하위 Explore 에이전트는:
git diff <base> -- <해당 영역 파일> 로 변경분 확인변경 파일이 한 영역에 집중되면 하위 에이전트 없이 직접 리뷰해도 무방.
ui)변경분에서 UI·디자인·다국어 이슈를 찾는다.
하위 에이전트 분배 (변경이 있는 영역만):
| 하위 에이전트 | 영역 diff | 참조 파일 (패턴 비교) | 체크 |
|---|---|---|---|
| sidepanel-ui | src/sidepanel/**/* | 같은 역할의 기존 컴포넌트 | shadcn/ui 우선, IconButton 사이즈 (패널/헤더 h-8 w-8 vs Input 우측 h-9 w-9), Tailwind CSS 변수, data-[state=inactive]:hidden, 버튼 사이즈 (xl=h-11 전용), 같은 역할 패턴 일치 |
| i18n-keys | src/i18n/* | 대응 언어 파일 | ko/en 동시 갱신 여부, 키 이름 일관성, 새 키가 실제 사용되는지 |
| other-ui | src/content/*, src/lib/* | overlay UI 패턴 | 하드코딩 사용자 노출 텍스트, Shadow DOM UI 패턴 |
전문가 통합 점검:
security)변경분에서 인증·보안·MV3 lifecycle 이슈를 찾는다.
하위 에이전트 분배 (변경이 있는 영역만):
| 하위 에이전트 | 영역 diff | 참조 파일 (패턴 비교) | 체크 |
|---|---|---|---|
| bg-oauth | src/background/*, oauth-proxy/* | 기존 OAuth 흐름 파일 | discriminated union, OAuth proxy 경유 (client_secret 노출 금지), 토큰 갱신 흐름 (프리-리프레시 + 401 재시도), env 가드 (isOAuthConfigured()) |
| content-mv3 | src/content/* | 기존 content script entry | MAIN world 주입 함수 self-contained, all_frames=false 전제, 메시지 비동기 응답 패턴 |
| panel-lib-auth | src/sidepanel/**/*, src/lib/*, src/types/* | 기존 auth 타입/흐름 | user gesture 보존 (chrome.sidePanel.open은 await 직전 호출 금지), refresh hook 패턴, Accounts 타입 일관성 |
전문가 통합 점검:
dataflow)변경분에서 세션·picker·이슈 구성 관련 데이터 흐름 이슈를 찾는다.
하위 에이전트 분배 (변경이 있는 영역만):
| 하위 에이전트 | 영역 diff | 참조 파일 (패턴 비교) | 체크 |
|---|---|---|---|
| content-picker | src/content/* | 기존 picker/CSS 코드 | 토큰 resolve 룰 (--_* 끝까지 펼침, public 첫 이름 멈춤), ensureCssCacheLoaded() 호출 위치, CSSOM shorthand cache, 메시지 비동기 응답 (return true + IIFE) |
| panel-session-issue | src/sidepanel/**/* | 기존 세션/이슈 코드 | editor:${tabId} 키, phase별 보존 룰 (styling 폐기 / drafting·previewing·done 보존), 4종 빌트인 섹션, POST_MEDIA 위치 룰, 마이그레이션 가드 멱등성, (없음) 빈 paragraph |
| store-lib-types | src/store/*, src/lib/*, src/types/* | 기존 store/타입 정의 | chrome.storage.session vs local 구분, session-keys 상수 ↔ 사용처, store 마이그레이션 체인, PlatformId union exhaustive, BgRequest union ↔ handler ↔ BG_REQUEST_TYPES 일치 |
전문가 통합 점검:
codehealth)변경분에서 코드 스타일·품질 이슈를 찾는다.
하위 에이전트 분배 (변경이 있는 영역만):
| 하위 에이전트 | 영역 diff | 참조 파일 (패턴 비교) | 체크 |
|---|---|---|---|
| bg-content | src/background/*, src/content/*, oauth-proxy/* | 인접 파일 스타일 | @/ 경로, 주석 최소화 (WHY만 한 줄), 불필요한 추상화·shim, race condition, 보안 (XSS, 외부 fetch URL) |
| panel | src/sidepanel/**/* | 인접 컴포넌트 스타일 | @/ 경로, 주석, 데드 코드 (미사용 import/컴포넌트), 중복 로직, await로 user gesture 소실 가능성 |
| store-lib-types | src/store/*, src/lib/*, src/types/*, src/i18n/* | 인접 파일 스타일 | @/ 경로, export 정리, 타입 파일 관심사 분리, any/타입 단언 남발, 유틸 중복 |
전문가 통합 점검:
@/ vs 상대 경로 혼용활성 에이전트가 2개 이상일 때만 수행. 에이전트 결과가 돌아온 뒤, 메인 스레드에서 에이전트를 가로지르는 이슈를 추가 점검:
각 발견을 라벨 하나로 분류해 그룹별로 출력:
시급도 그룹과 무관하게 전체 연번을 매긴다 (사용자가 "3번 고쳐" 식으로 지칭할 수 있도록).
에이전트가 복수 활성이면 각 항목에 출처 태그 [에이전트] 표기. 단일 에이전트면 태그 생략.
1. [ui] 파일:줄 — 한국어 한 줄 요약. (근거: AGENTS.md "X" 룰 / 패턴 Y 위반)
2. [security] 파일:줄 — …
코드 수정 제안은 한 줄까지만. 패치는 만들지 않는다.
발견 0개면 "✅ 큰 문제 없음." 한 줄로 종료.
보고 마지막에 통계 요약:
---
리뷰 범위: <base> 대비 / <agent> [+ <agent>]
활성 에이전트: N개
변경 파일: N개
발견: 🔴 X · 🟡 Y · ⚪ Z (합계 N)
여기서 끝. 후속 질문·액션 없음. 사용자가 보고를 보고 직접 결정한다.
pnpm build, pnpm typecheck 호출하지 않는다.Based on SOC occupation classification
코드베이스 전체를 컨벤션·패턴 기준으로 감사. 리포트 전용 — fix·빌드·커밋 안 함.
pnpm build 실행 후 결과 요약
웹스토어 배포 (main 가드 → tag push → 스토어 빌드 → zip → GitHub Release draft → 심사 요청 안내)
저장소 문서(Codex/DIRECTORY/ARCHITECTURE/DESIGN/README/PERMISSION/privacy/AUTHORING)를 문서별 전담 에이전트가 병렬로 코드베이스와 양방향 대조(사실오류 + 누락 커버리지)해 stale 탐지 → 통합 리포트 → 항목별 확인 → 수정. guide/ko·en 본문은 제외(/guide 전담). 빌드 안 함.
e2e 전체 스위트 실행 + 리포트 전용. fix·spec 수정 금지. green & 클린 트리면 e2e/.last-green에 커밋 해시 기록.
e2e 시나리오를 Playwright spec으로 변환하고 실행-수정 루프로 green까지 자기완결. 유일하게 빌드(build:e2e)가 허용되는 작성 단계.