What problem does it solve? Working with LLM APIs in TypeScript often means untyped responses, ad-hoc error handling, and manual JSON parsing of model output. This Skill teaches the Effect AI LanguageModel service so agents produce type-safe text generation, schema-validated structured output, streaming, and tool calling using Effect's functional patterns. ## Core Features & Use Cases - Text Generation & Streaming: Use generateText for completions and streamText for real-time token, reasoning, and tool-call stream parts. - Structured Output: Use generateObject with Effect Schema to force schema-validated responses, including tagged ADT extraction. - Tool Calling: Attach toolkits, control toolChoice, run parallel tool execution, and handle approval-gated tools. - Provider Patterns: Build custom providers with LanguageModel.make, configure multi-provider fallback with ExecutionPlan, and avoid the common pitfall of leaking LanguageModel into service signatures. - Use Case: Building a chat feature that extracts structured contact data from user messages, streams the reply token-by-token, and falls back from Anthropic to OpenAI on failure. ## Quick Start Ask the agent to write an Effect program that uses LanguageModel.generateObject with a Schema to extract structured data from a prompt, following this skill's import and error-handling patterns.