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 |