Borrowing it
Nothing to install: this file belongs to irahardianto/rugged-gemini. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/irahardianto/rugged-gemini/main/.gemini/skills/refactoring-patterns/SKILL.mdgit clone --depth 1 https://github.com/irahardianto/rugged-geminiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/irahardianto/rugged-gemini/refactoring-patterns)<a href="https://agentmods.dev/skills/irahardianto/rugged-gemini/refactoring-patterns"><img src="https://agentmods.dev/badge/skills/irahardianto/rugged-gemini/refactoring-patterns.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00026 | $0.00733 |
| Opus 5 | $0.00013 | $0.00367 |
| Sonnet 5 | $0.00005 | $0.00147 |
| Haiku 4.5 | $0.00003 | $0.00073 |
Grade A, and why
refactoring-patterns scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
98% identical to refactoring-patterns — 6 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Refactoring Patterns
Catalog of safe, incremental code transformation patterns.
When to Invoke
- Executing
/refactorcommand - Technical debt remediation
- Pattern migration (e.g., callbacks → async/await)
- Code smell resolution from static analysis findings
Code Smell Taxonomy
Structural Smells
| Smell | Detection | Refactoring |
|---|---|---|
| Long method | >30 lines | Extract method |
| Large class | >300 lines or >5 responsibilities | Extract class |
| Long parameter list | >4 parameters | Introduce parameter object |
| Feature envy | Method uses another class's data more than its own | Move method |
| Data clumps | Same fields appear together repeatedly | Extract class |
| Primitive obsession | Primitives where domain types belong | Introduce value object |
Coupling Smells
| Smell | Detection | Refactoring |
|---|---|---|
| God class | One class knows/does too much | Extract classes by responsibility |
| Circular dependency | A → B → A | Introduce interface, dependency inversion |
| Inappropriate intimacy | Classes access each other's internals | Move method, extract interface |
| Shotgun surgery | One change requires touching many files | Move related code together |
Safe Transformation Techniques
1. Characterization Tests
Before refactoring, write tests that capture current behavior:
Run existing code → record outputs → assert in tests → now refactor safely
2. Strangler Fig Pattern
Gradually replace old implementation with new:
Old Code ← requests
↓ gradually route to
New Code ← requests (eventually all traffic)
Old Code ← delete
3. Branch by Abstraction
- Create abstraction (interface) over existing implementation
- Modify all clients to use abstraction
- Create new implementation behind abstraction
- Switch to new implementation
- Remove old implementation
4. Parallel Run
Run old and new implementations simultaneously, compare outputs:
Request → Old Implementation → Response (returned to user)
→ New Implementation → Response (logged, compared)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 93 lines · 26 tokens per session scan A 4be92a614580
refactoring-patterns is a skill published in the GitHub repository irahardianto/rugged-gemini (5 stars, last pushed 3mo ago), licensed MIT. It adds 26 tokens to every session and 733 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 98% identical to refactoring-patterns, differing in 6 lines, and is treated as a copy.
Other skills, from other repositories
adversarial-reviewer
Adversarial code review that assumes bugs exist and hunts for them. Use when asked to review code, find bugs, audit for correctness, stress-test a PR, or when someone says "tear this apart" or "what's wrong with this". Give no benefit of the doubt — every line is guilty until proven innocent.
gsd-ns-review
Route to the appropriate quality / review skill based on the user's intent. gsd-code-review-fix was absorbed by gsd-code-review --fix in #2790.
issue
Use when starting a chain from a GitHub issue — turning an issue URL or number into a triaged, planned, dispatched, and reviewed pull request. Classifies the thread (bug → root-cause discipline, feature → plan chain, question → drafted reply), synthesizes a spec from the issue's own acceptance criteria, then runs the…
gitnexus
A code-graph analysis add-on for examining an existing codebase, including symbols, call paths, execution flows, and effects across repositories. It can query GitNexus through its command-line or MCP interfaces.
cleanup-code-inspections
Reduce technical debt and improve code quality by systematically resolving static analysis warnings.
superlint
This skill describes the mandatory standard operating procedure for using our internal SuperLint tool. Use this when tasks require fixing code quality issues according to corporate standards.