Synthèse automatique
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
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.
É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ûrThe 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é
Comment cette analyse est faiteExemples
Reduce max lines for classes and modules to 100 using RuboCop.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
- Read current config from
.rubocop.ymlor.rubocop.local.yml(Metrics/ClassLengthandMetrics/ModuleLength) - Run RuboCop with the target threshold to find violations:
bundle exec rubocop --only Metrics/ClassLength,Metrics/ModuleLength --format json 2>&1 - 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.
Specification Design-to-Dev
Developpement
Traduisez vos maquettes en specifications techniques pour les developpeurs.
Patterns d'exports et fichiers barrel
Developpement
Définit les conventions pour les exports de modules et les fichiers baril : exports nommés uniquement, pas de wildcards plats (sauf `export * as Name` pour les composants composés), commentaires par section, types exportés avec les valeurs, et une ligne d'export par fichier source. Aide à maintenir des exports cohérents et optimisés pour le tree-shaking dans les applications portal utilisant Turbopack ou des bundlers similaires.
Créer une compétence d'agent
Developpement
Guide étape par étape pour créer une compétence d'agent structurée, incluant structure de répertoire, format SKILL.md et principes de conception.