Should I Use Custom Fields for Custom Symbol Libraries?

If I use custom fields, different components will require different ones—for example, a voltage field for capacitors and a power rating field for resistors. However, these numerous distinct custom fields can cause issues when exporting the BOM (Bill of Materials). If I don’t use custom fields, component-specific information has to be placed in the description field instead.

For KiCad symbol libraries, which approach is considered the best practice?

KiCad has: Schematic Editor / File / Schematic Setup / General / Field Name Templates. This lets you define a limited amount of extra field names which will be available in all symbols. This makes it easier to re-use these fieldnames (and without spelling errors), so you can add new fields but still keep the amount of extra field names manageable.

Elaborate. If you use reproducible output generation automation, e.g. KiBot, this should be no big deal. You can also easily create githooks to catch any typos in field naming etc before committing to source control.