Perez and Robertson ripped two-run doubles off Skoglund (1-1) in the second inning before rain moved in during the bottom half. Lightning went off in the distance, and the tarp was pulled onto the field for 1 hour, 50 minutes.
When the game resumed, the Indians quickly tacked on runs to put it away.
Dan Otero (1-0) replaced Cleveland starter Trevor Bauer after the delay and allowed one hit over 2 1/3 innings to earn his first win since Sept. 22, when he also got the decision in relief against Kansas City.
Jason Kipnis homered and drove in two for the Indians. Robertson finished with three RBIs.
The only bright spot for the Royals was second baseman Whit Merrifield, whose three hits extended his streak to 19 games. That’s the longest hit streak in the majors this season and longest by a Royals player since Alex Gordon managed the same in April 2011.
Skoglund had dazzled in his big league debut last week, outdueling Justin Verlander in a 1-0 victory over Detroit. But the 24-year-old left-hander didn’t fare nearly as well in his encore.
He worked around a double in the first, but a leadoff single and one-out walk in the second caused more trouble. Perez followed later with a double to score the game’s first runs. Kipnis then drew a walk and Robertson added his double to give Bauer a big cushion.
Bauer allowed two hits and a walk over 1 2/3 innings before the rain knocked him from the game.