Skaggs, who is trying to win a spot in the Angels' rotation, allowed seven hits and two runs in 5 1/3 innings.
"He took a huge step today," Angels manager Mike Scioscia said.
Skaggs and fellow left-hander Hector Santiago were acquired by Los Angeles in a three-team trade in December that sent Angels slugger Mark Trumbo to Arizona. Skaggs went 2/3 with a 5.12 ERA in seven starts with the Diamondbacks last season.
Skaggs said he hasn't been told anything as far his status with the Angels.
"I just come here day by day and look at the sheet to see my name on the list," he said. "I don't want to go back to the minors."
He said he was mostly concerned with his fastball command against the Giants and that he's not overly concerned with his curveball while in Arizona.
"It's tough to pitch in Arizona," Skaggs said. "I over-threw a little bit. I was high in the strike zone. When my curveball is working I'm rolling."
Scioscia said Skaggs would benefit by getting out of Arizona.
"You don't see too many good breaking balls in Arizona," he said.
The Giants got to Skaggs for two runs in the third, but the Angels responded with three runs in the fourth. Hamilton doubled with one out and scored on Raul Ibanez's single. J.B. Shuck doubled in two runs.
Hamilton doubled in a run in the fifth.
Giants starter Ryan Vogelsong allowed eight hits and four runs in four innings in his sixth appearance of the spring.
Tyler Colvin hit his second spring homer for San Francisco in the eighth.
Vogelsong likely will make the Giants' rotation coming out of camp, but his ERA remained at 9.00 for the spring.
The right-hander is coming off a rough season, going 4-6 with a 5.73 ERA in 19 starts with the Giants in 2013. He was 14-9 with a 3.37 ERA in 2012.
Vogelsong was held out from May 20 through Aug. 9 last season after breaking a bone in his pitching hand.
"I thought my stuff was better today," he said. "I just need to start making better pitches when I get ahead. I'll work on that the rest of the way, trying to put guys way."
Iannetta managed a walk from a 10-pitch at-bat against Vogelsong.
"There were three of four pitches that he just barely ticked," Vogelsong said. "I've got to give him credit."
Giants manager Bruce Bochy would not say if Vogelsong would begin the season as the fifth starter.
"We won't talk about what we'll do if we even talk about it," Bochy said. "I thought today he was much better. He kept the ball down."