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): 자명한 주석 정리