I haven't found a clear set of rules for such a system (including for Agda, tho the source code admittedly should count), so in my paper Is Impredicativity Implicitly Implicit?. I wrote what I understand of Agda's rules (and according to one of the reviewers it's about right).
But I don't know what you mean by "the rules for the universe lifting function". If you want to lift a type from one universe to another you can wrap it in an inductive type which contains a large enough dummy side-info to "push" the result up to the level you want, so the "lift" can be encoded without having to add it explicitly to the system.