At this time of writing transmission-daemon is able to execute a single script when a torrent has finished downloading. The main drawback is that you can't tell transmission NOT to run the script for a particular torrent. A logical evolution of the script-execution-ability would be a script registration and execution framework.
Some suggestions or use cases:
A script could be registered (In settings.json?) with a logical name for identification in the web-gui.
Example: "Unrar", "/var/lib/scripts/myunrarscript.sh"
A script could be registered with some information about when it could be executed.
Example: "onfinish,onpartial,ondemand" Where "onpartial" means that a subselection of files has finished downloading.
A script could be selected by the user for execution on a given trigger.
Example: "Execute the Mail script for this torrent when download is completed."
Example: "Execute the Unrar script for this torrent now."
As long as there is no extra input needed for the execution of the scripts (Implying extra gui-elements here.) the user interaction should be quite straightforward.
In/out of process execution?
Multiple executions assigned to same trigger of same torrent?
I would be happy with the ability to run a script on 'torrent added' and 'torrent deleted'.
The purpose of 'torrent added' script would be just custom notifications.
The purpose of 'torrent deleted' script would be to cleanup leftovers like hardlinks, symlinks, subtitles, artwork, etc.