Analyse de refactorisation

VérifiéSûr

Analyse le code pour identifier des opportunités de refactoring avec une évaluation de l'impact (blast radius), une estimation des risques et un ordre d'opérations recommandé. Aide les développeurs à planifier des initiatives de refactoring en évaluant la complexité, la duplication et le couplage avant d'apporter des modifications.

Spar Skills Guide Bot
DeveloppementIntermédiaire
02/06/2026
Claude CodeCursorWindsurf
#code-refactoring#technical-debt#code-analysis#maintainability#code-smells

Recommandé pour

Synthèse automatique

Analyse le code pour identifier des opportunités de refactorisation avec évaluation de l'impact et des risques, et produit des recommandations sans effectuer les modifications.

Points forts

  • Identifie plusieurs défauts de code avec emplacements précis
  • Évalue l'impact (blast radius) et le risque pour chaque suggestion
  • Recommande un ordre d'opérations basé sur les dépendances et les risques
  • Tient compte de la couverture de tests

Limites

  • Analyse uniquement, ne réalise pas la refactorisation
  • Peut manquer des nuances contextuelles comme l'intention métier
  • Se base sur des motifs d'analyse statique, pas sur le comportement runtime
Quand l'utiliser

Lors de la planification d'un sprint de refactorisation, de l'évaluation de la dette technique, ou pour analyser l'impact de modifications potentielles avant de coder.

Quand l'éviter

Lorsque vous avez besoin d'une exécution automatisée immédiate de refactorisation, ou pour des changements triviaux sur un seul fichier où une simple modification suffit.

Analyse de sécurité

Sûr
Score qualité90/100

This skill is read-only analysis with Read, Glob, Grep tools. It does not execute any code, modify files, or access external resources. No destructive actions or data exfiltration risks.

Aucun point d'attention détecté

Comment cette analyse est faite

Exemples

Refactor analysis of a single file
Analyze pkg/auth/handler.go for refactoring opportunities, focusing on complexity and duplication.
Full package technical debt assessment
Review the utils/ directory and identify all code smells, blast radius, and suggest a refactoring plan with risk levels.
Component-level analysis for frontend
Find refactoring opportunities in the UserProfile component, particularly around state management and render logic.

name: refactor description: Analyze code and suggest refactoring opportunities with blast radius assessment, risk evaluation, and recommended order of operations license: MIT compatibility:

  • runtime:any allowed-tools:
  • Read
  • Glob
  • Grep metadata: author: thoreinstein version: 1.0.0

Refactor

Analyze code and suggest refactoring opportunities with rationale. This is an analysis-only skill - it identifies and documents refactoring opportunities but does not execute them.

When to Use

  • Reviewing code for improvement opportunities
  • Planning a refactoring initiative
  • Assessing technical debt in a codebase area
  • Evaluating complexity, duplication, or coupling concerns
  • Understanding blast radius before making changes

Input

  • Target: file path, directory/package, or function/component name
  • Optional: specific concern (duplication, complexity, coupling, testability, etc.)

Investigation Strategy

Track 1: Codebase Exploration

  • Map dependencies and call sites for target code
  • Identify blast radius of potential changes
  • Find related code with similar patterns
  • Assess test coverage of affected areas

Track 2: Code Analysis

  • Deep analysis of code smells and patterns
  • Identify refactoring opportunities
  • Assess complexity metrics
  • Evaluate maintainability concerns

Refactoring Patterns

Universal Patterns

| Pattern | Description | |---------|-------------| | Extract function/method | Pull out reusable logic | | Inline function/variable | Remove unnecessary indirection | | Rename | Improve clarity (with blast radius assessment) | | Move | Relocate to better home (file, package, module) | | Replace conditional with polymorphism | Simplify branching | | Introduce parameter object | Group related parameters | | Dependency inversion | Decouple via interfaces/abstractions |

Go-Specific Patterns

