Réduire max lignes classe/module

VérifiéSûr

Réduit le seuil de lignes maximum pour les classes et modules dans RuboCop, identifie les violations et génère un plan de refactorisation avec stratégies de division des fichiers.

Spar Skills Guide Bot
DeveloppementIntermédiaire
4002/06/2026
Claude Code
#ruby#rubocop#refactoring#code-quality

Recommandé pour

Notre avis

Cette compétence met à jour la configuration RuboCop pour réduire le seuil maximal de lignes par classe/module et corrige les violations générées.

Points forts

  • Automatise la mise à jour de la configuration RuboCop
  • Identifie les classes et modules dépassant le nouveau seuil
  • Propose des stratégies de refactorisation concrètes

Limites

  • Nécessite que le projet utilise RuboCop
  • Ne modifie pas directement le code, seulement le plan
  • Suppose que l'utilisateur valide et exécute le plan
Quand l'utiliser

Lorsque vous souhaitez appliquer une règle de style plus stricte sur la taille des classes/modules dans un projet Ruby.

Quand l'éviter

Si le projet n'utilise pas RuboCop ou si le seuil cible n'est pas encore déterminé.

Analyse de sécurité

Sûr
Score qualité85/100

The skill only runs RuboCop via bundle exec with fixed options, reads local config files, and compiles a brief. No destructive, exfiltrating, or obfuscated actions. Standard development tool usage.

Aucun point d'attention détecté

Exemples

Reduce to 100 lines
Use plan-reduce-max-lines to reduce the class/module line limit to 100 and fix violations.
Target 80 lines
Reduce max class lines to 80 and generate a refactoring plan.
Apply new threshold
Run plan-reduce-max-lines with threshold 120.

name: plan-reduce-max-lines description: This skill should be used when reducing the maximum class/module lines threshold and fixing all violations. It updates the RuboCop configuration, identifies classes and modules exceeding the new limit, generates a brief with refactoring strategies, and creates a plan with tasks to split oversized files. allowed-tools: ["Read", "Bash", "Glob", "Grep"]


Reduce Max Lines

Target threshold: $ARGUMENTS lines per class/module

If no argument provided, prompt the user for a target.

Step 1: Gather Requirements

  1. Read current config from .rubocop.yml or .rubocop.local.yml (Metrics/ClassLength and Metrics/ModuleLength)
  2. Run RuboCop with the target threshold to find violations:
    bundle exec rubocop --only Metrics/ClassLength,Metrics/ModuleLength --format json 2>&1
    
  3. Note for each violation:
    • File path
    • Class/module name
    • Current line count

If no violations at $ARGUMENTS, report success and exit.

Step 2: Compile Brief and Delegate

Compile the gathered information into a structured brief:

Reduce max class/module lines threshold to $ARGUMENTS.

Classes/modules exceeding threshold (ordered by line count):
1. [file:ClassName] - [current] lines (target: $ARGUMENTS)
2. ...

Configuration change: .rubocop.local.yml, Metrics/ClassLength Max to $ARGUMENTS, Metrics/ModuleLength Max to $ARGUMENTS

Refactoring strategies: extract concerns, extract service objects, remove duplication, delete dead code, simplify logic

Verification: `bundle exec rubocop --only Metrics/ClassLength,Metrics/ModuleLength --format simple 2>&1 | grep "offense" | wc -l` -> Expected: 0

Invoke /plan-execute with this brief to create the implementation plan.

Skills similaires