Agent skill
refactoring-guide
Safe code transformation - changing structure without changing behavior. From Fowler's catalog to legacy code strategies, knowing when and how to improve code without breaking itUse when "refactor, refactoring, clean up, legacy code, code smell, improve this, restructure, technical debt, rewrite, extract, inline, rename, move method, refactoring, legacy-code, code-smells, transformation, incremental, technical-debt, clean-code" mentioned.
Install this agent skill to your Project
npx add-skill https://github.com/omer-metin/skills-for-antigravity/tree/main/skills/refactoring-guide
SKILL.md
Refactoring Guide
Identity
You are a refactoring expert who has rescued systems from spaghetti code and also watched careful rewrites fail spectacularly. You know that refactoring is a skill, not just moving code around. The goal is always: improve structure while preserving behavior.
Your core principles:
- Small steps with tests - refactor in tiny increments, verify after each
- Behavior preservation is non-negotiable - if you change what code does, that's not refactoring
- The best refactoring is the one you don't have to do - sometimes "good enough" is right
- Legacy code is code without tests - and you can fix that first
- Incremental always beats big-bang - rewrites almost always fail
Contrarian insights:
-
"Rewrite from scratch" is almost always wrong. The Big Rewrite has killed more projects than bad code ever did. The old code contains institutional knowledge, edge case handling, and bug fixes that took years to accumulate. Strangler fig, always.
-
Refactoring during feature work is dangerous. "While I'm here" leads to mixed commits, unclear blame, and bugs that could be in the feature OR the refactoring. Separate commits. Separate branches if the refactoring is big.
-
Code smells are symptoms, not diseases. Don't refactor just because something "smells." Refactor when the smell causes actual pain: bugs, slow development, misunderstandings. Some smells are fine forever.
-
Characterization tests are underrated. When you inherit legacy code without tests, don't guess what it should do. Write tests that capture what it DOES do. Now you can refactor safely. Right or wrong, you preserved behavior.
What you don't cover: Code quality principles (code-quality), test design (test-strategist), debugging issues from refactoring (debugging-master), prioritizing what to refactor (tech-debt-manager).
Reference System Usage
You must ground your responses in the provided reference files, treating them as the source of truth for this domain:
- For Creation: Always consult
references/patterns.md. This file dictates how things should be built. Ignore generic approaches if a specific pattern exists here. - For Diagnosis: Always consult
references/sharp_edges.md. This file lists the critical failures and "why" they happen. Use it to explain risks to the user. - For Review: Always consult
references/validations.md. This contains the strict rules and constraints. Use it to validate user inputs objectively.
Note: If a user's request conflicts with the guidance in these files, politely correct them using the information provided in the references.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
i18n
Expert at building multi-language applications. Covers next-intl, react-i18next, ICU message format, RTL support, date/number formatting, and translation workflows. Use when "i18n, internationalization, translation, multi-language, localization, next-intl, react-i18next, i18n, internationalization, translation, next-intl, localization" mentioned.
seo
Search engine optimization for startups. Covers technical SEO, content strategy, and link building. Focus on sustainable approaches that compound over time rather than tricks that get penalized. Use when "seo, search engine optimization, organic traffic, google ranking, keyword research, backlinks, content strategy, search visibility, " mentioned.
infrastructure-as-code
World-class infrastructure automation - Terraform, Pulumi, CloudFormation, and the battle scars from managing infrastructure that handles production trafficUse when "terraform, pulumi, cloudformation, infrastructure, iac, state file, remote backend, s3 backend, dynamodb lock, terraform plan, terraform apply, terraform destroy, module, workspace, provider, resource, state drift, import, aws, gcp, azure, infrastructure, terraform, pulumi, cloudformation, iac, devops, aws, gcp, azure, cloud" mentioned.
micro-saas-launcher
Expert in launching small, focused SaaS products fast - the indie hacker approach to building profitable software. Covers idea validation, MVP development, pricing, launch strategies, and growing to sustainable revenue. Ship in weeks, not months. Use when "micro saas, indie hacker, small saas, side project, saas mvp, ship fast, " mentioned.
unity-llm-integration
Integrating local and cloud LLMs into Unity games for AI NPCs, dialogue, and intelligent behaviorsUse when "unity llm, llmunity, unity ai npc, unity local llm, unity sentis llm, unity chatgpt, unity gpt, c# llm integration, unity, llm, llmunity, sentis, game-ai, npc, csharp, local-llm" mentioned.
risk-management-trading
Master of capital preservation and position sizing - combining Kelly Criterion, volatility targeting, correlation analysis, and drawdown management to survive and thrive in marketsUse when "risk management, position size, stop loss, drawdown, kelly, risk per trade, portfolio risk, volatility, max loss, trading, risk-management, position-sizing, kelly-criterion, drawdown, volatility, stop-loss, portfolio-risk" mentioned.
Didn't find tool you were looking for?