skills/code-smells/bloaters/SKILL.md
Detect and refactor Bloaters — code, methods, and classes that have grown too large. Trigger: When identifying Long Method, Large Class, Primitive Obsession, Long Parameter List, or Data Clumps.
npx skillsauth add johnnystefan/test-saas-business code-smells/bloatersInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill enables the agent to identify "Bloaters" — code, methods, and classes that have grown so large they are difficult to maintain and evolve. The agent will apply specific refactoring techniques to decompose these structures into smaller, more manageable units.
USER_ADMIN_ROLE = 1).// BAD: Primitive obsession (role as number) and long parameter list
function createUser(
name: string,
email: string,
phone: string,
role: number,
zipCode: string,
city: string,
) {
/* ... */
}
// GOOD: Data clump extracted to Address, role to Value Object
class Address {
constructor(
public zipCode: string,
public city: string,
) {}
}
interface UserDetails {
name: string;
email: string;
phone: string;
role: UserRole;
address: Address;
}
function createUser(details: UserDetails) {
/* ... */
}
tools
Zustand 5 state management patterns. Trigger: When implementing client-side state with Zustand (stores, selectors, persist middleware, slices).
databases
Zod 4 schema validation patterns. Trigger: When creating or updating Zod v4 schemas for validation/parsing (forms, request payloads, adapters), including v3 -> v4 migration patterns.
development
Vitest unit testing patterns with React Testing Library. Trigger: When writing unit tests for React components, hooks, or utilities.
tools
Vite 8 (Rolldown-powered) build tool configuration, plugin API, SSR, and migration guide. Trigger: When working with vite.config.ts, Vite plugins, building libraries, or SSR apps with Vite.