| Pattern | Description | |---------|-------------| | Extract interface | Define behavior contracts | | Consolidate error handling | Reduce repetitive error checks | | Replace concrete with interface | Improve testability | | Extract middleware | Separate cross-cutting concerns | | Table-driven refactor | Convert repetitive code to data-driven |

Frontend-Specific Patterns

| Pattern | Description | |---------|-------------| | Extract component | Break down large components | | Extract custom hook | Reuse stateful logic | | Lift state up | Move state to common ancestor | | Push state down | Colocate state with usage | | Extract render function | Simplify complex JSX | | Memoization | Optimize re-renders |

Output

Document the analysis using the template at references/templates/refactor-analysis.md.

The analysis should include:

  • Code smells identified with locations
  • Suggested refactorings with risk assessment
  • Blast radius for each change
  • Recommended order of operations
  • Test coverage assessment

Constraints

  • Analysis only: Do not execute refactorings - document recommendations
  • Blast radius required: Every suggestion must include affected files/functions
  • Risk assessment required: Every suggestion must be rated Low/Medium/High
  • Order matters: Recommend sequence based on risk and dependencies
  • Test awareness: Note test coverage and impact for each suggestion

Example

Refactoring Analysis: pkg/auth/handler.go

Target:
- Path: pkg/auth/handler.go
- Scope: file
- Concern: complexity

Summary:
The auth handler has grown to 450 lines with 3 code smells identified.
Recommend extracting token validation and session management into
separate services. Low-risk changes that improve testability.

Code Smells Identified:

1. Long Function (validateAndCreateSession)
   - Location: handler.go:145-280
   - Description: 135-line function handling validation, session
     creation, and response formatting
   - Impact: Hard to test, multiple responsibilities

2. Feature Envy (token validation)
   - Location: handler.go:156-198
   - Description: Handler reaches into token package internals
   - Impact: Tight coupling, changes ripple across packages

Suggested Refactorings:

1. Extract TokenValidator service
   - Type: Extract
   - Target: handler.go:156-198
   - Rationale: Encapsulates token validation logic
   - Blast Radius: handler.go, handler_test.go
   - Risk: Low — isolated logic, good test coverage
   - Test Impact: Add TokenValidator unit tests

2. Extract SessionManager service
   - Type: Extract
   - Target: handler.go:200-250
   - Rationale: Separates session concerns from HTTP handling
   - Blast Radius: handler.go, session.go, handler_test.go
   - Risk: Medium — touches session storage
   - Test Impact: Update integration tests

Recommended Order:
1. TokenValidator first (lowest risk, no dependencies)
2. SessionManager second (depends on cleaner handler)

Begin by identifying the target code and any specific concerns to focus on.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/code-refactoring-analysis-mm8o51p2/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/code-refactoring-analysis-mm8o51p2' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/code-refactoring-analysis-mm8o51p2/download' --output '.skill-downloads/code-refactoring-analysis-mm8o51p2/SKILL.md.part' && mv '.skill-downloads/code-refactoring-analysis-mm8o51p2/SKILL.md.part' '.skill-downloads/code-refactoring-analysis-mm8o51p2/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/code-refactoring-analysis-mm8o51p2/SKILL.md' && test -s '.skill-downloads/code-refactoring-analysis-mm8o51p2/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/refactor' && cp -R '.skill-downloads/code-refactoring-analysis-mm8o51p2' '.claude/skills/refactor'

Cursor
test -f '.skill-downloads/code-refactoring-analysis-mm8o51p2/SKILL.md' && test -s '.skill-downloads/code-refactoring-analysis-mm8o51p2/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/refactor' && cp -R '.skill-downloads/code-refactoring-analysis-mm8o51p2' '.cursor/skills/refactor'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/code-refactoring-analysis-mm8o51p2'

openskills read 'code-refactoring-analysis-mm8o51p2'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/code-refactoring-analysis-mm8o51p2/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires