Design Patterns
Software design patterns catalog including creational (Abstract Factory, Builder, Factory Method, Singleton), structural (Adapter, Decorator, Facade, Proxy), behavioural (Chain of Responsibility, Mediator, Observer, Strategy, Specification), and architectural patterns (Repository, Strangler Fig, Domain Events, Rules Engine). Use when choosing patterns, implementing specific designs, or evaluating…
Twelve Factor
Twelve-Factor App methodology for building deployable software-as-a-service applications. Use when configuring environment variables, connecting to backing services, structuring startup/shutdown, handling process signals, setting up CI/CD pipelines, or auditing deployment readiness. Core factors (config, dependencies, backing services, logs) apply to any deployed application. Server-specific fact…
Test Design
>-
Test Driven Development
Complete TDD skill covering the RED-GREEN-REFACTOR cycle, phase orchestration across spawned contexts, individual phase execution (RED, GREEN, REFACTOR), handoff contracts, and guided TDD pairing for collaborative test-first development. Use when implementing features test-first, running TDD cycles, pairing on test-driven discovery, or enforcing strict phase boundaries.
Architecture Decision Record
Create, revise, or review Architecture Decision Records (ADRs). Use when documenting architectural decisions, eliciting decision rationale, comparing options, recording trade-offs, superseding previous decisions, or setting up ADR practices and templates.
Semantic Naming
Semantic naming and categorisation for programming language constructs. Use when naming or reviewing classes, functions, modules, services, commands, queries, handlers, DTOs, use cases, interactors, domain objects, adapters, workflows, state machines, or when replacing vague names like Manager, Helper, Util, Logic, Processor, Data, Info, or Wrapper with precise architectural vocabulary.
Comment Guidance
Source-level code comments and API documentation. Use when writing, revising, or reviewing docstrings, rustdoc, JSDoc, Doxygen, C# XML comments, TODO/FIXME markers, or documentation of intent, contracts, invariants, ownership, concurrency, safety, and failures.
System Design
Distributed systems design covering CAP theorem, load balancing, caching strategies, message queues, database sharding, consistency patterns, circuit breakers, architectural patterns (microservices, event-driven, serverless), and 12 key tradeoffs. Use when designing distributed systems, evaluating infrastructure tradeoffs, choosing databases, or understanding scalability patterns.
Package Upgrader
Dependency upgrades, package upgrades, update packages, outdated packages, version bumps, security updates, and dependency management. Use when planning, executing, or reviewing safe dependency upgrades across any package ecosystem using versioning standards, risk classification, verification, and rollback guidance.
Sync Branch
>-
Refactorings
Refactoring catalog based on Martin Fowler's work. Covers composing methods (extract/inline function, extract variable), moving features (move function/field), organising data (split variable, encapsulate record/collection), simplifying conditionals (decompose/consolidate conditional, replace with polymorphism), dealing with inheritance (pull up/push down, replace superclass with delegate), and m…
C4 Modeling
Create, review, or maintain C4 model architecture diagrams and architecture-as-code artifacts. Use for system context, container, component, dynamic, deployment, or landscape diagrams; Structurizr DSL; Mermaid architecture diagrams; architecture visualization; diagram audits; and codebase-derived software architecture maps.
Code Review
Structured, taxonomy-guided code review with selective category focus. Performs two-pass review (detect then verify) across 16 error categories with independent severity, confidence, and qualifier axes. Use when reviewing a PR, reviewing staged changes, performing a pre-merge quality gate, or when asked to review specific files or a diff.
Diffdive
Branch analysis and context loading. Analyses the diff between the current branch and trunk (master/main) to get up to speed quickly. Use when switching to an unfamiliar branch, resuming work after time away, onboarding onto a colleague's branch, reviewing a PR, or when you need a situation report on what a branch has changed relative to trunk.
Domain Driven Design
Domain-Driven Design concepts including ubiquitous language, bounded contexts, entities, value objects, aggregates, strategic and tactical design, context mapping, EventStorming, and domain storytelling. Use when modeling domains, defining bounded contexts, applying DDD patterns, or understanding strategic vs tactical design.
Git Conventions
Git commit conventions covering stability invariants, conventional commit types (feat, fix, refactor, test, chore), message formatting (imperative voice, 50/72 rule), TDD commit rhythm (commit after each RED-GREEN-REFACTOR step), and PR standards. Use when writing commit messages, structuring commits, or reviewing git history quality.