-
Notifications
You must be signed in to change notification settings - Fork 0
New skill: /refactor — Systematic refactoring analysis of branch changes #2
Copy link
Copy link
Open
Description
Summary
Estrarre e pubblicare come skill un analizzatore sistematico di refactoring, attualmente usato come comando custom in un progetto.
Come funziona
- Collect context — Diff del branch corrente vs main, lettura completa dei file modificati
- Analyze — Review del diff contro principi di refactoring strutturati
- Output — Findings ordinati per priorità con code snippet e suggerimenti concreti
- Summary — Conteggio per priorità, top 3 azioni, offerta di applicare i refactoring
Principi di refactoring coperti
- Structure & Decomposition: SRP, extract/inline, flat over nested
- Module & File Organization: cohesion, file size, colocation, circular deps
- Duplication & Abstraction: DRY, rule of three, generalize, no premature abstraction
- Naming & Readability: consistency, self-documenting, misleading names
- Types & Contracts: loose types, discriminated unions, null safety
- Error Handling: consistency, propagation, boundary validation
- Testability & Testing: pure extraction, coverage, independence, edge cases
- Simplification: dead code, over-engineering, unnecessary complexity
Caratteristiche chiave
- Analizza solo codice modificato nel branch — non suggerisce refactoring su codice pre-esistente non toccato
- Supporta focus area opzionale (es. "naming", "DRY", "simplify")
- Output strutturato:
[Priority: high/medium/low] Principle — Descriptioncon file, code snippet, suggestion - Se non ci sono opportunità significative, lo dice — no suggerimenti forzati
Adattamenti necessari per la generalizzazione
- Rendere il branch base configurabile (non hardcoded a
master) - Valutare overlap con
/simplifyesistente — definire scope chiaro:/refactorè analysis-only,/simplifyapplica le modifiche - Considerare integrazione:
/refactor→ utente sceglie → applica - Language-agnostic: i principi sono già generici, verificare che gli esempi non assumano un linguaggio
Output atteso
skill user-invocable /refactor nel plugin bytecodeguru
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels