Loading...
Loading...
Found 184 Skills
Applies TDD workflow to development. Use when writing tests before code, implementing features test-first, fixing bugs via failing test, or refactoring with test coverage. Detects AI anti-patterns.
TDD feature build loop: spec (RED) → implement (GREEN) → refactor. Pass the feature name as argument.
This skill should be used when fixing bugs, implementing features, debugging issues, or making code changes. Ensures understanding of code flow before implementation by: (1) Tracing execution path with specific file:line references, (2) Creating lightweight text diagrams showing class.method() flows, (3) Verifying understanding with user. Prevents wasted effort from assumptions or guessing. Triggers when users request: bug fixes, feature implementations, refactoring, TDD cycles, debugging, code analysis.
Language-agnostic guidance for selecting and applying Gang of Four (GoF) design patterns to recurring object-oriented design problems. Use when deciding among design alternatives, evaluating applicability and tradeoffs, or refactoring rigid/conditional-heavy designs toward better extensibility and lower coupling. Do not use for trivial bug fixes, framework/tool setup, or tasks with no architectural decision. Any TypeScript examples are illustrative only and must be translated to the project's language and constraints.
Apply the Tell Don't Ask (TDA) principle when reviewing, writing, or refactoring object-oriented code. Use this skill whenever the user asks about OOP design, mentions getters/setters, wants to review a class for encapsulation issues, asks how to move logic closer to data, or asks why code feels "procedural" despite using classes. Also trigger when the user asks to refactor code that queries an object's state before making decisions externally. This skill should kick in for any code review or design question involving data access patterns, encapsulation, or how objects should collaborate.
State-machine driven iterative planning and execution for complex coding tasks. Cycle: Explore → Plan → Execute → Reflect → Re-plan. Filesystem as persistent memory. Use for multi-file tasks, migrations, refactoring, failed tasks, or anything non-trivial.
Find and replace code patterns structurally using ast-grep. Use when you need to match code by its AST structure (not just text), such as finding all functions with specific signatures, replacing API patterns across files, or detecting code anti-patterns that regex cannot reliably match.
Guide for writing, refactoring, and testing MoonBit projects. Use when working in MoonBit modules or packages, organizing MoonBit files, using moon tooling (build/check/run/test/doc/ide etc.), or following MoonBit-specific layout, documentation, and testing conventions.
Used to audit codebases to ensure their naming complies with established terminology and specifications. This Skill should be used when you need to enforce a project's 'Ubiquitous Language', identify deviations in method/variable/parameter naming, and propose modification suggestions.
Enforce low Cognitive Complexity (SonarSource) and low Cyclomatic Complexity in ALL code written or modified, in any programming language, framework, or platform. This skill MUST activate automatically whenever code is being written, generated, modified, or refactored — no explicit trigger needed. Triggers include writing any function, method, class, module, script, handler, endpoint, test, or code block. Also triggers on "low complexity", "cognitive complexity", "cyclomatic complexity", "reduce complexity", "simplify code", "too complex", "refactor for readability", "clean code", "implement", "fix bug", "add feature", "generate test", "optimize", "rewrite", "scaffold".
Use AST parsing and code graph indexing for deep codebase analysis — refactoring, dead-code detection, dependency tracing, impact analysis, and safe symbol renaming
Applies principles from Robert C. Martin's 'Clean Code'. Use this skill when writing, reviewing, or refactoring code to ensure high quality, readability, and maintainability. Covers naming, functions, comments, error handling, and class design.