Skyline assumes protonation for peptides so we can simply speak about "charge" or "charge states". For generalized molecules, we have to think about all kinds of ionization so we speak in terms of "adducts". Adduct descriptions may also specify isotope labels applied to the neutral molecule description. As such, "adducts" are similar to the idea of "modifications" in the peptide regime.
Usually beginning with a left brace "[",
then an optional dimer/trimer/etc specification,
then an "M"
then an optional isotope label specification,
then the chemical formula of the adduct,
then a closing right brace "]".
For quantification of heavy/light pairs, Skyline expects to see a single molecule with heavy and light adduct descriptions. For example you might describe the light ion as having adduct [M+2H] and its heavy counterpart as having adduct [M4D+2H] (double protonated, and four H replaced by D). Here is a transition list describing that scenario:
Molecule,Precursor Formula,Precursor Adduct
The important point is that it describes a common molecule with distinct adduct descriptions, one of which includes labeling information.
Singly protonated: [M+H]
Doubly deprotonated: [M-2H]
Sodiated dimer: [2M+Na]
Deprotonated trimer: [3M-H]
Sodiated, and two carbons per molecule replaced with C13: [M2C13+Na]
Sodiated, and two carbons per molecule replaced with C13, and three nitrogens replaced with N15: [M2C133N15+Na]
Often transition lists are presented as m/z values with integer charges only, and the actual mode of ionization can not be inferred. In these cases we just give an integer charge value.
Unknown ionization mode, charge = 1: [M+] or [M+1]
Unknown ionization mode, charge = -2: [M-2]
Sometimes a transition list indicated different precursor m/z values for the same named molecule, Skyline reads this as an isotope label of unknown formula, and expresses the mass shift as a number.
Unknown ionization mode, charge = 1, and mass shift due to unknown isotopes of total mass 5: [M5.0+]