skills/design-patterns/creationals/pattern-prototype/SKILL.md
Teaches and applies the Prototype creational design pattern — cloning existing objects without making code dependent on their classes, delegating cloning to the objects themselves. Trigger: When creating copies of complex objects or avoiding expensive re-initialization.
npx skillsauth add johnnystefan/test-saas-business pattern-prototypeInstall 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.
Enables copying existing objects without making the code dependent on their classes. The cloning responsibility is delegated to the objects themselves.
clone() method.abstract class Shape {
constructor(
public x: number,
public y: number,
public color: string,
) {}
abstract clone(): Shape;
}
class Rectangle extends Shape {
constructor(source: Rectangle) {
super(source.x, source.y, source.color);
this.width = source.width;
}
public width: number = 0;
clone(): Shape {
return new Rectangle(this);
}
}
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.