What problem does it solve? Cross-cutting chat behaviors like admission gating, checkpoint capture, and title handling tend to accumulate inside large orchestration classes such as AgentSideEffects and AgentService, making them hard to maintain and review. This Skill guides you to implement such behavior as self-contained, dependency-injected lifecycle contributions instead. ## Core Features & Use Cases - Contribution Model Guidance: Explains the seven lifecycle hooks (onIncomingRequest, onTurnEnd, onDidApplyClientAction, onDidDispatchAction, onOutgoingTurn, onHydrateTurns, onHydrateChat) and when each applies. - Architecture Decision Rules: Provides a decision test for whether behavior belongs in a contribution versus routing fabric or provider-shaped code in AgentSideEffects or AgentService. - Ordering, Mementos, and Failure Isolation: Documents load-bearing hook ordering, memento lifecycle and eviction, and the fail-closed semantics of onIncomingRequest. - Use Case: When adding a feature that reacts to a completed turn, injects prompt context before a send, or transforms restored chat history, use this Skill to create a properly registered, ordered, and tested contribution under node/chatContributions/. ## Quick Start Ask the agent to add a new chat lifecycle behavior, such as attaching metadata on turn end, as a contribution following the agent-host-chat-contributions model.