I just realized I meant to post in this discussion back when it was happening but must have forgotten.
So, on the topic of roles vs. modifiers: I think a modifier should be anything that changes how a role behaves. Some of the things that mafiascum lists as modifiers are nonsense (like Bulletproof). Whenever possible, it is better to define something as a modifier rather than a role, because this maximizes our flexibility it creating unique role combinations. For example, if Ninja is taken to be a modifier, rather than a role, we can now have something like a (Ninja Roleblocker) Cop, whose roleblocking ability is untrackable, but whose copping ability is not. If Ninja is only a role, then a Ninja Roleblocker Cop can only mean someone who can roleblock and cop and cannot be tracked at all. Of course, making it a modifier still lets us do this by just having a (Ninja Roleblocker) (Ninja Cop).
So I think it's generally best to make things modifiers rather than roles whenever possible. If it's nonsensical to make it a modifier, then it has to be a role. Saying that Bulletproof is a modifier is silly because what would it even mean for a (Bulletproof Roleblocker) Cop to have his roleblocking ability be bulletproof, but not his cop ability? That is nonsense because Bulletproof is a role, not a modifier.
It's possible that some modifiers can modify modifiers, but I don't think this is a necessary component of modifiers. For example, a (1-shot Ninja) Cop is different from a 1-shot (Ninja Cop). In the first case, the ninja modifier is 1-shot, meaning that the copping ability will last forever, but can only be made untrackable once. In the second case, the copping ability is inherently untrackable, but can only be used once. On the other hand, ninja cannot modify modifiers. A (Ninja 1-shot) Cop is not defined (whereas a Ninja (1-shot Cop) is perfectly fine, and in fact equivalent (barring maybe some bizarre edge cases) to a 1-shot (Ninja Cop) (though it does not necessarily need to be the case that modifiers are commutative like this)).
In fact, it occurs to me now that not all modifiers need to be defined to modify all roles. For example, "Ninja Bulletproof" is nonsense, while "1-shot Bulletproof" is fine and "Ninja Roleblocker" is fine. So there is nothing wrong with either ninja as a modifier or bulletproof as a role, but attaching that particular role to that particular modifier makes a nonsensical expression.
Another important modifier that I'd like for us to have is active/passive. For many roles this will be automatic with the role (for example, you'd never have a passive doctor). In other cases, it will be implicit with the role, but maybe not necessary (for example, bulletproof would default to passive, but you could make it active if you want (meaning that the player would have to specify at night when he wants the ability is activated)). For passive roles, we would want to clarify whether they are mandatory, or just default to automatically activating every night. For example, a passive ninja might, for whatever reason, want to make himself visible to trackers. We should have a ruling pre-set on whether this is possible.
Okay, so now let's talk about strongman, ninja, etc., the kinds of modifiers that usually modify killing abilities. We want these to modify factional abilities. If I say that someone is a Mafia Ninja, the natural assumption is that this means that, when he performs the kill, the kill will be untrackable. I think this should be the standard notation for practical purposes, but it should only be considered as shorthand for "Mafia Goon with a Ninja modifier for performing the factional kill". Ninja itself is not a role, it can only be defined as modifying other roles. To say that someone is truly a Mafia Ninja, rather than a Mafia Goon with a Ninja modifier for performing the factional kill, is undefined. Furthermore, we want to have a way to distinguish between a Mafia Ninja Roleblocker, whose Ninja modifier applies only to the Roleblocking, and Mafia Ninja Roleblocker, whose Ninja modifier applies only to the factional kill, and Mafia Ninja Roleblocker, whose Ninja modifier applies to both the Roleblocking and the factional kill. Maybe we could get away with writing the second one as "Mafia Roleblocker Ninja" (the idea being that now Ninja is no longer modifying Roleblocker, and by default, when not followed by a role, "Ninja" applies to factional abilities), but we'll still need a way to distinguish between the first and the third. Actually, by the convention in the previous parenthetical, we could take the first one to be "Mafia Ninja Roleblocker", and the third one would be "Mafia Ninja Roleblocker Ninja".
I think that works. So the tl;dr of that paragraph is I think we can say that whenever we have [modifier] not followed by a role, [modifier] is taken to apply to all factional abilities.
So I think the nomenclature I've described so far will actually be consistent and unambiguous and will give us as much flexibility as possible in coming up with powers that may combine various roles and modifiers (in such a way that players can determine precisely how a power will behave upon seeing its name, without needing to ask the mod). The need for parentheses in some cases is a little ugly, and I'm wondering if there's a workaround for that. It may be best to separate unrelated roles and/or modifiers with a comma, though I think this will never be necessary, unless there is a role that has the same name as a modifier (in which case I think the best fix is simply to rename one, as this makes it easier to distinguish them anyway and helps players remember the precise difference between their behavior).
Since not all combinations of modifiers and/or roles will be associative, the default should be to work from left to right, unless there are parentheses. For example, a Passive 1-shot Active Ninja Roleblocker would be a player who automatically uses this power's shot, and when the shot is consumed, the player may choose whether to make his ninja ability active. Regardless, the player is able to roleblock every night. If we wanted the Roleblocking to be a part of the 1-shot, we should have said Passive 1-shot Active (Ninja Roleblocker). Either way, this is obviously a very silly role, but I'm just trying to show off how flexible the language can be.
When I started writing this post I wasn't really intending to go this deep into it, but I think this system would work really well. There are probably some other kinks to work out, like what if a faction has two factional abilities, and you want the modifier to apply to exactly one of them. JoaT-type abilities can be done with disjunctions and conjunctions but the more I think about them the uglier they get. It's fine if it's just a combination of 1-shot abilities (then you can just say "1-shot Cop and 1-shot Doc and 1-shot Roleblocker and 1-shot Tracker"), but if you want them to be able to use 3 shots during the game without reusing any of the abilities, it gets really ugly (still technically possible but not reasonable). Maybe we need a separate way of defining JoaT-type abilities and making the specifics of its mechanics clear.