The Sabres suffered their first loss of the season, wasting a late game-tying goal by Drew Stafford.
Stafford's goal came with 2:21 to go in the third and overtime appeared likely before Skinner came through on the power play. He scored while Thomas Vanek was in the penalty box for tripping.
Carolina twice came back from a one-goal deficit and then took a 3-2 lead 6:59 into the second period on a wrist shot by Tim Brent that came with the Hurricanes shorthanded.
Vanek produced Buffalo's first goal 6:58 into the game, his third of the season.
The Sabres had won their first two outings of the year. Carolina has two victories in a row after losing its first three games.
Cam Ward got the win by making 39 saves. Miller stopped 30 shots.