diff --git a/.phpcs.xml b/.phpcs.xml
index 7548bdabf11..272e0f5ff79 100644
--- a/.phpcs.xml
+++ b/.phpcs.xml
@@ -78,7 +78,6 @@
any new occurrences.
-->
*/includes/Feed\.php
- */includes/jobqueue/JobSpecification\.php
*/includes/RevisionList\.php
*/includes/installer/PhpBugTests\.php
*/includes/specials/SpecialMostinterwikis\.php
@@ -238,7 +237,6 @@
*/includes/htmlform/HTMLFormElement\.php
*/includes/jobqueue/aggregator/JobQueueAggregator\.php
*/includes/jobqueue/JobQueue\.php
- */includes/jobqueue/JobSpecification\.php
*/includes/libs/filebackend/FileBackendStore\.php
*/includes/libs/filebackend/FSFileBackend\.php
*/includes/libs/filebackend/SwiftFileBackend\.php
diff --git a/autoload.php b/autoload.php
index 2559552e3ff..348a0d20502 100644
--- a/autoload.php
+++ b/autoload.php
@@ -647,7 +647,7 @@ $wgAutoloadLocalClasses = [
'IEContentAnalyzer' => __DIR__ . '/includes/libs/mime/IEContentAnalyzer.php',
'IEUrlExtension' => __DIR__ . '/includes/libs/IEUrlExtension.php',
'IExpiringStore' => __DIR__ . '/includes/libs/objectcache/IExpiringStore.php',
- 'IJobSpecification' => __DIR__ . '/includes/jobqueue/JobSpecification.php',
+ 'IJobSpecification' => __DIR__ . '/includes/jobqueue/IJobSpecification.php',
'ILocalizedException' => __DIR__ . '/includes/exception/ILocalizedException.php',
'IMaintainableDatabase' => __DIR__ . '/includes/libs/rdbms/database/IMaintainableDatabase.php',
'IP' => __DIR__ . '/includes/libs/IP.php',
diff --git a/includes/jobqueue/IJobSpecification.php b/includes/jobqueue/IJobSpecification.php
new file mode 100644
index 00000000000..8bc1bc3f746
--- /dev/null
+++ b/includes/jobqueue/IJobSpecification.php
@@ -0,0 +1,84 @@
+