一键导入
comment-review
Review comments and suggest cleanup (identify unnecessary comments, recommend improvements). Use to aggressively clean up comment debt in code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Review comments and suggest cleanup (identify unnecessary comments, recommend improvements). Use to aggressively clean up comment debt in code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Transform verbose natural language requests into structured bilingual documentation (Korean for review + English for AI prompts). Use when you need to clarify and structure a complex request before implementation.
Review current git changes or latest commit using code-reviewer and architect-reviewer agents. Use after completing code changes to get comprehensive quality feedback.
Identify and safely remove dead code, deprecated code, and unused exports from codebase. Use when you need to clean up unused or obsolete code.
Generate business rule documentation from domain knowledge and requirements. Use when you need to document complex business logic or domain rules.
Implement UI E2E tests sequentially using Playwright MCP, stop on bug discovery. Use after e2e-ui-research to implement the planned test scenarios.
Fix bugs from e2e-ui-execute bug reports with Playwright MCP verification. Use after discovering bugs during E2E test execution.
| name | comment-review |
| description | Review comments and suggest cleanup (identify unnecessary comments, recommend improvements). Use to aggressively clean up comment debt in code. |
| disable-model-invocation | true |
Aggressively identify and remove unnecessary comments. Code must speak for itself.
Core Principle: If code needs a comment, the code is wrong. Fix the code first.
Default Stance: When in doubt, REMOVE. Comments are technical debt.
$ARGUMENTS
Interpretation Priority:
--all for entire project, etc.)git status for uncommitted changes--all or "review entire codebase")Rule of thumb: If you're writing a comment, pause and ask "How can I eliminate this with better code?"
These are the exclusive cases where comments are allowed. Everything else MUST be removed or refactored.
| Category | Strict Criteria | Valid Examples |
|---|---|---|
| Public API Docs | External-facing APIs ONLY. Private code = no docs needed. | @param userId - The unique identifier (but NOT for internal helper functions) |
| Business Logic WHY | ONLY when domain knowledge is truly external to code | "Due to GDPR Article 17, data must be retained for 7 years" |
| External Dependencies | Third-party API constraints NOT under your control | "Stripe webhook retries 3 times with exponential backoff" (cite documentation URL) |
| Performance/Security Warnings | Counter-intuitive decisions that would surprise reviewers | "Intentionally O(n²) - n never exceeds 5 per domain requirements" |
| Complex Patterns | ONLY when pattern itself is inherently cryptic (rare) | Regex breakdown - but first try to simplify the regex itself |
| Legal/License | Copyright headers, license attribution | "MIT License", "Patent US1234567" (required by law) |
| TODO/FIXME | Must have: owner, ticket, deadline or removal condition | // TODO(@username): #1234 Remove after Q2 migration completes |
Default assumption: Every comment should be REMOVED unless it strictly matches a legitimate case above.
| Type | Example | Why It's Wrong | Fix |
|---|---|---|---|
| Code flow narration | // loop through users | Code already says this | DELETE - for (const user of users) is clear |
| Obvious explanation | // increment counter above counter++ | Insults reader's intelligence | DELETE |
| Name compensation | // get user data above getData() | Function name is wrong | Rename to getUserData(), DELETE comment |
| WHAT instead of WHY | // validates email format | Function name should convey this | Rename to isValidEmailFormat(), DELETE |
| Closing brace labels | } // end if | Indentation shows structure | DELETE - proper formatting makes this obvious |
| Section dividers | // ===== Validation ===== | Signals function is too large | Extract to separate function, DELETE divider |
| Commented-out code | // oldFunction() | Git history exists for a reason | DELETE - use git log if you need old code |
| Outdated/lying | Comment contradicts actual code | Dangerous misinformation | DELETE IMMEDIATELY - this causes bugs |
Aggressive Rule: If a comment explains WHAT the code does (as opposed to WHY), it must be REMOVED.
| Type | Problem | Required Action |
|---|---|---|
| Unclear TODO | // TODO: fix later | MANDATORY: Add owner, ticket, condition |
| WHAT explanation | // Validates user input | Rename function to validateUserInput(), DELETE |
| Verbose explanation | Multi-paragraph comment block | Extract to documentation file, link in code comment |
| Scattered business logic | Same rule duplicated across files | Consolidate to ONE place, reference via naming |
Strict criteria - ALL of these must be true:
git status --porcelain
Decision Tree:
git diffgit show HEAD--all) → Full project scanLanguage-specific patterns:
//, /* */, /** *///, /* */#, """ """{/* */}, <!-- -->For each comment:
1. Does it match EXACTLY one of the 7 legitimate categories?
NO → REMOVE
2. Can the information be expressed through better code?
YES → REMOVE (suggest refactoring)
3. Does it explain WHAT instead of WHY?
YES → REMOVE
4. ALL checks passed?
→ KEEP (but verify it's truly necessary)
## Comment Review: {file_path}
### REMOVE Immediately ({count})
**Line {n}**: `{comment}`
**Why**: {brief reason}
**Action**: DELETED
### IMPROVE or Remove ({count})
**Line {n}**: `{comment}`
**Problem**: {issue}
**Options**:
1. Refactor to `{better_code}` and DELETE comment
2. If refactoring is blocked, improve to: `{better_comment}`
**Recommendation**: Option 1
### KEEP ({count})
**Line {n}**: `{comment}` - External API constraint, properly documented
Your role: Enforce high standards. Be direct, assertive, and uncompromising.
Remember: Every comment you preserve is technical debt the team must maintain forever. Be ruthless.