For specifics as to what a good champion design is, however....
Good champion design, from the ground up, is Thresh.
Thematically, an awesome character. His "personality" matches his kit perfectly.
His music, his in-game presence, everything.
Prior to the changes to League of Legends, Thresh required a lot of skill to be very good with.
Now, they have watered it all down.
However, he still has an incredibly high skill-ceiling, allowing for a lot of skill-expression.
He has carry potential for a support as you can play-make all day with him.
He has fun off-meta builds for those days you want to do something different.
He has tons of various ways to play him, including different item builds, etc.
A good champion can be a good champion for many reasons though.
For example, the non-reworked Garen, I felt was a good champion because he was built as a beginner champion.
He is not mechanically difficult, yet when played well and picked in the right matchup, there are one-tricks that made it to challenger with him.
The contrast to this is someone like Lee Sin.
An interesting monk that has a very high level of mechanical skill to do top-level things with.
Personality and story is not as fleshed out as some characters, but overall, he has a decent role in the game.
Other characters similar to this is someone like Orianna.
A cool clockwork mage that used to be one of the measuring sticks for mid laners.
Push Q, ball goes there. Sounds easy.
Champion is not easy though.
The mid-level range on her skills mixed with the knowledge of match-ups for her gives her oodles of skill-expression and was used for a long time to determine how good you are at mid lane. Having almost no outright counters at the highest level, making most match-ups skill match-ups.
In contrast to Ori, we have someone like Annie.
Long range auto-attacks for early poke and pressure with mid-range spells that do tons of burst and very high kill-threat with flash up.
Mechanically, very simple champion that can snowball out of control very quickly.
These are all different types of good champions.
I think, overall, due to the variety of champion styles that can be "good" I would say the only requirements would be this:
Strong kits that enable them to perform the role they are created for.
Kit allows counter-play while having outplay potential, be it through mechanics or game-knowledge or positioning, etc.
A kit that is as rewarding as it is difficult. Specifically, what this means is that the champion is not "Push R, deal 1000 true damage" with a kit that is exceedingly safe to the point they are unkillable. Instead, if you perform a well-timed combo, you are rewarded. If you are in position and properly execute when an opponent missteps, they are punished for it, etc. While also allowing for that kit to be punished for your mistakes.
And honestly, that is about it. These three things are truly required for a champion to be "good."
Thought-out, well-designed character stories are huge plus, but purely for the in-game part, not required. On a personal level, this is a requirement for me to say they are truly exceptional characters.