Claude Code Plugins

Community-maintained marketplace

Feedback

Wheels Debugging

@wheels-dev/wheels
202
0

Troubleshoot common Wheels errors and provide debugging guidance. Use when encountering errors, exceptions, or unexpected behavior. Provides error analysis, common solutions, and debugging strategies for Wheels applications.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name Wheels Debugging
description Troubleshoot common Wheels errors and provide debugging guidance. Use when encountering errors, exceptions, or unexpected behavior. Provides error analysis, common solutions, and debugging strategies for Wheels applications.

Wheels Debugging

Common Errors

"No matching function [RENDERPAGE] found"

Cause: Using wrong function name - CFWheels uses renderView() not renderPage()

Solution: Change to correct function name

❌ renderPage(action="new")
✅ renderView(action="new")

"Missing argument name" Error

Cause: Mixed positional and named arguments

Solution: Use consistent argument style

❌ hasMany("comments", dependent="delete")
✅ hasMany(name="comments", dependent="delete")

❌ .resources("sessions", only="new,create")
✅ .resources(name="sessions", only="new,create")

"key [onCreate,onUpdate] doesn't exist"

Cause: Using comma-separated values in validation when parameter

Solution: Remove the when parameter - validations run on both create and update by default

❌ validatesConfirmationOf(properties="password", when="onCreate,onUpdate")
✅ validatesConfirmationOf(properties="password")

"Can't cast Object type [Query] to [Array]"

Cause: Using Array functions on queries

Solution: Use query methods

❌ ArrayLen(post.comments())
✅ post.comments().recordCount

"Association not found" Error

Cause: Association not properly defined or typo

Solution:

  1. Check model config() for association definition
  2. Verify association name matches
  3. Check model name spelling

"Table not found" Error

Cause: Migration not run or table name mismatch

Solution:

wheels dbmigrate latest

"Column not found" Error

Cause: Property doesn't exist in database

Solution:

  1. Add column via migration
  2. Check property name spelling
  3. Verify case sensitivity

Debugging Tools

Enable Debug Output

// In config/settings.cfm
set(showDebugInformation=true);
set(showErrorInformation=true);

Inspect Variables

<cfdump var="#post#" label="Post Object">
<cfabort>

Check SQL Queries

// Wheels logs all SQL to debugging output
// Look for red SQL queries (errors)

Browser Testing for Debugging

When debugging UI/view issues, use browser MCP tools to verify:

Check Page Rendering

// Use available MCP tool (in order of preference):

// Option 1: Puppeteer MCP (preferred)
mcp__puppeteer__puppeteer_navigate(url="http://localhost:PORT/controller/action")
mcp__puppeteer__puppeteer_screenshot(name="debug-screenshot")

// Option 2: Playwright MCP
mcp__playwright__playwright_navigate(url="http://localhost:PORT/controller/action")
mcp__playwright__playwright_screenshot()

// Option 3: Browser MCP (fallback)
mcp__browsermcp__browser_navigate(url="http://localhost:PORT/controller/action")
mcp__browsermcp__browser_screenshot()

Verify Form Submissions

// Navigate to form
mcp__puppeteer__puppeteer_navigate(url="http://localhost:PORT/posts/new")

// Fill and submit
mcp__puppeteer__puppeteer_click(selector="input[name='post[title]']")
// Check for errors in response

Check for JavaScript Errors

Use browser console output to identify client-side issues that might affect form submissions or dynamic content.


Generated by: Wheels Debugging Skill v1.1