code-smell-detector

Automated detection of code smells and anti-patterns to identify refactoring opportunities

509 stars

Best use case

code-smell-detector is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Automated detection of code smells and anti-patterns to identify refactoring opportunities

Teams using code-smell-detector 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

$curl -o ~/.claude/skills/code-smell-detector/SKILL.md --create-dirs "https://raw.githubusercontent.com/a5c-ai/babysitter/main/library/specializations/code-migration-modernization/skills/code-smell-detector/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/code-smell-detector/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How code-smell-detector Compares

Feature / Agentcode-smell-detectorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Automated detection of code smells and anti-patterns to identify refactoring opportunities

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

SKILL.md Source

# Code Smell Detector Skill

Automated detection of code smells, anti-patterns, and design issues that indicate deeper problems in the codebase. This skill identifies refactoring opportunities and prioritizes them by impact.

## Purpose

Enable systematic detection of code smells for:
- Refactoring prioritization
- Technical debt identification
- Code quality improvement
- Migration preparation
- Design pattern violations

## Capabilities

### 1. Long Method Detection
- Identify methods exceeding line thresholds
- Analyze parameter counts
- Detect high cyclomatic complexity
- Suggest extraction candidates

### 2. Large Class Identification
- Detect classes with too many responsibilities
- Identify god classes
- Analyze class cohesion
- Suggest decomposition strategies

### 3. Feature Envy Analysis
- Find methods using other classes' data excessively
- Identify misplaced functionality
- Suggest method relocation
- Map cross-class dependencies

### 4. Primitive Obsession Detection
- Identify overuse of primitives
- Find missing value objects
- Detect stringly-typed code
- Suggest domain type extraction

### 5. Parallel Inheritance Hierarchy
- Detect mirrored class hierarchies
- Identify inheritance coupling
- Suggest hierarchy consolidation
- Map inheritance relationships

### 6. Shotgun Surgery Detection
- Identify changes requiring multiple file edits
- Detect scattered functionality
- Map change propagation patterns
- Suggest consolidation points

### 7. God Class Identification
- Detect classes doing too much
- Analyze responsibility distribution
- Calculate lack of cohesion metrics
- Suggest single responsibility refactoring

## Tool Integrations

| Tool | Purpose | Integration Method |
|------|---------|-------------------|
| SonarQube | Code smell detection | MCP Server / API |
| PMD | Java smell detection | CLI |
| IntelliJ IDEA | IDE-based analysis | CLI / Export |
| Designite | Design smell detection | CLI |
| ast-grep | Pattern-based detection | MCP Server / CLI |
| ESLint | JavaScript smell rules | CLI |

## Output Schema

```json
{
  "analysisId": "string",
  "timestamp": "ISO8601",
  "target": {
    "path": "string",
    "filesAnalyzed": "number"
  },
  "smells": [
    {
      "type": "string",
      "severity": "high|medium|low",
      "file": "string",
      "line": "number",
      "element": "string",
      "description": "string",
      "metrics": {},
      "refactoringSuggestion": "string",
      "estimatedEffort": "string"
    }
  ],
  "summary": {
    "totalSmells": "number",
    "byType": {},
    "bySeverity": {},
    "hotspots": []
  }
}
```

## Integration with Migration Processes

- **code-refactoring**: Primary smell identification
- **technical-debt-remediation**: Debt quantification
- **legacy-codebase-assessment**: Quality assessment

## Related Skills

- `static-code-analyzer`: Broader quality analysis
- `refactoring-assistant`: Smell remediation
- `dead-code-eliminator`: Unused code removal

## Related Agents

- `code-transformation-executor`: Executes refactorings
- `technical-debt-auditor`: Prioritizes debt remediation

Related Skills

homoglyph-detector

509
from a5c-ai/babysitter

Byte-level Unicode homoglyph detection for identifying invisible character substitutions in code

geant4-detector-simulator

509
from a5c-ai/babysitter

Geant4 detector simulation skill for particle transport, detector geometry, and physics process modeling

structural-variant-detector

509
from a5c-ai/babysitter

Structural variant detection skill for identifying CNVs, inversions, translocations, and complex rearrangements

fusion-gene-detector

509
from a5c-ai/babysitter

Gene fusion detection skill for oncology applications with multiple caller integration

memory-leak-detector

509
from a5c-ai/babysitter

Detect memory leaks in desktop applications through heap analysis and object tracking

fairlearn-bias-detector

509
from a5c-ai/babysitter

Fairness assessment skill using Fairlearn for bias detection, mitigation, and compliance reporting.

evidently-drift-detector

509
from a5c-ai/babysitter

Evidently AI skill for data drift detection, model performance monitoring, target drift analysis, and automated reporting for ML systems in production.

terminal-capability-detector

509
from a5c-ai/babysitter

Detect terminal capabilities including color support, TTY status, size, and Unicode support for adaptive CLI output.

prompt-injection-detector

509
from a5c-ai/babysitter

Prompt injection detection and prevention for secure LLM applications

process-builder

509
from a5c-ai/babysitter

Scaffold new babysitter process definitions following SDK patterns, proper structure, and best practices. Guides the 3-phase workflow from research to implementation.

Workflow & Productivity

babysitter

509
from a5c-ai/babysitter

Orchestrate via @babysitter. Use this skill when asked to babysit a run, orchestrate a process or whenever it is called explicitly. (babysit, babysitter, orchestrate, orchestrate a run, workflow, etc.)

yolo

509
from a5c-ai/babysitter

Run Babysitter autonomously with minimal manual interruption.