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 staged | staged만 검사 |
--scope uncommitted | unstaged + staged |
--fix (기본) | 기계적 수정 자동 적용 |
--check-only | 리포트만, 파일 수정 없음 |
자동 수정 항목 (A·B류)
| 항목 | 수정 내용 |
|---|---|
| SPDX 헤더 | 새 Python 파일 첫 줄에 # SPDX-License-Identifier: Apache-2.0 추가 |
assert → raise | assert x → if not x: raise ValueError(...) |
Optional[X] | X | None으로 교체 |
| bare generic | list → list[T], dict → dict[K, V] 등 |
| lazy import | 파일 상단으로 이동 (torch 순서 유지) |
| logging | logging.getLogger → init_logger(__name__) |
| log level | 저장/조회 진행 로그 INFO → DEBUG |
| 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 '제목']
동작 순서:
- remote 확인 (fork vs upstream 구분)
- 브랜치 push 여부 확인 — push 안 됐으면 경고 후 중단 (push는 절대 안 함)
.github/PULL_REQUEST_TEMPLATE.md읽기git log,git diff분석 → PR 초안(제목 + 본문) 작성- 사용자 확인 후 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단계 리뷰 프로세스:
| 단계 | 내용 |
|---|---|
| 0 | docs/coding_standards.md + AGENTS.md 로드 |
| 1 | PR 메타데이터·diff·변경 파일 파악, design doc 확인 |
| 2 | Design doc 준수 여부 (계약·불변식·가정 검토) |
| 3 | 코딩 품질 (타입·docstring·함수 설계·import·logging) |
| 4 | Caller impact — 변경된 공개 심볼의 전체 repo 호출자 검증 |
| 5 | Thread safety (락 granularity, 공유 상태 보호) |
| 6 | 테스트 커버리지 (신규 기능·버그픽스 회귀 테스트) |
| 7 | PR scope (너무 크면 분리 제안) |
심각도:
| 심각도 | 의미 | 예시 |
|---|---|---|
error | 머지 전 필수 수정 | SPDX 누락, docstring 없음, 테스트 없음, broken caller |
warning | 권장 수정 | docstring 불충분, 구현 세부사항 테스트 |
info | 비필수 제안 | 변수명 개선, 사소한 리팩터링 |
PR이 깔끔하면 "PR is clean"으로 끝. 불필요한 칭찬 없음.
관련 페이지
- [[LMCache-기여-가이드]] — PR 제목 형식, 이슈 등록 기준, 팀 PR 패턴
- [[LMCache-아키텍처]] — 손댈 모듈과
docs/design/위치 관계