To build on John Dallman's answer, I'd like to note one thing that his otherwise excellent math ignores: skeletons only have 1 HD, i.e. 1d8 HP. This means that, regardless of which weapon you're using, you've got a pretty good chance of slaying them in one hit.
And that means that a simple average DPR calculation doesn't tell the full story — weapons that consistently deal a small amount of damage tend to do better against weak opponents than weapons that occasionally deal a large amount of damage, because that skeleton will be just as dead if you reduce it to 0 HP as if you smash it down to -7 HP.
A more useful measure, in this case, would be the average number of hits needed to reduce a skeleton down to 0 HP or less. This isn't too hard to calculate by pencil and paper,* but if we're lazy, we can just write a simple AnyDice script to do it for us:
function: DIE:d hits to kill HP:n {
if HP <= 0 { result: 0 }
result: 1 + [DIE hits to kill HP - DIE]
}
output [(1d8+6)/2 hits to kill 1d8] named "+3 battle-axe hits to kill 1HD skeleton"
output [(1d10+6)/2 hits to kill 1d8] named "+3 halberd hits to kill 1HD skeleton"
output [1d6+4 hits to kill 1d8] named "flail hits to kill 1HD skeleton"
(Note that this simple recursive script may get slow if the target can have lots of HP. For a 1 HD skeleton, it works just fine, though.)
As in John's answer, I'm assuming a +3 strength bonus to damage here. Looking at the summary output, we can see that the battle-axe takes on average about 1.387 successful hits to kill a single skeleton, while the halberd takes 1.32 successful hits and the flail only 1.125 successful hits on average.
But, of course, we also need to account for the different probabilities of actually hitting the target with each of those weapons. We can do that simply by dividing the average number of successful hits needed to kill the enemy with the probability of landing a hit.
Thus the battle-axe, with a 70% chance of hitting the target (with +1 to hit, as assumed by John), need on average 1.387 / 0.7 ≈ 1.981 attacks to kill a 1 HD skeleton, while the halberd needs on average 1.32 / 0.7 ≈ 1.886 attacks and the flail, with only a 55% chance of hitting, needs 1.125 / 0.55 ≈ 2.045 attacks.
So it turns out that the flail, despite dealing the most average damage per attack, actually takes the longest to kill the skeletons on average. Basically that's because the flail's extra damage-dealing potential is wasted when the target only has a few HP left anyway, whereas the +3 to-hit bonus of the battle-axe and the halberd remain just as useful as ever.
Of course, if you really wanted to optimize things, you could consider more complex strategies like starting with the flail and switching weapons after landing the first hit. Honestly, though, I wouldn't bother. In practice, the difference between 1.886 and 2.045 will be lost in statistical noise anyway, and the proper conclusion to draw from all this math is that, no matter which weapon you pick, those skeletons will be dead after you take about two swings at them, on average.
And, of course, that's still just the statistical average. In a real fight, no matter which weapon you choose, you could always get unlucky and just keep rolling ones on all your attack rolls.
*) Ps. To calculate the average number of hits needed by hand, you can make a table like this:
| avg. hits to kill with:
| (1d8+6)/2 | (1d10+6)/2 | 1d6+4
HP | battle-axe | halberd | flail
---+------------+------------+-------
1 | 1 | 1 | 1
2 | 1 | 1 | 1
3 | 1 | 1 | 1
4 | 1.125 | 1.1 | 1
5 | 1.375 | 1.3 | 1
6 | 1.625 | 1.5 | 1.166667
7 | 1.890625 | 1.71 | 1.333333
8 | 2.078125 | 1.95 | 1.5
Each of the columns (except, of course, the one labeled "HP") gives the average number of hits needed to kill the enemy with a particular weapon, depending on the number of HP it has left. The different columns are completely independent of each other; they're only given in a single table for the sake of compactness.
To get the values for each row, you need to use the previous rows to determine the average number of hits needed to kill the enemy after hitting it once, and add one. For example, let's say the enemy has 4 HP left, and we're using the battle-axe that deals (1d8+6)/2 damage, rounded down (left column in table above). That means the enemy will be dead after one successful hit if we roll anything except a one on the damage roll (in which case it will survive with 1 HP and, as the first row indicates, will take on average 1 more hit to kill). Since the odds of rolling a one on 1d8 is 1/8, the average number of battle-axe hits to kill a 4 HP skeleton will be 1 + (0 × 7/8 + 1 × 1/8) = 1 + 1/8 = 1.125.
Once you've finished compiling the table, you can then take the average of the rows to determine the number of hits needed to kill an average enemy. For a skeleton with 1 HD (and thus 1d8 HP), that just means taking the average of the rows from 1 to 8. (For enemies with more than one HD, you'd need to take a weighted average instead, with the weight of each row given by the probability of the enemy having that many HP.)