I’m assuming you mean juggles when you say combos. For links and ground loops, etcetera, the process is pretty simple if you have frame data.
For games nowadays, your major restriction is damage/hitstun scaling. What does this mean to you, in practical terms? Find a short sequence (the “meat” of the combo) that does a lot of damage per hit (or however scaling is computed). Try to fit as MANY of those high damage sequences as possible. If something doesn’t work, is it a juggle priority, hitstun decay, or spacing problem? If it’s a juggle priority/hitstun decay problem, either revamp the entire combo or just go into an ender you have. If it’s a spacing problem, is there another way to continue the combo? Does your character have an attack that will reach when no other attacks will? If not, can you change your juggle timings so you can connect a different attack?
Let’s take a simple MvC3 Wesker combo. There a couple of factors that limit combo potential in MvC3. For Wesker, the ones that matter are hitstun decay, damage scaling, the wallbounce limit, and spacing. Just from a damage scaling perspective (which is a hard limit), Wesker’s Ghost Butterfly is his highest damage attack but it requires a wallbounce so you can usually only combo one in a single combo . Cobra Strike doesn’t do as much damage but it still does 100k unscaled. However, the combo from Cobra Strike to OTG to whatever only works at low hitstun scaling. Therefore we save his wallbounce for later and use Cobra Strike first.
j.s, j.h, cr.h, and df.h are his best damage normals per hit. So a max damage Wesker combo would start of j.s -> cr.h xx cobra strike. After the OTG shot, you can’t combo a cr.h (with glasses on) so you need to do a faster move, like cr.m. However, at this point you can’t combo off Cobra Strike anymore. So we’ll use our Ghost Butterfly. However, you can’t do cr.m cr.h xx ghost butterfly in this situation so we have to do s.h, which does less damage overall because of its two attacks. Regardless, it lets us continue the combo. Anyway, we do cr.m, s.h xx Ghost Butterfly. Off the wallbounce you can do whatever you want until they get knocked down. You can also teleport cancel Ghost Butterfly, so let’s do some more of his high damage moves. Teleport with :h: for positioning, do a late j.s -> cr.h. We’ve already used Ghost Butterfly so right now the only option to continue the combo is a launcher. Wesker’s best damage air series is mmhs. After that you get a free OTG gunshot but you can’t combo off it assistless. So the combo is done, hitstun scaling wins at this point.
What should you take from this whole thing? How to build optimal combos rests primarily on system mechanics. What are the limiting factors? In Marvel, Magneto j.h xx air dash xx j.h xN is good in flight mode because it’s a single move that does good damage and the system doesn’t care about repeating the same move over and over. In Skullgirls, the combo would drop quickly. So therefore Skullgirls combos are going to be about extending combos in unique ways. There’s no damage or hitstun scaling, so you should try to use all of your moves in every combo. Your attacks are ‘capital’ because they let you extend your combos longer. So when you do a combo, try to use as many different moves as possible. If you haven’t used a normal or special in the combo yet, try to use it to extend the combo.