For the ContentSync plugin we had a similar use case for adding localization keys (and more).
The solution involved using the Sketch Headers (Objective C binding apis) to go into the "internals" of Sketch and append interface. For example, MSDocument includes:
@property(retain, nonatomic) MSInspectorController *inspectorController;
Which gives some access to the UI. Since this isn't part of the Sketch official public API, it requires a good amount of time to get it right.
Perhaps Sketch is working to improve UI integrations in their API?