review-clean-code
Analyze code quality based on "Clean Code" principles. Identify naming, function size, duplication, over-engineering, and magic number issues with severity ratings and refactoring suggestions. Use when the user requests code quality checks, refactoring advice, Clean Code analysis, code smell detection, or mentions terms like code review, code quality, refactoring check.
Best use case
review-clean-code is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Analyze code quality based on "Clean Code" principles. Identify naming, function size, duplication, over-engineering, and magic number issues with severity ratings and refactoring suggestions. Use when the user requests code quality checks, refactoring advice, Clean Code analysis, code smell detection, or mentions terms like code review, code quality, refactoring check.
Teams using review-clean-code should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/review-clean-code/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How review-clean-code Compares
| Feature / Agent | review-clean-code | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Analyze code quality based on "Clean Code" principles. Identify naming, function size, duplication, over-engineering, and magic number issues with severity ratings and refactoring suggestions. Use when the user requests code quality checks, refactoring advice, Clean Code analysis, code smell detection, or mentions terms like code review, code quality, refactoring check.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
SKILL.md Source
# Clean Code Review
Focused on 7 high-impact review dimensions based on "Clean Code" principles.
## Review Workflow
```
Review Progress:
- [ ] 1. Scan codebase: identify files to review
- [ ] 2. Check each dimension (naming, functions, DRY, YAGNI, magic numbers, clarity, conventions)
- [ ] 3. Rate severity (High/Medium/Low) for each issue
- [ ] 4. Generate report sorted by severity
```
## Core Principle: Preserve Functionality
All suggestions target **implementation approach** only—never suggest changing the code's functionality, output, or behavior.
## Check Dimensions
### 1. Naming Issues (Meaningful Names)
Check for:
- Meaningless names like `data1`, `temp`, `result`, `info`, `obj`
- Inconsistent naming for same concepts (`get`/`fetch`/`retrieve` mixed)
```typescript
// ❌
const d = new Date();
const data1 = fetchUser();
// ✅
const currentDate = new Date();
const userProfile = fetchUser();
```
### 2. Function Issues (Small Functions + SRP)
Check for:
- Functions exceeding **100 lines**
- More than **3 parameters**
- Functions doing multiple things
```typescript
// ❌ 7 parameters
function processOrder(user, items, address, payment, discount, coupon, notes)
// ✅ Use parameter object
interface OrderParams { user: User; items: Item[]; shipping: Address; payment: Payment }
function processOrder(params: OrderParams)
```
### 3. Duplication Issues (DRY)
Check for:
- Similar if-else structures
- Similar data transformation/error handling logic
- Copy-paste traces
### 4. Over-Engineering (YAGNI)
Check for:
- `if (config.legacyMode)` branches that are never true
- Interfaces with only one implementation
- Useless try-catch or if-else
```typescript
// ❌ YAGNI violation: unused compatibility code
if (config.legacyMode) {
// 100 lines of compatibility code
}
```
### 5. Magic Numbers (Avoid Hardcoding)
Check for:
- Bare numbers without explanation
- Hardcoded strings
```typescript
// ❌
if (retryCount > 3) // What is 3?
setTimeout(fn, 86400000) // How long is this?
// ✅
const MAX_RETRY_COUNT = 3;
const ONE_DAY_MS = 24 * 60 * 60 * 1000;
```
### 6. Structural Clarity (Readability First)
Check for:
- Nested ternary operators
- Overly compact one-liners
- Deep conditional nesting (> 3 levels)
```typescript
// ❌ Nested ternary
const status = a ? (b ? 'x' : 'y') : (c ? 'z' : 'w');
// ✅ Use switch or if/else
function getStatus(a, b, c) {
if (a) return b ? 'x' : 'y';
return c ? 'z' : 'w';
}
```
### 7. Project Conventions (Consistency)
Check for:
- Mixed import order (external libs vs internal modules)
- Inconsistent function declaration styles
- Mixed naming conventions (camelCase vs snake_case)
```typescript
// ❌ Inconsistent style
import { api } from './api'
import axios from 'axios' // External lib should come first
const handle_click = () => { ... } // Mixed naming style
// ✅ Unified style
import axios from 'axios'
import { api } from './api'
function handleClick(): void { ... }
```
> [!TIP]
> Project conventions should refer to `CLAUDE.md`, `AGENTS.md`, or project-defined coding standards.
## Severity Levels
| Level | Criteria |
|-------|----------|
| High | Affects maintainability/readability, should fix immediately |
| Medium | Room for improvement, recommended fix |
| Low | Code smell, optional optimization |
## Output Format
```markdown
### [Issue Type]: [Brief Description]
- **Principle**: [Clean Code principle]
- **Location**: `file:line`
- **Severity**: High/Medium/Low
- **Issue**: [Specific description]
- **Suggestion**: [Fix direction]
```
## Artifacts (Pipeline Mode)
- Output: `clean-code-review.md` (human-readable report)
- Output: `clean-code-review.json` (structured issue list for aggregation/deduplication/statistics)
## References
**Detailed examples**: See [detailed-examples.md](detailed-examples.md)
- Complete cases for each dimension (naming, functions, DRY, YAGNI, magic numbers)
**Language patterns**: See [language-patterns.md](language-patterns.md)
- TypeScript/JavaScript common issues
- Python common issues
- Go common issues
## Multi-Agent Parallel
Split by the following dimensions for parallel multi-agent execution:
1. **By check dimension** - One agent per dimension (7 total)
2. **By module/directory** - One agent per module
3. **By language** - One agent each for TypeScript, Python, Go
4. **By file type** - Components, hooks, utilities, type definitions
Example: `/review-clean-code --scope=components` or `--dimension=naming`
Deduplication and unified severity rating needed when aggregating.