Réduire les limites de lignes RuboCop

VérifiéSûr

Met à jour la configuration RuboCop pour réduire le seuil maximal de lignes par classe/module, identifie les classes et modules qui dépassent cette limite, puis génère un brief avec des stratégies de refactoring et un plan de tâches pour fractionner les fichiers trop longs.

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

Recommandé pour

Notre avis

Cette compétence ajuste le seuil maximum de lignes par classe/module dans RuboCop, identifie les violations et génère un plan de refactorisation.

Points forts

  • Automatise la mise à jour de la configuration RuboCop
  • Identifie systématiquement les classes et modules trop longs
  • Propose des stratégies de refactorisation concrètes
  • Crée un plan d'exécution structuré via /plan-execute

Limites

  • Nécessite que RuboCop soit déjà configuré dans le projet
  • Les suggestions de refactorisation restent génériques et peuvent nécessiter des ajustements manuels
  • Ne couvre pas d'autres métriques de qualité comme la complexité cyclomatique
Quand l'utiliser

Utilisez cette compétence lorsque vous souhaitez réduire la taille des classes ou modules et appliquer les nouvelles limites de manière automatisée.

Quand l'éviter

Évitez cette compétence si vous n'utilisez pas RuboCop ou si vous préférez une approche manuelle de refactorisation sans planification structurée.

Analyse de sécurité

Sûr
Score qualité90/100

The skill only runs read-only Ruby linter commands (rubocop) to analyse code and produce a refactoring plan. There are no destructive, network, or obfuscated operations. The bash usage is confined to legitimate development tooling.

Aucun point d'attention détecté

Exemples

Reduce max lines to 100
Reduce max lines for classes and modules to 100 using RuboCop.
Create refactoring plan for long classes
Find all classes over 120 lines in my Ruby project and create a plan to refactor them.

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