clean-comments
코드의 불필요한 주석을 식별하고 정리한다. "/clean-comments", "주석 정리해줘", "자명한 주석 빼줘", "이 파일 주석 검토" 같은 발화에 트리거. 주석 정책의 SSOT.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
코드의 불필요한 주석을 식별하고 정리한다. "/clean-comments", "주석 정리해줘", "자명한 주석 빼줘", "이 파일 주석 검토" 같은 발화에 트리거. 주석 정책의 SSOT.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
apps/server (NestJS) 의 jest spec(unit / integration) 을 작성·수정한다. 한국어 행위 제목, given/when/then 주석, when 1번 호출, 구현 의존 단어 금지 규칙을 적용한다. "서버 테스트 작성", "server spec 추가", "이 spec 정리", "/write-server-spec" 같은 발화에 트리거.
PR에 달린 리뷰 코멘트를 읽고, 코드 수정 후 커밋 SHA를 포함한 답글을 달아야 할 때 사용
GitHub PR을 생성한다. "/create-pr", "PR 만들어줘", "PR 올려줘" 같은 발화에 트리거. 현재 브랜치의 변경 사항을 기반으로 PR을 생성한다.
변경 사항을 커밋한다. "/commit", "커밋해줘", "커밋" 같은 발화에 트리거. staged 파일이 없으면 전체 add 후 커밋. 메시지는 Conventional Commits 컨벤션을 따른다.
استنادا إلى تصنيف SOC المهني
| name | clean-comments |
| description | 코드의 불필요한 주석을 식별하고 정리한다. "/clean-comments", "주석 정리해줘", "자명한 주석 빼줘", "이 파일 주석 검토" 같은 발화에 트리거. 주석 정책의 SSOT. |
코드만 읽어도 의도가 드러난다면 주석은 쓰지 않는다. 주석은 코드가 스스로 말하지 못하는 것 (왜·제약·non-obvious한 결정)만 담는다. 이 스킬은 그 정책과 그걸 코드에 적용하는 절차를 함께 정의한다.
// 오늘 방문자 수 → const todayVisits = redis.get(...) 자체로 충분// 게시물 조회수만 증가 → redis.incr(`post:${slug}:views`) 자체로 충분// Redis 클라이언트를 재사용하기 위한 싱글톤 패턴 → 코드 모양이 곧 싱글톤.map(getPostMetadata); // 포스트 메타데이터 추출 — 함수명이 곧 의도// 타이밍 공격 방어 — docs/admin-auth-security.md "사용자 enumeration 방어선" 참조// argon2.verify reject 는 비번 불일치(false)가 아니라 hash 손상(시스템 에러)이다.// 캐시 갱신으로 initial 이 새로 내려와도 사용자가 입력 중이면 덮어쓰지 않게 dirty 체크 후 skip@param/@returns 보일러플레이트는 제거.
apps/admin/src/shared/ui/field.tsx — FieldProps 필드별 /** ... */ 한 줄 설명@param page 페이지 객체 @returns 포스트 메타데이터// ① ... // ② ... 같은 학습용 step, return null; // 화면에 아무것도 렌더링하지 않음 같은 자기참조 주석.
// biome-ignore ..., // @ts-check, /// <reference ...>)apps/server/docs/ 또는 세션 docs/ 의 .md/.html에 두고, 코드에는 // ... — docs/<file> 참조 한 줄만 남긴다.작업 중인 파일에서 위 규칙에 어긋나는 주석을 발견하면 같은 변경 단위에서 함께 정리한다. 단, 수정하지 않은 파일의 주석은 건드리지 않는다 (review noise 방지). 전체 정리가 필요하면 이 스킬을 /clean-comments 로 명시적으로 호출한다.
발화 형태별 기본값:
| 발화 | 대상 |
|---|---|
/clean-comments (인자 없음) | git diff --name-only origin/develop...HEAD 의 변경 파일 |
/clean-comments <경로> | 인자로 지정된 파일/디렉토리 |
/clean-comments staged | git diff --cached --name-only |
주석 정리해줘 (대화 맥락에 파일 있음) | 그 파일 |
대상이 10개 이상이면 사용자에게 묻고 우선순위를 정한다.
각 파일을 읽어 다음 패턴을 표시한다:
제거 후보 (Strong)
@param x ... @returns ... 만 있고 시그니처 이상의 정보가 없는 JSDoc// ① ... // ② ... 같은 학습용 step 주석 (테스트 포함)return null; // 아무것도 안 함 같은 자기참조 주석압축 후보 (Compress)
// ... — docs/<file> 참조 한 줄로 치환유지 (Keep)
// biome-ignore ..., // @ts-check, /// <reference ...>, // eslint-disable-next-line ...후보를 모아 다음 포맷으로 보고하고 AskUserQuestion으로 확인한다:
[file:line] 분류 → 변경안
apps/user-web/app/api/stats/route.ts:8 제거 // 오늘 날짜 (YYYY-MM-DD)
근거: 다음 줄 ``new Date().toISOString().split('T')[0]`` 가 자명
apps/server/src/admin/users/users.service.ts:11-17 압축 /** admin/CMS 사용자 ... */
근거: 클래스명 + admin-auth-security.md 가 책임 명시
대안: 완전 제거
...
진행 옵션:
- (1) 전부 제거/압축
- (2) Strong 만 적용, Compress 는 보존
- (3) 항목별 토글
- (4) 보류
판정이 애매한 항목은 별도 "🤔 판단 필요" 섹션으로 분리해 사용자에게 결정을 위임한다 — 임의로 지우지 않는다.
승인된 항목만 Edit 으로 변경한다. 한 파일 안의 여러 주석은 한 번의 Edit 호출에 합친다.
pnpm check:<app> 으로 lint/format 자동 수정 통과 확인 (변경된 app 만)git diff --stat 으로 변경 규모 보고refactor(<app>): 자명한 주석 정리refactor: 자명한 주석 정리커밋 자체는 /commit 스킬로 위임한다.
@param 만 지우고 함수 시그니처는 그대로 둔다.// ... — docs/X 참조 로 바꾸려면 그 docs 가 실제 존재하고 내용이 맞는지 먼저 확인하고 승인을 받는다.AGENTS.md "코드 스타일 — 주석" 섹션이 이 스킬을 가리킨다.../commit/SKILL.mdgit show 385dbb2 — refactor(server): 자명한 주석 정리