(note that I am not part of the dev team, I am just someone who mods the game for fun)
the game reads skills to give a unit from the 2nd array, so throw them into the new int[6] { -99, 10, 11, 16, 120, 121 })); part
yeah, any characters listed in ClassList.cs and characters created by the modded character system will be treated as entirely separate characters code-wise (so they won't inherit anything you create for them in ClassList.cs)
stomach sizer system is mainly for giving out temporary skills related to the unit's current total stomach size; you can think of it as doing "if total stomach size is greater to or equal to x then give y"
you need to have a skill on a unit with the flag Skill.Flag.Carrier or else it won't be considered as having carrier abilities (which is what chateau's bulwark does); don't try to use 120 or 121 as actual skills to put on a unit since they're temporary skills that are used to designate the current state of the unit
to give a modded unit custom skills or abilities, you need to modify ModLibrary.cs (it contains a field you can edit for adding attacks / skills to a unit); it should work as long as the code you created follows the format the game uses and doesn't override anything itself
the first stat after names is the unit's gender (0 is female, 1 is male, 2 is gender-neutral), you don't really need to worry about it since it's used for pronouns (mainly just for modded units); the stat after that is for rarity which only works properly for values 3-6, any more or less than that will cause the game to break due to trying to read invalid values
yeah, that's the process you have to go through to make new attacks and put them onto a unit