This is a wonderful writeup of building a simple agentic system in general. What OP describes is more or less the bare minimum you should be doing at this point to get good (consistent) results from an LLM; single-shot prompting is a thing of the past.