What problem does it solve? Cross-cutting chat behaviors in the VS Code agent host tend to accumulate inside large orchestration classes like AgentSideEffects and AgentService, creating unmaintainable code. This Skill guides you to build such behaviors as self-contained, dependency-injected lifecycle contributions instead, and to review changes that violate that boundary. ## 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, provider-shaped mapping, or orchestration classes. - Ordering, Mementos, and Failure Isolation: Documents load-bearing hook ordering, memento lifecycle and eviction, and the fail-closed semantics of admission gating. - Use Case: When adding a feature like turn admission gating or restored-history transformation, use this Skill to create a properly registered contribution with correct order, tests, and dispatcher integration instead of bloating AgentSideEffects. ## Quick Start Ask the agent to add a new cross-cutting chat behavior, such as intercepting outgoing turns to inject context, as a registered chat contribution following the lifecycle hook model.