I will say this though... specifications are good, especially if they are simple and simple tools can support them.
I hope this specification and especially these tools don't get too elaborate though. Tools are often used to hide complexity and prevent developers from really understanding and improving their designs.
Even more, though, is this: I like examples at least as much as I like specifications. Specs make understanding complete. Examples (such as out-of-the-box executable test suites) make understanding practical.
So specify your service all you want -- but please give me a suite of tests as well.