1NT = 15-17 bal
... - 2♣ = 5cM Stayman
2♥ = 5 hearts
... - 3♣ = diamonds
3♦ = puppet
... - 3♠ = (serious) asking bid, diamonds agreed
5♣ = controls in all side suits, 2 keycards, ♦Q
... - 5♥ = king ask (♠K known)
5♠ = ♣K
... - 6♠ = SSA
7♣ = ♠Kx
... - 7♦
seems to get the job done. I don't think you need anything fancy though - just agree diamonds, ask for keycards, find out about the black kings and then check for third round spade control. If North has ♠Q bid 7NT; if a doubleton then 7♦; and if neither 6NT. There are other options too but this seems by far the simplest course.