For HO teams, a general skeleton could be: 1-2 pokes that will support the team, and 4-5 sweepers to destroy the opposition. The following moves are very valuable on your supports: Stealth Rock (which is the only mandatory move), Spikes, Dual Screens, fast Taunt to prevent opposition set-up, Tailwind, moves that can harm opposing switch-ins or Spinners (HP Fire / Flamethrower, Thunderbolt, Explosion, Memento, etc) Deoxys-D, Mew, Azelf, Aerodactyl are examples of good "supporting" pokes. For the sweepers, it's a good idea (but not mandatory) to stack physical or special sweepers, maybe with one exception, to make dedicated walls crumble easier. Physical tend to work better in my experience: that Skarmory can't absorb your attacks forever, while Blissey and Chansey tend to do so much better. Also, make sure that you aren't single handedly stopped by some wall, or swept by something else. Having checks for the main threats in the meta, even shaky ones, is a great idea. I love running Scarf Latios in such teams, that's just an example, but it checks many annoying things that could otherwise be dangerous. Also, priority is a huge help (I always run two or more in HO teams), thus pokes like Breloom, Scizor, Lucario and Mamoswine are great candidates.
Weather HO teams or just offensive ones are harder to define and to give a template that works while building them. You should be flexible and try a couple of options yourself to get an idea of what works / what doesn't in the team you're trying to build.