Use Git::CommitBuild plugin.
Small tweaks:

Print the reason why a screen is disable when in verbose mode;
Use warn instead of carp;
Update TODO;