Another useful approach is to "cheat" and point the LLM at an existing code base that implements the algorithms or patterns you want. Something like:
"Review <codebase> and create a spec for <algorithm/pattern/etc.>"
It gives you a good starting point to jump off from.