What problem does it solve? Reading raw environment variables with process.env is untyped, unvalidated, and hard to test. This Skill guides you to load, validate, and compose typed configuration in Effect TypeScript applications using Config and ConfigProvider, producing structured ConfigError values instead of ad-hoc runtime failures. ## Core Features & Use Cases - Typed Config Primitives: Decode strings into number, boolean, Date, Duration, URL, port, log level, and redacted secrets with constructors like Config.int, Config.port, and Config.redacted. - Structured Config with Schema: Use Config.schema with Schema.Struct to decode whole config sections, with automatic string-to-type conversion and nesting via prefixes. - Composable Providers: Source config from environment variables, .env files, plain objects, directory trees (Kubernetes ConfigMap/Secret), or custom stores, and combine them with orElse, nested, and constantCase. - Use Case: You need a server config with host, port, and log level plus a database section. Define them with Config.schema, yield the combined config in Effect.gen for production, and test deterministically with ConfigProvider.fromUnknown without touching process.env. ## Quick Start Ask the AI to define a typed application config using Effect Config.schema for server and database sections and show how to test it with ConfigProvider.fromUnknown.