Skip to content

Reusable skills

These entries help agents reuse established boundaries and patterns instead of inventing new ones.

Decision Record

Entry Purpose Status
Core Contribution versus Organisation Overlay Choose whether reusable guidance belongs in the shared core registry or a namespace-owned organisation overlay. stable
Factory or Direct Construction Choose a factory only when object selection or coordinated construction policy should be hidden from callers. stable
Repository or Adapter Choose a repository for domain-oriented persistence and an adapter for broader protocol translation. stable
Promote a Shared Component Decide whether repeated project code has compatible semantics and sufficient ownership to become a shared component. stable
Strategy or Function Choose between a strategy type and a first-class function based on state, lifecycle, operations, and public-contract needs. stable

Design Pattern

Entry Purpose Status
Adapter Translate an external or incompatible interface into a boundary owned by the consuming system. stable
Builder Construct a complex value through readable, validated steps while keeping invalid intermediate state controlled. stable
Command Represent an action as data so execution, queuing, auditing, retries, or undo can be handled explicitly. stable
Dependency Injection Supply collaborators explicitly at construction or call boundaries so lifecycle and substitution remain visible. stable
Factory Centralise object selection or construction policy when callers should not know concrete creation details. stable
Repository Expose persistence operations in domain terms while isolating storage protocols and mapping. stable
State Machine Model allowed states, events, guards, and transitions explicitly when lifecycle behaviour is non-trivial. stable
Strategy Encapsulate a real algorithm or policy variation behind an explicit interchangeable contract. stable
Visitor Add operations across a stable heterogeneous structure without distributing each operation across every element type. stable

Shared Component

Entry Purpose Status
Caching Boundary Make cache keys, freshness, invalidation, ownership, and failure behaviour explicit at a stable boundary. stable
Configuration Boundary Load, validate, and expose configuration through one explicit boundary rather than scattering environment and file access across domain code. stable
Data Access Boundary Isolate persistence protocols, queries, transactions, and mapping from domain decisions. stable
Structured Logging Provide consistent structured events, context propagation, and redaction without coupling domain logic to one logging vendor. stable
Plugin System Boundary Support explicit extension points with versioned contracts, controlled discovery, isolation, and lifecycle management. stable
Retry and Backoff Policy Centralise retry classification, bounded backoff, jitter, cancellation, and observability for transient failures. stable
Testing Utilities Share deterministic fixtures, fakes, builders, clocks, and assertions that encode stable testing semantics rather than incidental implementation. stable
Validation Boundary Convert untrusted or weakly typed input into validated domain values at system boundaries. stable

Worked Example

Entry Purpose Status
Typed Configuration Boundary Worked example replacing scattered environment reads with immutable validated configuration at the composition root. stable
Explicit Job Lifecycle Worked example replacing interacting booleans with tested event-driven state transitions. stable
Organisation Catalogue Overlay Example Demonstrate a namespace-owned catalogue extension with validation and explicit search loading. stable
Bounded Retry Policy Worked example replacing nested ad hoc retries with one deadline-aware transient-failure policy. stable