con un clic
ai-smell-review
Remove AI-generated code smells. Make code look human-written.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Remove AI-generated code smells. Make code look human-written.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Read-only quality scan of components. Reports problems without making changes. Uses software-base + domain profile skills.
Refactoring patterns - improving code design without changing behavior
Read-only quality scan of components. Reports problems without making changes. Uses software-base + domain profile skills.
Internal phase: independent Codex review + targeted fixes. Not user-facing.
Find duplicated code and consolidate into shared utilities. Fixes all duplicates.
Reference templates for Codex evaluation. Used by build/improve orchestrators — not executed directly.
| name | ai-smell-review |
| description | Remove AI-generated code smells. Make code look human-written. |
Hunt and remove AI-generated code patterns. Make code look like a skilled human wrote it.
No arguments? Describe this skill and stop. Do not execute.
mkdir -p .claude && echo '{"skill":"ai-smell-review","started":"'$(date -Iseconds)'"}' > .claude/active-workflow.json
createUserService() that just returns new UserService() → delete factoryif (x !== undefined && x !== null && x) → just if (x)// increment counter above counter++ → delete// loop through users above for (user of users) → delete// return the result above return result → deleteoptions?: { verbose?: boolean } never set to true → removeResult<T, E> when you just throw → throwResponse<T> that's always { data: T } → just return TMaybe<T> when null works fine → use nulluserDataObjectInstance → userisCurrentlyProcessingRequest → processinggetAllUsersFromDatabase → getUsersutils/helpers/formatters/stringFormatters.ts → flatten## AI Smell Removal: [target]
SMELLS_FOUND:
- [file:line] [smell type]: [description]
SMELLS_FIXED:
- [file:line] [smell type] → [what was done]
LINES_REMOVED: N
ABSTRACTIONS_INLINED: N
COMMENTS_DELETED: N
TESTS_PASS: yes
AI_SMELL_REVIEW_COMPLETE
After fixing all smells, record NEW findings so earlier phases stop generating them.
Write to TWO files:
.claude/lessons.mdAppend the specific finding with file paths and context:
## {date} - {target path}
### AI Smell Review Found (ai-smell-review)
- {CATEGORY}: {specific description with file:line} → {which earlier phase should catch this and how}
.claude/universal-lessons.mdRead this file first. If the general pattern is already listed, skip. If it's a NEW general pattern not already covered, append it to the appropriate section (AI_SMELL Patterns, CODE_QUALITY Patterns, or DESIGN Patterns). Write the general rule, not the project-specific instance:
### {Pattern Name}
- {General description of the AI smell, not tied to specific files} → {how to avoid it}
Categories and where they route:
Common AI smell findings that indicate earlier-phase gaps:
If no new lessons were learned (already in both files), skip this step.
After fixing smells:
Your turn ends here. Output AI_SMELL_REVIEW_COMPLETE and STOP.