Sanderson's Laws of Magic

Sanderson's Laws of Magic are three rules that Brandon Sanderson created when it comes to developing magic systems. While they're called Laws, he considers them to be more guidelines rather than steadfast rules, and breaking them won't necessarily immediately ruin a fantasy story for him, but he has found them helpful in making his magic systems interesting and his stories engaging. They are inspired by Issac Asimov's Three Laws of Robotics. The first law is quite simple, and makes a distinction between Hard Magic and Soft Magic. Hard Magic is magic that is expained in great, explicit detail, whereas soft magic is magic that's more mysterious. Neither is right or wrong, but if your magic is soft, then you should not use it to solve plot conflicts, less you want your readers to be horribly disatisfied with the conclusion.
 * Sanderson's First Law:  A writer's ability to resolve conflict with magic, in a SATISFYING way, is directly proportional to how well the reader understands said magic.
 * Sanderson's Second Law:  Weaknesses are more important than powers.  Weaknesses, Limitations, and costs.
 * Sanderson's Third Law:  Expand on what you have before you create something new.  If you change one thing, you change the world.
 * Sanderson's Zeroeth Law:  While magic should be bound by rules, it should still be kept awesome.

The second law brings to mind the ideas of Weaknessses, Limitations, and Costs. People tend to confuse them a lot, but there is a difference between weaknesses and limitations. Limitations are, very simply, the things that your magic can't do, as opposed to what it can do. If your character can manipulate fire, is there range or heat limitations? That sort of thing. Weaknesses are things that your enemies can exploit. The generic example is Kryptonite with Superman. Lots of writers put Kryptonite-like things in their books, but Sanderson encourages people to think outside the box and be more creative than that. Costs are the simplest one, if there's a magic spell which can do catestrophic damage, then it needs to have something that the user has to sacrifice to balance it out.

the third law states that you should expand on what you have and make each individual spell more complex before you create something new. While you can create something new, a magic system is almost always more interesting and engaging when it has few complex spells rather than dozens of shallow spells.

Sanderson also has one more law, called the Zeroeth Law, once again inspired by Azimov's Zeroeth Law of Robotics, which states that magic should still stay magical. It should be bound by rules, but the writer should still make it seem awesome.