Remove unnecessary, redundant, or obvious code comments while preserving valuable explanations. Use when cleaning up comments, removing verbose documentation, simplifying inline comments, or preparing code for review.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: clean-comments description: Remove unnecessary, redundant, or obvious code comments while preserving valuable explanations. Use when cleaning up comments, removing verbose documentation, simplifying inline comments, or preparing code for review.
Comment Cleanup
This guide is for removing unnecessary, redundant, or obvious code comments while preserving valuable explanations. Use this when cleaning up verbose documentation or preparing code for review.
Core Principles
- Remove obvious comments: Delete comments that merely restate what the code clearly does (e.g., '// increment counter' above 'counter++')
- Keep complexity explanations: Preserve comments at decision points, complex algorithms, or non-obvious implementations
- Brevity for members: Keep class and function documentation concise - one line when possible, focusing on the 'why' not the 'what'
- Deprecation selectivity: Remove deprecated/outdated code comments unless they provide critical migration context
- Trust readable code: If function names and parameters clearly convey purpose, additional explanation is redundant
Review Criteria
When reviewing code, ask yourself:
- Does this comment add value beyond what well-named code already communicates?
- Does it explain business logic, edge cases, or architectural decisions? → Keep
- Could this comment block be reduced to a single meaningful line? → Simplify
- Is this a TODO/FIXME comment referencing completed work? → Remove
- Would this help a new developer understand non-obvious behavior? → Keep
Batch Processing
- Process max 15 files per session for manageable reviews
- Focus on clarity through code structure rather than excessive documentation
- Preserve only high-value comments that answer questions the code cannot
Examples
❌ Remove (Obvious)
# Increment the counter
counter += 1
# Check if user is None
if user is None:
return
# Loop through items
for item in items:
process(item)
✅ Keep (Valuable)
# Use exponential backoff to avoid overwhelming the API
# Max retries: 3, delays: 1s, 2s, 4s
retry_with_backoff(api_call)
# IMPORTANT: Must validate before save to prevent orphaned records
# See issue #1234 for context
if not validator.check(data):
raise ValidationError
# Performance: O(n log n) - don't change to bubble sort
quicksort(data)
🔄 Simplify (Verbose → Concise)
# Before:
# This function calculates the total price by iterating through
# all items in the cart, multiplying each item's quantity by its
# price, and then summing all the results together to get the final total.
def calculate_total(cart):
return sum(item.quantity * item.price for item in cart)
# After:
# Includes bulk discount calculation for quantities >10
def calculate_total(cart):
return sum(item.quantity * item.price for item in cart)
Output
The output should be the cleaned code with only high-value comments remaining. Each preserved comment should answer questions that the code itself cannot.
Remember: The best comment is often no comment when the code speaks for itself.
More by sorryhyun
View allTest implementation of thin router skill for DiPeO backend. Provides decision criteria and documentation anchors for FastAPI server, CLI (dipeo run/results/metrics/compile/export), SQLite schema, and MCP integration in apps/server/. Use when task mentions CLI commands, server endpoints, database queries, or MCP tools.
Update all import statements, module references, string paths, and config references after moving or renaming files and modules. Handles Python, TypeScript, and JavaScript imports. Use when moving files, renaming modules, restructuring directories, or consolidating code.
Router skill for DiPeO runtime Python code (execution handlers, service architecture, domain models, LLM infrastructure). Use when task mentions node handlers, EventBus, ServiceRegistry, Envelope pattern, or domain logic. For simple tasks, handle directly; for complex work, escalate to dipeo-package-maintainer agent.
Router skill for DiPeO code generation pipeline (TypeScript specs → IR → Python/GraphQL). Use when task mentions TypeScript models, IR builders, generated code diagnosis, or codegen workflow. For simple tasks, handle directly; for complex work, escalate to dipeo-codegen-pipeline agent.
