The append rule $ does only append and takes exactly one argument. $-! means "append - and then apply rule !". (! is a completely different rule and has one argument again). If you want to append "-!" you need the rule "$-$!".
If you want to prepend you need to use the rule for prepending a character. Check out https://hashcat.net/wiki/doku.php?id=rule_based_attack
If you want to prepend you need to use the rule for prepending a character. Check out https://hashcat.net/wiki/doku.php?id=rule_based_attack