What problem does it solve? Converting imperative TypeScript code (try-catch blocks, null checks, callbacks, class-based DI) into composable functional patterns is error-prone without a clear migration strategy, and teams often struggle to adopt fp-ts incrementally without breaking existing code. ## Core Features & Use Cases - Pattern Mapping: Converts try-catch to Either/TaskEither, null checks to Option, callbacks to Task, class DI to Reader, and loops to map/filter/reduce. - Gradual Migration Strategy: Provides a three-phase approach using boundary adapters (toEither, fromNullable) so FP and imperative code coexist safely. - Composition Guidance: Teaches pipe()-based composition to replace nested calls and eliminate intermediate variables. - Use Case: A developer wants to eliminate try-catch error handling in a service layer; the skill shows how to wrap existing code with tryCatch, chain validations with E.chain, and propagate typed domain errors through the Either left channel. ## Quick Start Ask the AI to refactor a TypeScript function that uses try-catch and null checks into fp-ts Either and Option patterns with pipe composition.