Loading...
Loading...
Found 11 Skills
Use when writing, reviewing, or refactoring code, or scaffolding a new project. Language-agnostic principles (types encode invariants, parse don't validate, errors as values, no mocks, earn abstractions) with dialects for Rust, TypeScript, Go, and Python.
Use when designing API endpoints. Use when using wrong HTTP methods. Use when POST is used for reads.
Use when creating or modifying classes, modules, or functions. Use when feeling pressure to add functionality to existing code. Use when class has multiple reasons to change.
Use when component does too many things. Use when mixing data fetching, logic, and presentation. Use when code is hard to test.
Use when deciding where to catch errors. Use when errors propagate too far or not far enough. Use when designing component/service isolation.
Use when tempted to write clever code. Use when solution feels complex. Use when showing off skills instead of solving problems.
Use when writing similar code in multiple places. Use when copy-pasting code. Use when making the same change in multiple locations.
Use when loading all data upfront. Use when initial page load is slow. Use when fetching data that might not be needed.
Puts Claude code into a different frame of mind for better results
Use when working with fundamental software development knowledge — patterns, algorithms, architecture, and craftsmanship principles drawn from canonical published works. USE FOR: development fundamentals, pattern selection, architecture decisions, algorithm choice, code quality principles, choosing between architectural styles DO NOT USE FOR: specific pattern implementations (use sub-skills: design-patterns, integration-patterns, algorithms, etc.), testing strategy (use testing), infrastructure (use iac)
Deep thinking mode - approach problems like a craftsman, obsess over details, and create elegant solutions