I definitely liked the "slowing people down" aspect of the pyramid system, but I ran into quite a few players who couldn't wrap their heads around balancing their pyramids. It really detracted from the game experience for them, and they started wishing they could "just level their character up like in DnD"... which scared me silly cause I hate DnD. I came up with a nice alternative that creates almost the same mechanic, but also makes room for *slightly* more specialized characters that don't have quite as wide a base. In a single sentence: "You must wait a number of phases equal to a skill's level before you may raise that skill again, and you may not raise a skill more than once in the same phase"
This means that you can relatively quickly raise your skills to "good", taking the same skill two phases in a row, but after that, you must wait at least a phase before raising it higher, (so your character could achieve a "great" on their 4th phase) and two phases after that, and so on. End result: nothing above a "great" at the start of a typical 5-phase character creation, and only a couple skills that the character has been practicing their entire life qualify. More importantly to my problem, the advancement of a given skill is no longer inherently tied to the levels of all the other skills, resulting in significantly less "bookkeeping" when it comes time to advance a character. I do miss the "how does basketweaving help my swordplay" explanation, but my players seem to enjoy it quite a bit more.
As far as staying true to the system, in my experience the skill-lists that result are almost always pyramids or lower tiered "mesas" anyways, but every now and then you get a fairly specialized character with only 6 or 7 skills that are all in the good/great area. A classic specialist who has their own unique gameplay challenges to deal with, which I think actually adds to the game by allowing characters with relatively broad/narrow skillsets to exist, and creating less "overlap" between character's skills so that each player feels like they're more unique.
This was kinda based off the idea that when you first start learning a skill in real life, you make progress quickly because there is so much to learn, and just getting all the basics down will significantly improve your results in that area. But as you become more proficient, raising yourself above that level takes more time and dedication, teachers become harder to find, and a lot of time you have to start inventing your own methods or techniques, resulting in longer time between discrete improvements.
Thoughts as to how this would work for a magic advancement system?