This document discusses how to write dynamic migrations in Drupal 8 using migration templates and derivers. Derivers allow migrations to be generated dynamically based on configurable inputs. They work by extending the DeriverBase class and implementing the getDerivativeDefinitions() method to define how derivative migrations are generated. Migration templates provide a flexible way to create migrations and derivers can be specified in the template file to dynamically generate migrations. Examples of where this approach is used include migrating sites with different languages/attributes and migrating content between Drupal versions.