diff --git a/core/includes/menu.inc b/core/includes/menu.inc
index da0fa2a..c298e18 100644
--- a/core/includes/menu.inc
+++ b/core/includes/menu.inc
@@ -163,7 +163,7 @@
  * Local tasks appear as tabs on a page when there are at least two defined for
  * a route, including the base route as the main tab, and additional routes as
  * other tabs. Static local tasks can be defined by adding lines like the
- * following to a module_name.local_tasks.yml file (in the top-level directory
+ * following to a module_name.links.task.yml file (in the top-level directory
  * for your module):
  * @code
  * book.admin:
@@ -196,7 +196,7 @@
  * instance, adding content is a common operation for the content management
  * page, so it should be a local action. Static local actions can be
  * defined by adding lines like the following to a
- * module_name.local_actions.yml file (in the top-level directory for your
+ * module_name.links.action.yml file (in the top-level directory for your
  * module):
  * @code
  * node.add_page:
@@ -235,7 +235,7 @@
  *
  * To declare that a defined route should be a contextual link for a
  * contextual links group, put lines like the following in a
- * module_name.contextual_links.yml file (in the top-level directory for your
+ * module_name.links.contextual.yml file (in the top-level directory for your
  * module):
  * @code
  * block_configure:
diff --git a/core/lib/Drupal/Core/Menu/ContextualLinkManager.php b/core/lib/Drupal/Core/Menu/ContextualLinkManager.php
index 0efe4ba..64c8f30 100644
--- a/core/lib/Drupal/Core/Menu/ContextualLinkManager.php
+++ b/core/lib/Drupal/Core/Menu/ContextualLinkManager.php
@@ -103,7 +103,7 @@ class ContextualLinkManager extends DefaultPluginManager implements ContextualLi
    *   The request stack.
    */
   public function __construct(ControllerResolverInterface $controller_resolver, ModuleHandlerInterface $module_handler, CacheBackendInterface $cache_backend, LanguageManager $language_manager, AccessManager $access_manager, AccountInterface $account, RequestStack $request_stack) {
-    $this->discovery = new YamlDiscovery('contextual_links', $module_handler->getModuleDirectories());
+    $this->discovery = new YamlDiscovery('links.contextual', $module_handler->getModuleDirectories());
     $this->discovery = new ContainerDerivativeDiscoveryDecorator($this->discovery);
     $this->factory = new ContainerFactory($this);
 
diff --git a/core/lib/Drupal/Core/Menu/LocalActionManager.php b/core/lib/Drupal/Core/Menu/LocalActionManager.php
index 75e499f..fc252b1 100644
--- a/core/lib/Drupal/Core/Menu/LocalActionManager.php
+++ b/core/lib/Drupal/Core/Menu/LocalActionManager.php
@@ -122,7 +122,7 @@ class LocalActionManager extends DefaultPluginManager {
   public function __construct(ControllerResolverInterface $controller_resolver, RequestStack $request_stack, RouteProviderInterface $route_provider, ModuleHandlerInterface $module_handler, CacheBackendInterface $cache_backend, LanguageManagerInterface $language_manager, AccessManager $access_manager, AccountInterface $account) {
     // Skip calling the parent constructor, since that assumes annotation-based
     // discovery.
-    $this->discovery = new YamlDiscovery('local_actions', $module_handler->getModuleDirectories());
+    $this->discovery = new YamlDiscovery('links.action', $module_handler->getModuleDirectories());
     $this->discovery = new ContainerDerivativeDiscoveryDecorator($this->discovery);
     $this->factory = new ContainerFactory($this);
     $this->controllerResolver = $controller_resolver;
diff --git a/core/lib/Drupal/Core/Menu/LocalTaskManager.php b/core/lib/Drupal/Core/Menu/LocalTaskManager.php
index b9465bf..ff9b52a 100644
--- a/core/lib/Drupal/Core/Menu/LocalTaskManager.php
+++ b/core/lib/Drupal/Core/Menu/LocalTaskManager.php
@@ -128,7 +128,7 @@ class LocalTaskManager extends DefaultPluginManager {
    *   The current user.
    */
   public function __construct(ControllerResolverInterface $controller_resolver, RequestStack $request_stack, RouteProviderInterface $route_provider, RouteBuilderInterface $route_builder, ModuleHandlerInterface $module_handler, CacheBackendInterface $cache, LanguageManager $language_manager, AccessManager $access_manager, AccountInterface $account) {
-    $this->discovery = new YamlDiscovery('local_tasks', $module_handler->getModuleDirectories());
+    $this->discovery = new YamlDiscovery('links.task', $module_handler->getModuleDirectories());
     $this->discovery = new ContainerDerivativeDiscoveryDecorator($this->discovery);
     $this->factory = new ContainerFactory($this);
     $this->controllerResolver = $controller_resolver;
diff --git a/core/modules/action/action.local_tasks.yml b/core/modules/action/action.links.task.yml
similarity index 100%
rename from core/modules/action/action.local_tasks.yml
rename to core/modules/action/action.links.task.yml
diff --git a/core/modules/aggregator/aggregator.local_actions.yml b/core/modules/aggregator/aggregator.links.action.yml
similarity index 100%
rename from core/modules/aggregator/aggregator.local_actions.yml
rename to core/modules/aggregator/aggregator.links.action.yml
diff --git a/core/modules/aggregator/aggregator.local_tasks.yml b/core/modules/aggregator/aggregator.links.task.yml
similarity index 100%
rename from core/modules/aggregator/aggregator.local_tasks.yml
rename to core/modules/aggregator/aggregator.links.task.yml
diff --git a/core/modules/block/block.contextual_links.yml b/core/modules/block/block.links.contextual.yml
similarity index 100%
rename from core/modules/block/block.contextual_links.yml
rename to core/modules/block/block.links.contextual.yml
diff --git a/core/modules/block/block.local_tasks.yml b/core/modules/block/block.links.task.yml
similarity index 100%
rename from core/modules/block/block.local_tasks.yml
rename to core/modules/block/block.links.task.yml
diff --git a/core/modules/block_content/block_content.local_actions.yml b/core/modules/block_content/block_content.links.action.yml
similarity index 100%
rename from core/modules/block_content/block_content.local_actions.yml
rename to core/modules/block_content/block_content.links.action.yml
diff --git a/core/modules/block_content/block_content.contextual_links.yml b/core/modules/block_content/block_content.links.contextual.yml
similarity index 100%
rename from core/modules/block_content/block_content.contextual_links.yml
rename to core/modules/block_content/block_content.links.contextual.yml
diff --git a/core/modules/block_content/block_content.local_tasks.yml b/core/modules/block_content/block_content.links.task.yml
similarity index 100%
rename from core/modules/block_content/block_content.local_tasks.yml
rename to core/modules/block_content/block_content.links.task.yml
diff --git a/core/modules/book/book.local_tasks.yml b/core/modules/book/book.links.task.yml
similarity index 100%
rename from core/modules/book/book.local_tasks.yml
rename to core/modules/book/book.links.task.yml
diff --git a/core/modules/comment/comment.local_actions.yml b/core/modules/comment/comment.links.action.yml
similarity index 100%
rename from core/modules/comment/comment.local_actions.yml
rename to core/modules/comment/comment.links.action.yml
diff --git a/core/modules/comment/comment.local_tasks.yml b/core/modules/comment/comment.links.task.yml
similarity index 100%
rename from core/modules/comment/comment.local_tasks.yml
rename to core/modules/comment/comment.links.task.yml
diff --git a/core/modules/config/config.local_tasks.yml b/core/modules/config/config.links.task.yml
similarity index 100%
rename from core/modules/config/config.local_tasks.yml
rename to core/modules/config/config.links.task.yml
diff --git a/core/modules/config/tests/config_test/config_test.local_actions.yml b/core/modules/config/tests/config_test/config_test.links.action.yml
similarity index 100%
rename from core/modules/config/tests/config_test/config_test.local_actions.yml
rename to core/modules/config/tests/config_test/config_test.links.action.yml
diff --git a/core/modules/config/tests/config_test/config_test.local_tasks.yml b/core/modules/config/tests/config_test/config_test.links.task.yml
similarity index 100%
rename from core/modules/config/tests/config_test/config_test.local_tasks.yml
rename to core/modules/config/tests/config_test/config_test.links.task.yml
diff --git a/core/modules/config_translation/config_translation.contextual_links.yml b/core/modules/config_translation/config_translation.links.contextual.yml
similarity index 100%
rename from core/modules/config_translation/config_translation.contextual_links.yml
rename to core/modules/config_translation/config_translation.links.contextual.yml
diff --git a/core/modules/config_translation/config_translation.local_tasks.yml b/core/modules/config_translation/config_translation.links.task.yml
similarity index 100%
rename from core/modules/config_translation/config_translation.local_tasks.yml
rename to core/modules/config_translation/config_translation.links.task.yml
diff --git a/core/modules/contact/contact.local_actions.yml b/core/modules/contact/contact.links.action.yml
similarity index 100%
rename from core/modules/contact/contact.local_actions.yml
rename to core/modules/contact/contact.links.action.yml
diff --git a/core/modules/contact/contact.local_tasks.yml b/core/modules/contact/contact.links.task.yml
similarity index 100%
rename from core/modules/contact/contact.local_tasks.yml
rename to core/modules/contact/contact.links.task.yml
diff --git a/core/modules/content_translation/content_translation.contextual_links.yml b/core/modules/content_translation/content_translation.links.contextual.yml
similarity index 100%
rename from core/modules/content_translation/content_translation.contextual_links.yml
rename to core/modules/content_translation/content_translation.links.contextual.yml
diff --git a/core/modules/content_translation/content_translation.local_tasks.yml b/core/modules/content_translation/content_translation.links.task.yml
similarity index 100%
rename from core/modules/content_translation/content_translation.local_tasks.yml
rename to core/modules/content_translation/content_translation.links.task.yml
diff --git a/core/modules/contextual/contextual.module b/core/modules/contextual/contextual.module
index 2f69521..7969d34 100644
--- a/core/modules/contextual/contextual.module
+++ b/core/modules/contextual/contextual.module
@@ -176,7 +176,7 @@ function contextual_pre_render_placeholder($element) {
  * @param $element
  *   A renderable array containing a #contextual_links property, which is a
  *   keyed array. Each key is the name of the group of contextual links to
- *   render (based on the 'group' key in the *.contextual_links.yml files for
+ *   render (based on the 'group' key in the *.links.contextual.yml files for
  *   all enabled modules). The value contains an associative array containing
  *   the following keys:
  *   - route_parameters: The route parameters passed to the url generator.
diff --git a/core/modules/entity/entity.local_actions.yml b/core/modules/entity/entity.links.action.yml
similarity index 100%
rename from core/modules/entity/entity.local_actions.yml
rename to core/modules/entity/entity.links.action.yml
diff --git a/core/modules/entity/entity.local_tasks.yml b/core/modules/entity/entity.links.task.yml
similarity index 100%
rename from core/modules/entity/entity.local_tasks.yml
rename to core/modules/entity/entity.links.task.yml
diff --git a/core/modules/field_ui/field_ui.local_tasks.yml b/core/modules/field_ui/field_ui.links.task.yml
similarity index 100%
rename from core/modules/field_ui/field_ui.local_tasks.yml
rename to core/modules/field_ui/field_ui.links.task.yml
diff --git a/core/modules/filter/filter.local_actions.yml b/core/modules/filter/filter.links.action.yml
similarity index 100%
rename from core/modules/filter/filter.local_actions.yml
rename to core/modules/filter/filter.links.action.yml
diff --git a/core/modules/filter/filter.local_tasks.yml b/core/modules/filter/filter.links.task.yml
similarity index 100%
rename from core/modules/filter/filter.local_tasks.yml
rename to core/modules/filter/filter.links.task.yml
diff --git a/core/modules/forum/forum.local_actions.yml b/core/modules/forum/forum.links.action.yml
similarity index 100%
rename from core/modules/forum/forum.local_actions.yml
rename to core/modules/forum/forum.links.action.yml
diff --git a/core/modules/forum/forum.local_tasks.yml b/core/modules/forum/forum.links.task.yml
similarity index 100%
rename from core/modules/forum/forum.local_tasks.yml
rename to core/modules/forum/forum.links.task.yml
diff --git a/core/modules/image/image.local_actions.yml b/core/modules/image/image.links.action.yml
similarity index 100%
rename from core/modules/image/image.local_actions.yml
rename to core/modules/image/image.links.action.yml
diff --git a/core/modules/image/image.local_tasks.yml b/core/modules/image/image.links.task.yml
similarity index 100%
rename from core/modules/image/image.local_tasks.yml
rename to core/modules/image/image.links.task.yml
diff --git a/core/modules/language/language.local_actions.yml b/core/modules/language/language.links.action.yml
similarity index 100%
rename from core/modules/language/language.local_actions.yml
rename to core/modules/language/language.links.action.yml
diff --git a/core/modules/language/language.local_tasks.yml b/core/modules/language/language.links.task.yml
similarity index 100%
rename from core/modules/language/language.local_tasks.yml
rename to core/modules/language/language.links.task.yml
diff --git a/core/modules/locale/locale.local_tasks.yml b/core/modules/locale/locale.links.task.yml
similarity index 100%
rename from core/modules/locale/locale.local_tasks.yml
rename to core/modules/locale/locale.links.task.yml
diff --git a/core/modules/menu_ui/menu_ui.local_actions.yml b/core/modules/menu_ui/menu_ui.links.action.yml
similarity index 100%
rename from core/modules/menu_ui/menu_ui.local_actions.yml
rename to core/modules/menu_ui/menu_ui.links.action.yml
diff --git a/core/modules/menu_ui/menu_ui.contextual_links.yml b/core/modules/menu_ui/menu_ui.links.contextual.yml
similarity index 100%
rename from core/modules/menu_ui/menu_ui.contextual_links.yml
rename to core/modules/menu_ui/menu_ui.links.contextual.yml
diff --git a/core/modules/menu_ui/menu_ui.local_tasks.yml b/core/modules/menu_ui/menu_ui.links.task.yml
similarity index 100%
rename from core/modules/menu_ui/menu_ui.local_tasks.yml
rename to core/modules/menu_ui/menu_ui.links.task.yml
diff --git a/core/modules/node/node.local_actions.yml b/core/modules/node/node.links.action.yml
similarity index 100%
rename from core/modules/node/node.local_actions.yml
rename to core/modules/node/node.links.action.yml
diff --git a/core/modules/node/node.contextual_links.yml b/core/modules/node/node.links.contextual.yml
similarity index 100%
rename from core/modules/node/node.contextual_links.yml
rename to core/modules/node/node.links.contextual.yml
diff --git a/core/modules/node/node.local_tasks.yml b/core/modules/node/node.links.task.yml
similarity index 100%
rename from core/modules/node/node.local_tasks.yml
rename to core/modules/node/node.links.task.yml
diff --git a/core/modules/path/path.local_actions.yml b/core/modules/path/path.links.action.yml
similarity index 100%
rename from core/modules/path/path.local_actions.yml
rename to core/modules/path/path.links.action.yml
diff --git a/core/modules/path/path.local_tasks.yml b/core/modules/path/path.links.task.yml
similarity index 100%
rename from core/modules/path/path.local_tasks.yml
rename to core/modules/path/path.links.task.yml
diff --git a/core/modules/responsive_image/responsive_image.local_actions.yml b/core/modules/responsive_image/responsive_image.links.action.yml
similarity index 100%
rename from core/modules/responsive_image/responsive_image.local_actions.yml
rename to core/modules/responsive_image/responsive_image.links.action.yml
diff --git a/core/modules/responsive_image/responsive_image.local_tasks.yml b/core/modules/responsive_image/responsive_image.links.task.yml
similarity index 100%
rename from core/modules/responsive_image/responsive_image.local_tasks.yml
rename to core/modules/responsive_image/responsive_image.links.task.yml
diff --git a/core/modules/search/search.local_tasks.yml b/core/modules/search/search.links.task.yml
similarity index 100%
rename from core/modules/search/search.local_tasks.yml
rename to core/modules/search/search.links.task.yml
diff --git a/core/modules/shortcut/shortcut.local_actions.yml b/core/modules/shortcut/shortcut.links.action.yml
similarity index 100%
rename from core/modules/shortcut/shortcut.local_actions.yml
rename to core/modules/shortcut/shortcut.links.action.yml
diff --git a/core/modules/shortcut/shortcut.local_tasks.yml b/core/modules/shortcut/shortcut.links.task.yml
similarity index 100%
rename from core/modules/shortcut/shortcut.local_tasks.yml
rename to core/modules/shortcut/shortcut.links.task.yml
diff --git a/core/modules/simpletest/simpletest.local_tasks.yml b/core/modules/simpletest/simpletest.links.task.yml
similarity index 100%
rename from core/modules/simpletest/simpletest.local_tasks.yml
rename to core/modules/simpletest/simpletest.links.task.yml
diff --git a/core/modules/system/core.api.php b/core/modules/system/core.api.php
index 0503464..e1b0d80 100644
--- a/core/modules/system/core.api.php
+++ b/core/modules/system/core.api.php
@@ -632,7 +632,7 @@
  *   call is \Drupal\Core\Datetime\Date::format().
  * - Some YML files contain UI text that is automatically translatable:
  *   - *.routing.yml files: route titles. This also applies to
- *     *.local_tasks.yml, *.local_actions, and *.contextual_links.yml files.
+ *     *.links.task.yml, *.links.action.yml, and *.links.contextual.yml files.
  *   - *.info.yml files: module names and descriptions.
  * - For configuration, make sure any configuration that is displayable to
  *   users is marked as translatable in the configuration schema. Configuration
diff --git a/core/modules/system/system.local_actions.yml b/core/modules/system/system.links.action.yml
similarity index 100%
rename from core/modules/system/system.local_actions.yml
rename to core/modules/system/system.links.action.yml
diff --git a/core/modules/system/system.local_tasks.yml b/core/modules/system/system.links.task.yml
similarity index 100%
rename from core/modules/system/system.local_tasks.yml
rename to core/modules/system/system.links.task.yml
diff --git a/core/modules/system/tests/modules/batch_test/batch_test.local_tasks.yml b/core/modules/system/tests/modules/batch_test/batch_test.links.task.yml
similarity index 100%
rename from core/modules/system/tests/modules/batch_test/batch_test.local_tasks.yml
rename to core/modules/system/tests/modules/batch_test/batch_test.links.task.yml
diff --git a/core/modules/system/tests/modules/entity_test/entity_test.local_tasks.yml b/core/modules/system/tests/modules/entity_test/entity_test.links.task.yml
similarity index 100%
rename from core/modules/system/tests/modules/entity_test/entity_test.local_tasks.yml
rename to core/modules/system/tests/modules/entity_test/entity_test.links.task.yml
diff --git a/core/modules/system/tests/modules/menu_test/menu_test.local_actions.yml b/core/modules/system/tests/modules/menu_test/menu_test.links.action.yml
similarity index 100%
rename from core/modules/system/tests/modules/menu_test/menu_test.local_actions.yml
rename to core/modules/system/tests/modules/menu_test/menu_test.links.action.yml
diff --git a/core/modules/system/tests/modules/menu_test/menu_test.contextual_links.yml b/core/modules/system/tests/modules/menu_test/menu_test.links.contextual.yml
similarity index 100%
rename from core/modules/system/tests/modules/menu_test/menu_test.contextual_links.yml
rename to core/modules/system/tests/modules/menu_test/menu_test.links.contextual.yml
diff --git a/core/modules/system/tests/modules/menu_test/menu_test.local_tasks.yml b/core/modules/system/tests/modules/menu_test/menu_test.links.task.yml
similarity index 100%
rename from core/modules/system/tests/modules/menu_test/menu_test.local_tasks.yml
rename to core/modules/system/tests/modules/menu_test/menu_test.links.task.yml
diff --git a/core/modules/taxonomy/taxonomy.local_actions.yml b/core/modules/taxonomy/taxonomy.links.action.yml
similarity index 100%
rename from core/modules/taxonomy/taxonomy.local_actions.yml
rename to core/modules/taxonomy/taxonomy.links.action.yml
diff --git a/core/modules/taxonomy/taxonomy.contextual_links.yml b/core/modules/taxonomy/taxonomy.links.contextual.yml
similarity index 100%
rename from core/modules/taxonomy/taxonomy.contextual_links.yml
rename to core/modules/taxonomy/taxonomy.links.contextual.yml
diff --git a/core/modules/taxonomy/taxonomy.local_tasks.yml b/core/modules/taxonomy/taxonomy.links.task.yml
similarity index 100%
rename from core/modules/taxonomy/taxonomy.local_tasks.yml
rename to core/modules/taxonomy/taxonomy.links.task.yml
diff --git a/core/modules/tour/tests/tour_test/tour_test.local_actions.yml b/core/modules/tour/tests/tour_test/tour_test.links.action.yml
similarity index 100%
rename from core/modules/tour/tests/tour_test/tour_test.local_actions.yml
rename to core/modules/tour/tests/tour_test/tour_test.links.action.yml
diff --git a/core/modules/tracker/tracker.local_tasks.yml b/core/modules/tracker/tracker.links.task.yml
similarity index 100%
rename from core/modules/tracker/tracker.local_tasks.yml
rename to core/modules/tracker/tracker.links.task.yml
diff --git a/core/modules/update/update.local_actions.yml b/core/modules/update/update.links.action.yml
similarity index 100%
rename from core/modules/update/update.local_actions.yml
rename to core/modules/update/update.links.action.yml
diff --git a/core/modules/update/update.local_tasks.yml b/core/modules/update/update.links.task.yml
similarity index 100%
rename from core/modules/update/update.local_tasks.yml
rename to core/modules/update/update.links.task.yml
diff --git a/core/modules/user/user.local_actions.yml b/core/modules/user/user.links.action.yml
similarity index 100%
rename from core/modules/user/user.local_actions.yml
rename to core/modules/user/user.links.action.yml
diff --git a/core/modules/user/user.contextual_links.yml b/core/modules/user/user.links.contextual.yml
similarity index 100%
rename from core/modules/user/user.contextual_links.yml
rename to core/modules/user/user.links.contextual.yml
diff --git a/core/modules/user/user.local_tasks.yml b/core/modules/user/user.links.task.yml
similarity index 100%
rename from core/modules/user/user.local_tasks.yml
rename to core/modules/user/user.links.task.yml
diff --git a/core/modules/views/views.local_tasks.yml b/core/modules/views/views.links.task.yml
similarity index 100%
rename from core/modules/views/views.local_tasks.yml
rename to core/modules/views/views.links.task.yml
diff --git a/core/modules/views_ui/views_ui.local_actions.yml b/core/modules/views_ui/views_ui.links.action.yml
similarity index 100%
rename from core/modules/views_ui/views_ui.local_actions.yml
rename to core/modules/views_ui/views_ui.links.action.yml
diff --git a/core/modules/views_ui/views_ui.contextual_links.yml b/core/modules/views_ui/views_ui.links.contextual.yml
similarity index 100%
rename from core/modules/views_ui/views_ui.contextual_links.yml
rename to core/modules/views_ui/views_ui.links.contextual.yml
diff --git a/core/modules/views_ui/views_ui.local_tasks.yml b/core/modules/views_ui/views_ui.links.task.yml
similarity index 100%
rename from core/modules/views_ui/views_ui.local_tasks.yml
rename to core/modules/views_ui/views_ui.links.task.yml
diff --git a/core/tests/Drupal/Tests/Core/Menu/LocalTaskIntegrationTest.php b/core/tests/Drupal/Tests/Core/Menu/LocalTaskIntegrationTest.php
index c620cc9..1a176f6 100644
--- a/core/tests/Drupal/Tests/Core/Menu/LocalTaskIntegrationTest.php
+++ b/core/tests/Drupal/Tests/Core/Menu/LocalTaskIntegrationTest.php
@@ -108,7 +108,7 @@ protected function getLocalTaskManager($module_dirs, $route_name, $route_params)
         return isset($module_dirs[$module]);
       }));
 
-    $pluginDiscovery = new YamlDiscovery('local_tasks', $module_dirs);
+    $pluginDiscovery = new YamlDiscovery('links.task', $module_dirs);
     $pluginDiscovery = new ContainerDerivativeDiscoveryDecorator($pluginDiscovery);
     $property = new \ReflectionProperty('Drupal\Core\Menu\LocalTaskManager', 'discovery');
     $property->setAccessible(TRUE);
