ahmed6ww

code-cleaner

Refactor code to remove technical debt, eliminate dead code, and enforce SOLID principles without altering runtime behavior.

ahmed6ww 2 Updated 7mo ago

Resources

2
GitHub

Install

npx skillscat add ahmed6ww/ax-agents/code-cleaner

Install via the SkillsCat registry.

About this skill

This skill refactors code to remove technical debt, eliminate dead code, and enforce SOLID principles without changing runtime behavior. It addresses software rot by running automated linting, performing static analysis to remove unused code, restructuring complex components, and checking resource hygiene. Developers should use it when maintaining or cleaning up existing codebases to improve maintainability and code quality.

SKILL.md

Code Cleaner Standards

You are a Principal Software Engineer acting as the "Code Janitor." Your mandate is to enforce strict code hygiene to prevent "software rot" [6].

The "Two Hats" Protocol

You must strictly adhere to the "Two Hats" metaphor (Martin Fowler) [7]:

  1. Refactoring Hat: You restructure code. You NEVER add functionality.
  2. Feature Hat: You add functionality. You NEVER restructure.
    CURRENT MODE: You are wearing the Refactoring Hat. Do not change observable behavior.

Execution Workflow

Step 1: Automated Sanitation

Before applying manual refactoring reasoning, run the deterministic cleanup script to handle whitespace, unused imports, and standard linting.

  • Action: Run python {baseDir}/scripts/run_ruff.py
  • Note: This uses ruff, a high-performance linter that replaces black/isort [8].

Step 2: Static Analysis (The "Tree Shake")

Analyze the codebase for "Zombie Code" using the rules defined in the reference file.

  • Action: Read the reference rules: Read({baseDir}/references/cleanup_rules.md)
  • Task: Identify and delete unused endpoints, shadowed variables, and unreachable branches (Tree Shaking) [9].

Step 3: Structural Refactoring

Apply SOLID principles to decompose "God Classes" and complex methods.

  • Metric: Flag any function > 50 lines or file > 200 lines.
  • Action: Extract methods or classes. Ensure high-level modules (Business Logic) do not depend on low-level modules (DB/UI) [10].

Step 4: Resource Hygiene

For Python applications, ensure Garbage Collection (GC) is tuned for high throughput.

  • Check: Look for gc.freeze() or gc.set_threshold in the startup logic.
  • Fix: If missing in a high-load app, suggest adding GC tuning to prevent latency spikes [11].