Loading...
Loading...
Found 134 Skills
Use when writing, fixing, editing, or refactoring TypeScript functions with too many parameters, boolean flags, parameter mutation, deep nesting, mixed abstraction levels, complex conditionals, hidden side effects, dead helpers, unused exports, or unclear call sites.
Use when writing, fixing, editing, or refactoring Python tests. Enforces Clean Code principles—fast tests, boundary coverage, one assert per test.
Use when naming or renaming TypeScript identifiers, especially cryptic names, ambiguous parameters, I-prefixed interfaces, Hungarian notation, misleading side effects, or requests for clearer names.
Use when writing, fixing, or editing TypeScript with duplicated logic, magic values, unclear one-liners, mixed responsibilities, clutter, arbitrary code, or inconsistent abstraction levels.
Use when writing, fixing, or editing TypeScript comments or TSDoc, especially commented-out code, stale docs, metadata comments, redundant comments, TODO banners, or unclear comment value.
Use when checking code for functional correctness, backwards compatibility, logic errors, security vulnerabilities, performance issues, or missing test coverage — not style.
Run a strict clean-code review with a numeric score and pass/fail gate. Use when a user asks for a code review, wants Uncle Bob-style feedback, or wants unnecessary abstractions removed with SOLID/KISS discipline.
Writing maintainable code - readability principles, SOLID patterns applied pragmatically, and the judgment to know when rules should bendUse when "code quality, clean code, readability, naming, SOLID, refactor, code review, best practices, maintainable, how should I structure, clean-code, solid, readability, maintainability, code-review, naming, functions, principles" mentioned.
Use when fixing, editing, changing, or debugging existing TypeScript code and keeping changes small and proportional to what was touched.
Use when writing, fixing, editing, or refactoring React tests with Testing Library, user-event, component rendering, accessibility queries, async UI, mocks, brittle fixtures, test data builders, or behavior coverage.
Use when writing, fixing, or editing TypeScript data models, DTOs, discriminated unions, classes, object boundaries, optional fields, null or undefined absence, repeated conditionals, impossible states, or object-chain access.
Use when writing, fixing, editing, or refactoring React state, derived state, reducers, context, server state, loading/error/empty states, form state, or state ownership.