Thanks a lot for all the feedback! A revised version of this proposal is up for review at SE-0303: Package Manager Extensible Build Tools.
The proposal under review is similar to the one pitched here but tries to incorporate the feedback from this thread. One visible change that doesn't make much semantic difference is that "extensions" are now called "plugins" to better align with other build tools and to reduce confusion with existing use of the word "extension" in Swift.
Thanks!