--- name: remove-ai-comments description: Removes redundant, obvious, or "AI-flavored" comments from code to improve signal-to-noise ratio. Use when the user asks to "clean up comments", "remove AI comments", or makes a general request to refactor verbose code documentation. --- # Remove "AI-Flavored" Comments ## Purpose This skill guides the removal of low-value comments often generated by AI coding assistants. These comments typically narrate the code structure, state the obvious, or use verbose "tutorial style" explanations that clutter professional codebases. ## Identification Guide Identify and remove comments that fall into these categories: ### 1. The "Narrator" Comments that announce the start of a standard coding construct. * **Remove**: `// Begin function` * **Remove**: `// Loop through the array` * **Remove**: `// Define variables` * **Remove**: `// Initialize class` * **Remove**: `// End of if statement` ### 2. The "Translator" Comments that merely translate the code line into English without adding context. * **Remove**: `i += 1 // Increment i` * **Remove**: `return result // Return the result` * **Remove**: `print(error) // Print the error` ### 3. The "Step-by-Step" (AI Tutorial Style) Numbered steps that explain standard logic flows. * **Remove**: `// Step 1: Get the data` * **Remove**: `// Step 2: Validation` * **Remove**: `// Step 3: Return response` ### 4. The "Placeholder" Empty or content-free comments left over from templates. * **Remove**: `// TODO: implementation` (only if the implementation is already there) * **Remove**: `/* Your code here */` ## Retention Rules (When NOT to remove) Do **NOT** remove: * **Docstrings/JSDocs**: API documentation describing inputs, outputs, and public interfaces. * **"Why" Comments**: Explanations of *why* a decision was made (e.g., specific workarounds, optimizations, business logic reasoning). * **Warnings**: `WARNING`, `CAUTION`, or notes about side effects. * **Todos**: Actionable `TODO` or `FIXME` items (unless the user specifically asks to clear them). ## Workflow 1. **Analyze**: Read the target file to understand its purpose. 2. **Evaluate**: Look at the comments. Run `python scripts/comment_density.py ` (if available) to gauge initial density. 3. **Process**: * Iterate through comments. * If a comment matches the "Identification Guide" for removal, delete it. * If a comment explains complex logic, *keep it* or *refine it* if it's too verbose. 4. **Cleanup**: Remove any resulting double empty lines or trailing whitespace. ## Example **Before (AI Style):** ```python # Import the datetime library import datetime # Function to get the current date def get_date(): # Step 1: Get today's date today = datetime.date.today() # Step 2: Return it return today ``` **After (Cleaned):** ```python import datetime def get_date(): return datetime.date.today() ```