원클릭으로
source-command-refactor
audit·code-review 리포트에서 지정한 항목을 수정 반영. 테스트 먼저(TDD red) → 수정 → 병렬 자체 검증 + CTO 게이트로 자기완결. 빌드·커밋 안 함.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
audit·code-review 리포트에서 지정한 항목을 수정 반영. 테스트 먼저(TDD red) → 수정 → 병렬 자체 검증 + CTO 게이트로 자기완결. 빌드·커밋 안 함.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
코드베이스 전체를 컨벤션·패턴 기준으로 감사. 리포트 전용 — fix·빌드·커밋 안 함.
pnpm build 실행 후 결과 요약
변경된 코드를 시급도별로 보고. 리포트 전용 — fix·빌드·커밋 안 함.
웹스토어 배포 (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에 커밋 해시 기록.
| name | source-command-refactor |
| description | audit·code-review 리포트에서 지정한 항목을 수정 반영. 테스트 먼저(TDD red) → 수정 → 병렬 자체 검증 + CTO 게이트로 자기완결. 빌드·커밋 안 함. |
Use this skill when the user asks to run the migrated source command refactor.
/audit·/code-review가 뱉은 발견 목록 중 사용자가 지정한 항목을 실제로 고치는 단계 전용 스킬. 리포트는 진단, /refactor는 그 처방의 실행이다. AGENTS.md 권장 흐름의 "픽스/리팩터" 칸을 채운다.
구조는 /implement와 동일한 자기완결 골격: 수정 본체는 메인 스레드 단일 실행이고, 병렬은 ① 수정 전 조사(Explore 병렬)와 ② 수정 후 자체 검증(전문 에이전트 병렬) 두 군데에만. 차이는 입력이 "신규 tasks/테스트"가 아니라 이미 진단된 기존 코드의 발견 항목이라는 점.
순서 원칙 — 테스트 먼저(TDD red → 수정 → green). 리포트 항목을 정리·분류한 뒤, 손대기 전에 /tdd의 regression 규율대로 고칠 발견을 재현하는 실패 테스트를 먼저 박는다. 픽스 전에 red를 확인해야 "진짜 그 버그를 잡았다"가 보장된다. 그다음 수정으로 green 전환한다(컴포넌트·DOM·OAuth 등 TDD 스킵 대상은 이유 남기고 사후 검증).
이 스킬의 핵심 가드: 무차별 수정 금지. 지정 항목이라도 회귀 위험·트레이드오프가 있으면 강행 전에 방향을 확인한다 (리포트의 발견은 "고칠 수 있다"이지 "고쳐야 안전하다"가 아니다).
/refactor <지정> — 직전 /audit·/code-review 리포트에서 고칠 항목을 번호·키워드·시급도로 지정.
/refactor 1 3 5 · /refactor FIFO 통일이랑 settle 보강 · /refactor 🔴 전부 · /refactor 다 고쳐/audit·/code-review를 먼저 권한다(자동 실행하지 않음)./audit·/code-review — 리포트 전용. 진단만, fix 안 함./implement — 신규 구현(tasks/테스트 기반). 없던 코드를 만든다./simplify — 변경분(git diff) 재검토 후 fix. 스코프가 리포트가 아니라 diff./refactor ← 여기. 리포트 지정 항목 수정. 진단을 처방으로 옮긴다. 빌드·커밋 안 함./push — 푸시 + 문서 신선도.사용자 지정(번호/키워드/시급도/"전부")을 직전 리포트에 매핑해 수정 대상을 추린다. 매핑이 모호하면 확인한다.
지정 안 된 항목은 건드리지 않는다 (외과적).
추린 항목을 세 부류로 분류한다 — 이 분류가 이 스킬의 본질이다:
| 부류 | 판단 기준 | 처리 |
|---|---|---|
| 안전 수정 | 동작 불변·국소·근거 명확 (상수 추출, 의존성 정리, 데드 코드 제거 등) | 바로 고침 |
| 회귀 위험 / 트레이드오프 | 정상 동작에 영향·정책 결정 필요 (FIFO 정책, 타임아웃 상향, race 보강 등) | 강행 전 AskUserQuestion으로 방향 확인 |
| 수정 부적절 | 의도된 설계·견고한 수정 불가·/AGENTS.md 원칙 위반(요청 안 한 추상화 등) | 이유 달아 보고하고 스킵 제안 |
사용자가 "전부"로 지정했어도 위 분류는 적용한다 — 회귀 위험 항목까지 묻지도 않고 일괄 수정하지 않는다.
멀티 항목이면 TaskCreate로 추적. 단계마다 완료 즉시 마킹.
손대기 전, 각 항목의 영향 영역 기존 패턴·참조 파일·제약을 병렬로 수집한다. read-only라 충돌이 없다.
대상이 한 파일·한 영역에 집중되면 Explore 없이 직접 Read.
착수 전 회고 조회 (메인, 값싸다). Explore와 병행해, 수정 대상 파일·영역 키워드로 docs/POSTMORTEM.md를 grep한다 — 이 파일은 같은 자리에서 반복해 터진 버그의 재발 방지 신호(grep 패턴·file:func)를 담는다. 매칭 항목의 증상·근본 원인·재발 방지를 읽고, 이번 수정이 그 함정을 다시 밟지 않는지(그리고 3단계 회귀 테스트가 그 재발까지 덮는지) 확인한다. 매칭 0이면 한 줄로 넘어간다.
grep -ni -e '<수정 파일명>' -e '<영역 키워드>' docs/POSTMORTEM.md
예: StyleCssView·CSS 뷰 수정이면 -e StyleCssView -e 'CSS 뷰' -e cross-origin. (영역 키워드는 회고 제목의 반복어 — cross-origin·picker·slack·i18n·마이그레이션·user gesture·capture 등.)
수정에 손대기 전, /tdd의 regression 규율대로 고칠 발견을 재현하는 실패 테스트를 먼저 박는다. 이 단계가 이 스킬의 "테스트 우선" 게이트다.
/tdd의 강제/스킵 분류표로 테스트 대상 여부를 판정한다:
src/lib/*·src/sidepanel/lib/build*·parse/format/extract), 마이그레이션, 초기값·reconcile, 정규식·매핑 테이블, 부수효과 없는 mapper, 재현되는 버그.__tests__/*.test.ts에 케이스 추가가 자연스러우면 신규 파일 금지.pnpm test --run <파일>로 red 확인. 예상과 달리 green이면 테스트가 버그를 재현 못 하는 것 — 입력·기대값 재검토.@/ → src/. 주석 최소화(WHY 비자명할 때 한 줄). UI는 shadcn/ui 우선.BgRequest union + handler + BG_REQUEST_TYPES 3곳 / 노출 텍스트 → i18n ko·en / 새 store 키 → session-keys + 마이그레이션 / 어댑터 변경 → 플랫폼 대칭.pnpm test --run <파일>로 확인.__tests__/*.test.ts, 도구 Vitest). 동작 불변 리팩터(상수 추출 등)면 기존 테스트 통과로 갈음.pnpm test --run 전체 + pnpm typecheck 통과 확인.pnpm build는 돌리지 않는다.수정이 끝나면 이번 변경분(git diff, 미커밋)을 전문 에이전트 병렬로 검증한다. 변경 영역에 해당하는 에이전트만 활성화.
| 키워드 | 관점 | 핵심 |
|---|---|---|
ui | UI/UX·i18n | shadcn/ui, 버튼 사이즈, IconButton(h-8/h-9), Tailwind 변수, data-[state=inactive]:hidden, ko/en 대칭 |
security | 인증·MV3 | OAuth proxy, 토큰 갱신, user gesture, MAIN world self-contained, env 가드 |
dataflow | 세션·picker·이슈 | editor:${tabId} 키, phase별 보존, 섹션 구성, 토큰 resolve, 마이그레이션 멱등성, union 3곳 일치 |
codehealth | 스타일·품질 | @/ 경로, 주석 최소화, 데드 코드, 불필요한 추상화·shim, race condition |
각 에이전트(subagent_type: general-purpose)에게 전달:
git diff 중 자기 영역 변경 파일에이전트는 파일:줄 — 요약 (근거) + 시급도(🔴/🟡/⚪)로 보고. 변경이 한 영역에 집중되면 단일 에이전트로 충분.
영역별 4관점이 놓치는 크로스-커팅 이슈를 단일 CTO 에이전트가 총괄 점검한다.
CTO 에이전트(subagent_type: general-purpose, "CTO" 페르소나)에게 전달:
git diff 전체CTO가 보는 것 (영역별 세부는 반복 안 함):
CTO는 파일:줄 — 요약 (근거) + 시급도로 보고만. 메인 스레드가 🔴/🟡 수정, ⚪는 보고에 남기고, 5단계 테스트·typecheck 재확인. 변경이 작으면 "이슈 없음" 한 줄로 통과 무방.
대상 리포트: <audit / code-review · 지정: 항목들>
수정 항목: 고침 N · 확인 후 처리 M · 스킵 K
- 고침: <항목 — 변경 파일:줄 한 줄>
- 확인 후 처리: <항목 — 사용자가 정한 방향 / 보류>
- 스킵(부적절): <항목 — 이유>
회귀 테스트(TDD): red→green N개 · TDD 스킵 K개(이유)
- <항목 — 테스트 파일:케이스 / 또는 스킵 이유>
변경 파일:
- <경로> — <한 줄 요약>
자체 검증(4관점): <활성 에이전트> / 발견 🔴 X · 🟡 Y · ⚪ Z
- 수정함: <🔴/🟡 한 줄씩>
- 미수정(⚪): <한 줄씩>
CTO 최종 게이트: 이슈 없음 / 발견 🔴 X · 🟡 Y · ⚪ Z
- 수정함: <한 줄씩>
테스트: pnpm test 전체 green (N tests) / typecheck 통과
원 발견 해소: <지정 항목별 해소됨 / 보류 — 이유>
/code-review·/tdd regression·/push 등 후속 스킬을 자동 제안·실행하지 않는다.pnpm build 안 돌리고, staging·commit 안 한다.