I don't know. Do we need half-sister trait for random girls, and even unique ones too if a pack maker/player wants it?
Because in terms of dialogues it will be super easy.
I expected unique cases like that to be handled through unique labels. But if you feel traits are doable, it could work.
I don't understand the difference between $rc and $g in girlsmeets. Looks like they are interchangeable, is that so?
$ rc("line 1", "line 2", "line 3") # It stands for random choice.
$ g("line 1") # Just one line.
The main difference is that g is also bound to renpy script so you can write:
g "line 1" # without the dollar sign. That is not possible with rc which is a python function.
Without rc you'd have to do this all over the place:
$ g(choice(["line 1", "line 2", "line 3"])) # so rc does nothing but wrapping the choice function/list creation for convenience of the content creator.