Another example (this is from the mod I am working on and is the progression file)
<config>
<!-- *************************Perception Tree Changes*********************************************************** -->
<!-- Rifles -->
<remove xpath="/progression/perks/perk[@name='perkDeadEye']/effect_group/passive_effect[@name='CraftingTier']"/>
<remove xpath="/progression/perks/perk[@name='perkDeadEye']/effect_group/passive_effect[@name='RecipeTagUnlocked']"/>
<insertBefore xpath="/progression/perks/perk[@name='perkDeadEye']/effect_group/passive_effect[@name='EntityDamage']">
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,1,1,1,1" tags="PipeRifle"/>
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,2,3,3,3" tags="T1Rifle"/>
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,2,2,2,2" tags="T2Rifle"/>
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,1,1,1,1" tags="T3Rifle"/>
</insertBefore>
<!-- Demolitions -->
<remove xpath="/progression/perks/perk[@name='perkDemolitionsExpert']/effect_group/passive_effect[@name='RecipeTagUnlocked']"/>
<set xpath="/progression/perks/perk[@name='perkDemolitionsExpert']/effect_group/passive_effect[@name='CraftingTier']/@value">0,0,0,0,0</set>
<set xpath="/progression/perks/perk[@name='perkDemolitionsExpert']/effect_group/passive_effect[@name='CraftingTier']/@tags">T3Rocket</set>
<!-- Spears -->
<remove xpath="/progression/perks/perk[@name='perkJavelinMaster']/effect_group/passive_effect[@name='CraftingTier']"/>
<remove xpath="/progression/perks/perk[@name='perkJavelinMaster']/effect_group/passive_effect[@name='RecipeTagUnlocked']"/>
<insertBefore xpath="/progression/perks/perk[@name='perkJavelinMaster']/effect_group/passive_effect[@name='BlockDamage']">
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,1,1,1,1" tags="StoneSpear"/>
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,2,3,3,3" tags="T1Spear"/>
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,1,1,1,1" tags="T3Spear"/>
</insertBefore>
<!-- Salvage Operations -->
<remove xpath="/progression/perks/perk[@name='perkSalvageOperations']/effect_group/passive_effect[@name='CraftingTier']"/>
<remove xpath="/progression/perks/perk[@name='perkSalvageOperations']/effect_group/passive_effect[@name='RecipeTagUnlocked']"/>
<insertBefore xpath="/progression/perks/perk[@name='perkSalvageOperations']/effect_group/passive_effect[@name='CraftingTime']">
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,2,3,3,3" tags="T1Salvage"/>
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,2,2,2,2" tags="T2Salvage"/>
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,1,1,1,1" tags="T3Salvage"/>
</insertBefore>
<!-- New Quality 6 Crafting Perk -->
<insertAfter xpath="/progression/perks/perk[@name='perkGreaseMonkey']">
<perk name="perkQualityCrafting" parent="skillIntellectCraftsmanship" name_key="perkQualityCraftingName" desc_key="perkQualityCraftingDesc" icon="ui_game_symbol_service">
<level_requirements level="1"><requirement name="ProgressionLevel" progression_name="attIntellect" operation="GTE" value="2" desc_key="reqIntellectLevel02"/></level_requirements>
<level_requirements level="2"><requirement name="ProgressionLevel" progression_name="attIntellect" operation="GTE" value="4" desc_key="reqIntellectLevel04"/></level_requirements>
<level_requirements level="3"><requirement name="ProgressionLevel" progression_name="attIntellect" operation="GTE" value="6" desc_key="reqIntellectLevel06"/></level_requirements>
<level_requirements level="4"><requirement name="ProgressionLevel" progression_name="attIntellect" operation="GTE" value="8" desc_key="reqIntellectLevel08"/></level_requirements>
<level_requirements level="5"><requirement name="ProgressionLevel" progression_name="attIntellect" operation="GTE" value="10" desc_key="reqIntellectLevel10"/></level_requirements>
<effect_group>
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="2,2,2,2,2" tags="T1Crafting"/>
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,2,2,3,3" tags="T2Crafting"/>
<passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="0,1,2,3,4" tags="T3Crafting"/>
<effect_description level="1" desc_key="perkQualityCraftingRank1Desc" long_desc_key="perkQualityCraftingRank1LongDesc"/>
<effect_description level="2" desc_key="perkQualityCraftingRank2Desc" long_desc_key="perkQualityCraftingRank2LongDesc"/>
<effect_description level="3" desc_key="perkQualityCraftingRank3Desc" long_desc_key="perkQualityCraftingRank3LongDesc"/>
<effect_description level="4" desc_key="perkQualityCraftingRank4Desc" long_desc_key="perkQualityCraftingRank4LongDesc"/>
<effect_description level="5" desc_key="perkQualityCraftingRank5Desc" long_desc_key="perkQualityCraftingRank5LongDesc"/>
</effect_group>
</perk>
</insertAfter>
<!-- *************************Perk Book Changes*********************************************************** -->
<!-- Adding recipes to perk books -->
<insertAfter xpath="/progression/perks/perk[@name='perkUrbanCombatLandMines']/effect_group/passive_effect[@name='LandMineImmunity']">
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="mineCookingPot"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="rScrapIronPlateMine"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="mineHubcap"/>
<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="mineAirFilter"/>
</insertAfter>
</config>
I removed some stuff so it wouldn't be so large (and they are just the changes I made to the other perks). Examples of removing items, inserting items, and changing the values. I also created my own perk, though I am not yet done with it (haven't touch the localization for the description).
I used config at the start. I might change it later but for now not on my priority list.
I do recommend comments. I didn't go too much into details on the comments, but I am using them to separate the changes. It makes it much easier later when I want to add items or modify things to use the comments to quickly find the code I need to look at. My quests file is over 3k lines now .