Bridging the PRD-to-Code Gap While Vibe Coding
A PRD Isn’t Enough
I’m building out an idea that’s been sitting on the shelf – a platform that allows users to gather around a shared prompt and share incremental updates, centering focus on process rather than product. During MVP development there’s been a lot of trial and error: discarding agent-generated code, re-prompting the agent, moving back to older commits, starting the project over during peak frustration*… A PRD, no matter how well defined, isn’t enough at this point in time for an agent to build a complex system that aligns exactly with the intended. I’m learning that guiding agents successfully, in addition to writing clear requirements, involves reducing their assumptions by setting the development context, building in validation, and specifying end goals for tasks.
Techniques for Moving from PRD to Production
During PRD Development:
- Ask agent to list questions it’s unsure about in PRD and answer them (Cursor tutorial with Lee Robinson )
- Ask agent to break PRD down into development phases
Setting Cursor Rules Before Building:
- Specify using git, the commit message verbosity, and the frequency of commits
- Specify building tests during development and validating development phases against these tests
During Development:
- Select the appropriate model for the type of partnership you want (https://docs.cursor.com/en/guides/selecting-models)
- Specify the end goal that you want when you prompt a task or the agent/model will pick an end goal for you (https://www.anthropic.com/news/tracing-thoughts-language-model)
*This reminds me of an Ira Glass interview where he talks about creative work and the frustration creatives feel in the early years of their career when the work they produce doesn’t align with their taste. Coincidentally, a developer’s taste is something I’ve heard mentioned in multiple interviews on vibe coding as a necessity for validating agent solutions. Interesting parallel between taste in work that is considered “creative” traditionally and code built with agents. Are we all turning into storytellers?