I think the most important (although I'm biased because I wrote both of them) are NIP-31 and NIP-89.
Both of these combined provide magical interoperability across use cases at O(1) complexity (meaning, adding new use cases to existing applications is basically free instead of having to linearly add each individual feature an application might want to support).
The reason I say this is that currently we are abandoning platform siloes and sleepwalking into use-case/kind siloes.
Meaning, the microblogging nostr apps compete independently against Twitter.
The youtube-like nostr apps compete independently against Youtube/Vimeo.
Etc, etc.
Sure, there is some cross-polination, but perhaps 10% of what it could be if we allowed the discoverability layer to extend to it's full conclusion.
Dethroning network effects is very hard, and we should leverage the properties the protocol extends to make the most out of the symbiotic relationships the different use-cases built on nostr can have.
I wrote about this on https://highlighter.com/pablof7z/38iu6ttnk6zw3wdd