Now that I think a bit more, I guess chaining the functions introduced in the laravel docs might be the newer way to do it:
Route::prefix('/comics/{comic:slug}/episodes')->name('episodes.')->group(function () {
Route::get('/create', [EpisodeController::class, 'create'])->middleware(['role:admin'])->name('create');
Route::post('/', [EpisodeController::class, 'store'])->middleware(['role:admin'])->name('store');
Route::get('/{episode:number}', [EpisodeController::class, 'show'])->name('show');
Route::group(['middleware' => ['role:admin']], function () {
Route::get('/{episode:number}/edit', [EpisodeController::class, 'edit'])->name('edit');
Route::put('/{episode:number}', [EpisodeController::class, 'update'])->name('update');
Route::delete('/{episode:number}', [EpisodeController::class, 'destroy'])->name('destroy');
});
});