What problem does it solve? Managing application settings in .NET becomes error-prone when configuration is scattered across files, environment variables, and hardcoded values. This Skill provides structured patterns for strongly typed configuration binding, validation, secrets management, and feature flag rollout. ## Core Features & Use Cases - Options Pattern: Bind configuration sections to strongly typed classes and inject them via IOptions<T>, IOptionsMonitor<T>, or IOptionsSnapshot<T> depending on lifetime and reload needs. - Validation and Fail-Fast Startup: Use data annotations, IValidateOptions<T>, and ValidateOnStart() to surface configuration errors at startup instead of at first use. - User Secrets and Environments: Store development secrets outside source control and manage per-environment overrides with appsettings.{Environment}.json. - Feature Flags: Gate endpoints and features with Microsoft.FeatureManagement, including percentage rollouts, targeting filters, and custom IFeatureFilter implementations. - Use Case: You need to configure an SMTP email service with validated settings, keep credentials out of source control during development, and gradually roll out a new dashboard to 50% of users. ## Quick Start Configure my .NET app's SMTP settings using the Options pattern with startup validation and user secrets for development.