Very cool!
At my current place of employment, I have been trying to push Django signals for a little while now as a good way to drive our metrics.
One of the chief concerns about signals however, is that they're fairly isolated, and it's not always obvious what gets triggered when (for example) save() is called. This is, of course, one of the drawbacks to loose coupling.
Something like @hook would be a good response to those who have this concern, because the hook code is attached to the model directly, meaning when you wonder to yourself, "What happens when I call save()?", you need look no further than the model itself.
I'll pitch this to my colleagues and see what they have to say!