Why Use This This skill provides specialized capabilities for wheels-dev's codebase.
Use Cases Developing new features in the wheels-dev repository Refactoring existing code to follow wheels-dev standards Understanding and working with wheels-dev's codebase structure
Install Guide 2 steps 1 2 Install inside Ananke
Click Install Skill, paste the link below, then press Install.
https://github.com/wheels-dev/wheels/tree/develop/.claude/skills/wheels-refactoring Skill Snapshot Auto scan of skill assets. Informational only.
Valid SKILL.md Checks against SKILL.md specification
Source & Community
Updated At Jan 16, 2026, 03:03 PM
Skill Stats
SKILL.md 111 Lines
Total Files 1
Total Size 0 B
License NOASSERTION
---
name: Wheels Refactoring
description: Refactor Wheels code for better performance, security, and maintainability. Use when optimizing code, fixing anti-patterns, improving performance, or enhancing security. Provides refactoring patterns and best practices.
---
# Wheels Refactoring
## Performance Refactoring
### N+1 Query Problem
**Before:**
```cfm
<cfloop query="posts">
<p>#posts.user().name#</p> <!--- N+1 queries! --->
</cfloop>
```
**After:**
```cfm
posts = model("Post").findAll(include="user");
<cfloop query="posts">
<p>#posts.userName#</p> <!--- 1 query! --->
</cfloop>
```
### Eager Loading
**Before:**
```cfm
posts = model("Post").findAll();
// Associations loaded lazily
```
**After:**
```cfm
posts = model("Post").findAll(include="user,comments,tags");
// All associations loaded upfront
```
## Security Refactoring
### Parameter Verification
**Before:**
```cfm
function show() {
post = model("Post").findByKey(key=params.key);
}
```
**After:**
```cfm
function config() {
verifies(only="show", params="key", paramsTypes="integer");
}
function show() {
post = model("Post").findByKey(key=params.key);
}
```
### SQL Injection Prevention
**Before:**
```cfm
where="userId = #params.userId#" // Vulnerable!
```
**After:**
```cfm
where="userId = #params.userId#" // Wheels escapes automatically
// Or use parameterized queries
```
## Code Quality Refactoring
### Extract Method
**Before:**
```cfm
function create() {
user = model("User").new(params.user);
user.password = hash(user.password, "SHA-512");
if (user.save()) {
sendMail(to=user.email, subject="Welcome");
redirectTo(action="show", key=user.key());
}
}
```
**After:**
```cfm
function create() {
user = model("User").new(params.user);
if (user.save()) {
redirectTo(action="show", key=user.key());
}
}
// In User model:
private function hashPassword() {
this.password = hash(this.password, "SHA-512");
}
private function sendWelcomeEmail() {
sendMail(to=this.email, subject="Welcome");
}
```