Reincarnation in Lurianic Kabbalah
As he did in many other areas of Kabbalistic thought, Isaac Luria introduced novel teachings into the discussion of reincarnation. He himself believed he could see the history of the souls of the people that he encountered. Based on this, he would tell his disciples who they had been, what transgressions they might have to do teshuvah and a Tikkun for, and offer them meditations to facilitate this.
Luria believed that every soul needed to study the entire Torah both in the conventional and mystical sense and fulfill all 613 Mitzvot. A soul would keep reincarnating until it had fulfilled this mission for which it had been brought into the physical realm in the first place.
Another novelty in Luria's understanding of gilgul was his notion of “sparks” in souls. He saw individual people as being the home to the spark of larger souls. In other words, the soul spark of more than one person can share the same root, but, nevertheless, each soul is unique. Therefore, the tikkunim that it could bring about in the cosmos and the upper worlds were directly related to the root of that person's particular soul spark.
Complicating matters further was the view that each person often had more than a mere nefesh, but also a ruakh level of soul and a neshama level of soul, too. Each of these had its root in a different part of the upper worlds. The Ari and his disciples believed that Luria could perceive all of this about a person.
Sparks of souls were part of larger soul “families” so to speak, and the other members of your soul's family could supplement your fulfillment of mitzvot and acts of Tikkun, thus shortening the number of gilgulim your soul had to undergo.
Which Soul Transmigrates?
Generally speaking, only the nefesh undergoes transmigration. For most Kabbalists, ruakh and neshama, both of which have higher roots, don't transgress. Therefore, for those who see transmigration as a form of punishment for an erring soul, the ruakh and neshama would not undergo transmigration.