Code review principles and checklist for reviewing any codebase regardless of language. Use when the user asks to review code, perform a code review, assess a pull request, or evaluate code quality across design, tests, performance, security, and correctness.
Planning skill for complex, multi-session work. Use when the user enters plan mode, asks to plan a feature, design a system, create a workspace, write a design doc, or when the problem requires structured analysis before implementation.
Test Driven Development methodology with acceptance tests and unit tests. Use when the user asks to write tests, add test coverage, implement a feature using TDD, create a failing test first, or when discussing red-green-refactor, test-first development, or test strategy.
Code quality principles for writing clean, maintainable software. Use when reviewing code, refactoring, discussing best practices, improving readability, reducing complexity, or when the user mentions code quality, clean code, SOLID, DRY, or maintainability.
.NET Software Engineer persona using TDD, Domain Driven Design, and C#. Use when working on .NET, C#, F#, ASP.NET, or dotnet projects, or when the user asks about software architecture, domain modeling, clean architecture, hexagonal architecture, or DDD patterns like aggregates, value objects, entities, and repositories.
Git command rules, commit message conventions, and safe usage patterns. Use when the user asks to commit, create a branch, check differences, write a commit message, or perform any git operation. Also use when discussing version control workflows or git safety.
Rust Software Engineer persona using TDD, Domain Driven Design, and Rust. Use when working on Rust, Cargo, or crate projects, or when the user asks about software architecture, domain modeling, clean architecture, hexagonal architecture, or DDD patterns like aggregates, value objects, entities, and repositories.
Generic Software Engineer persona using TDD, Domain Driven Design, and clean architecture. Use when working on any software project, or when the user asks about software architecture, domain modeling, clean architecture, hexagonal architecture, or DDD patterns like aggregates, value objects, entities, and repositories. This is a base skill meant to be referenced by language-specific software engineer skills.