askill
patterns-behavioral

patterns-behavioralSafety 90Repository

Implement behavioral design patterns (Strategy, Observer, State, Command, Chain of Responsibility, Mediator, Template Method, Iterator, Memento, Visitor). Use when you need pluggable algorithms, event/listener systems, state machines, middleware pipelines, undo/redo, or request chains. NOT for object creation (use patterns-creational); NOT for wrapping/composing objects (use patterns-structural).

1 stars
1.2k downloads
Updated 2/12/2026

Package Files

Loading files...
SKILL.md

Patterns (Behavioral)

Overview

Manage algorithms and collaboration without turning your code into nested conditionals and tight coupling. Behavioral patterns help you route requests, encapsulate actions, and swap behavior safely.

A note on scope: these guidelines assume systemic TypeScript (long‑lived apps/services). For short‑lived scripts, you can often simplify (fewer abstractions, more throw) as long as the blast radius stays small.

Workflow

  1. Decide “scriptic vs systemic” and set policies (error semantics, boundary validation, ownership/lifetimes).
  2. Identify the interaction pressure: pipelines, events, undo, state machines, or algorithm selection.
  3. Draw a quick responsibility map: who triggers actions, who owns state, who receives outcomes?
  4. Pick a pattern that makes responsibilities explicit (interfaces + concrete behaviors).
  5. Implement with clear contracts and tests for ordering, error semantics (Result vs throw), and lifetimes (unsubscribe/shutdown).

Chooser

  • Chain of Responsibility: configurable pipeline; each handler may handle or pass along.
  • Command: represent actions as objects; queue/schedule/undo/retry.
  • Iterator: traverse collections/graphs without exposing representation.
  • Mediator: central coordinator to reduce many-to-many coupling.
  • Memento: snapshot/restore object state; undo/redo without leaking internals.
  • Observer: pub/sub updates; multiple listeners react to events.
  • State: state machine; behavior varies by state; transitions are explicit.
  • Strategy: swap algorithms behind a stable interface (runtime/config selection).
  • Template Method: stable algorithm skeleton with overridable steps (often via hooks; use inheritance only when it already fits).
  • Visitor: add new operations across a stable object structure without changing element classes.

Implementation Checklist

  • Make ordering explicit for pipelines and observers; define error semantics (what’s expected vs unknown).
  • For expected failures, prefer typed unions/Result; reserve throw for unknown/unrecoverable and catch/convert at boundaries.
  • Treat boundary inputs as unknown (events/requests) and validate/decode once near the edge.
  • For async observers/pipelines, make ownership explicit: unsubscribe/shutdown, backpressure/queueing, and cancellation (AbortSignal).
  • Keep strategies/states small and pure when possible; inject dependencies via context.
  • Prefer composition for Strategy/State; reserve Template Method for cases where inheritance is already a fit.
  • For Command/Memento: define serialization and persistence needs early (in-memory vs durable; versioned formats).

Snippets (optional)

References

Read the relevant reference file before implementing or refactoring toward the pattern:

Each reference includes: selection cues, minimal structure, pitfalls, and test ideas.

Output Template

When applying a behavioral pattern, return:

  • The pressure you’re addressing (pipeline/eventing/undo/state/algorithm selection) and why this pattern fits.
  • The proposed seam (interfaces/contracts) and who owns state and lifetimes (subscribe/unsubscribe, start/stop).
  • Verification steps (tests for ordering, expected failures, and shutdown/cancellation).

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

86/100Analyzed 2/19/2026

High-quality behavioral design patterns reference skill covering 10 patterns (Strategy, Observer, State, Command, Chain of Responsibility, Mediator, Template Method, Iterator, Memento, Visitor). Provides clear workflow, pattern chooser, implementation checklist, and output template. Well-structured with extensive metadata and tags. The skill is reference-style but still highly actionable with clear guidance on when to use each pattern. Minor gap is that detailed implementations are in external reference files not included in this skill document. Excellent clarity and safety with proper focus on error handling and ownership lifetimes."

90
90
85
75
78

Metadata

Licenseunknown
Version-
Updated2/12/2026
Publisherbricerising

Tags

behavioral-patternscommandeventingmiddlewareobserverpipelinespub-substate-machinestrategyundo-redo