I'm wondering why we never had this in place before, but it makes logical sense.
Instead of ABILITY:foo why don't we have:
x = text (Allowed File Types)
y = filepath
z = INCLUDE (optional)
z = EXCLUDE (optional)
z = PRExxx (optional)
FILE:ABILITY|killshot_abilities_trait.lst|EXCLUDE:Mum's The Word
CONVERSION would be simple - ANY existing file type in the PCC would be automatically converted to the new method.
What would be the advantage over the current implementation?
#1 - Standardization - We have ambiguity since we have tags with the same name but different functions depending on location. ABILITY: is a file path if in pcc, but it's ABILITY:Category|Nature|NameOrType elsewhere. SKILL is a kit or Pcc call, FEAT is a Race or PCC call file, etc. Strictly speaking, this can confuse new home-brewers, and stops us from doing cool things in the PCC - see #2 below.
#2 - It is a hope of mine, that eventually we'll be able to use ABILITY:Special Ability|AUTOMATIC|Campaign Rule ~ Foo or similar tags as they were meant to be in a PCC (We can use BONUS, but ABILITY was thwarted due to the double use issue). We can actually have 'GLOBAL' tags that do and mean the exact same thing regardless of location. BONUS works in the PCC, but nothing else.
#3 - You might have missed it, but the addition of PRExxx capability. Hopefully, we might be able to get this function with a standard tag. It might be a pipe dream, but it's worth a request. Granted, I'm expecting only PRECAMPAIGN and nothing else, as PREFEAT seems stupid since you won't have a Feat applied and then load another file (Or can we...)