본문으로 건너뛰기

LMCache Claude Code Skills

[!tldr] 업무 관점 takeaway PR 제출 전 /pre-pr-check/create-pr 순서로 실행. 남의 PR 리뷰는 /pr-review <번호>. 세 skill 모두 docs/coding_standards.md 기준으로 동작 — 수동 lint 체크 대신 이걸 써야 한다.


워크플로우 전체 그림

[내 변경]

/pre-pr-check ← 코딩 표준 자동 점검 + 수정

pre-commit run --all-files

/create-pr ← PR 초안 작성 + upstream 제출

(리뷰어) /pr-review <번호> ← 상세 코드 리뷰

/pre-pr-check

목적: PR 올리기 전 로컬 변경을 코딩 표준에 맞게 검사하고 자동 수정.

호출:

/pre-pr-check [--scope uncommitted|staged|branch] [--fix|--check-only]
옵션설명
--scope branch (기본)dev...HEAD 전체 diff — 리뷰어가 보는 범위와 동일
--scope stagedstaged만 검사
--scope uncommittedunstaged + staged
--fix (기본)기계적 수정 자동 적용
--check-only리포트만, 파일 수정 없음

자동 수정 항목 (A·B류)

항목수정 내용
SPDX 헤더새 Python 파일 첫 줄에 # SPDX-License-Identifier: Apache-2.0 추가
assertraiseassert xif not x: raise ValueError(...)
Optional[X]X | None으로 교체
bare genericlistlist[T], dictdict[K, V]
lazy import파일 상단으로 이동 (torch 순서 유지)
logginglogging.getLoggerinit_logger(__name__)
log level저장/조회 진행 로그 INFODEBUG
docstring 누락/오래됨공개 함수 docstring 자동 작성 또는 갱신

수동 검토 필요 항목 (C류, 플래그만)

  • cross-class private 접근 (other._attr)
  • 테스트 없는 신규 기능 / 회귀 테스트 없는 버그픽스
  • boolean 파라미터 (enum 또는 함수 분리 권장)
  • error path에서 락/FD/풀 해제 누락
  • caller impact — 공개 심볼 시그니처 변경 시 전체 repo 호출자 검증

/create-pr

목적: 현재 브랜치에서 upstream LMCache repo로 PR 자동 생성.

호출:

/create-pr [base_branch] [--draft] [--title '제목']

동작 순서:

  1. remote 확인 (fork vs upstream 구분)
  2. 브랜치 push 여부 확인 — push 안 됐으면 경고 후 중단 (push는 절대 안 함)
  3. .github/PULL_REQUEST_TEMPLATE.md 읽기
  4. git log, git diff 분석 → PR 초안(제목 + 본문) 작성
  5. 사용자 확인 후 PR 생성

[!note] --draft 붙이면 Draft PR. 구현은 됐지만 설계 논의 중일 때 사용 (daegyu94 #3305 패턴).

PR 본문 형식 (.github/PULL_REQUEST_TEMPLATE.md 기반):

**What this PR does / why we need it**:

**Special notes for your reviewers**:

- [ ] this PR contains user facing changes - docs added
- [ ] this PR contains unit tests

/pr-review

목적: 남의 PR을 docs/coding_standards.md 기준으로 상세 리뷰.

호출:

/pr-review <PR번호 또는 URL>

7단계 리뷰 프로세스:

단계내용
0docs/coding_standards.md + AGENTS.md 로드
1PR 메타데이터·diff·변경 파일 파악, design doc 확인
2Design doc 준수 여부 (계약·불변식·가정 검토)
3코딩 품질 (타입·docstring·함수 설계·import·logging)
4Caller impact — 변경된 공개 심볼의 전체 repo 호출자 검증
5Thread safety (락 granularity, 공유 상태 보호)
6테스트 커버리지 (신규 기능·버그픽스 회귀 테스트)
7PR scope (너무 크면 분리 제안)

심각도:

심각도의미예시
error머지 전 필수 수정SPDX 누락, docstring 없음, 테스트 없음, broken caller
warning권장 수정docstring 불충분, 구현 세부사항 테스트
info비필수 제안변수명 개선, 사소한 리팩터링

PR이 깔끔하면 "PR is clean"으로 끝. 불필요한 칭찬 없음.


관련 페이지

  • [[LMCache-기여-가이드]] — PR 제목 형식, 이슈 등록 기준, 팀 PR 패턴
  • [[LMCache-아키텍처]] — 손댈 모듈과 docs/design/ 위치 관계