Anatomy of a good prompt
A Myndlab prompt is not a Google search query — it's a brief product specification. The AI on the other end is capable of building complex, multi-file applications, but it needs the same information a good developer brief would contain: what the app does, who uses it, what data it manages, and any constraints on technology.
You don't need to write a ten-page spec. Four or five sentences that cover the key dimensions consistently outperform either a single vague sentence or an overly detailed implementation plan. The sweet spot is a prompt that describes outcomes, not mechanics.
ℹNote.Myndlab generates a structured spec from your prompt before writing any code. You'll be able to review and edit that spec before committing to a full build. The prompt's job is to make that spec accurate — not to replace it.
What to always include
Four dimensions cover the vast majority of what Myndlab needs to make good decisions. When any one of these is missing, the AI has to guess — and its guess may not match your intent.
1
What it does
Describe the primary job of the app in one or two sentences. Focus on user actions, not technical mechanisms. 'Users can upload a CSV, see a chart of their sales by region, and export filtered results as PDF' is concrete and generatable. 'A data dashboard' is not.
2
Who uses it
Name the user roles. A single-role app ('freelancers') and a multi-role app ('admins, project managers, and clients') need fundamentally different auth and navigation structures. Myndlab uses roles to decide whether to scaffold role-based access control and how to organize the sidebar.
3
Data it stores
List the main entities and their most important relationships. 'Users have many Projects; Projects have many Tasks; Tasks have a status and an assignee' gives Myndlab enough to generate a correct database schema on the first pass. Leaving this implicit leads to generic table names that you'll need to correct later.
4
Stack preference (optional but helpful)
If you have a preference for framework, backend language, or database, say so. 'Stack: Next.js, Express, Supabase.' If you leave this out, Myndlab defaults to React + FastAPI + PostgreSQL, which is a solid general-purpose choice — but may not match your team's skills.
Weak vs strong examples
The difference between a weak and strong prompt is usually specificity, not length. Here is a side-by-side comparison for the same app idea:
text
# Weak prompt — vague, forces guessing
Build me a task manager app.
text
# Strong prompt — concrete, covers all four dimensions
Build a team task manager for small marketing agencies.
Users: two roles — Agency Admin and Team Member.
- Admins can create projects, assign tasks, and view all activity.
- Team Members can view their assigned tasks, update status, and
leave comments.
Data: Projects contain Tasks. Tasks have a title, description,
due date, priority (low/medium/high), status (todo/in-progress/done),
and an assignee (Team Member).
Stack: React frontend, FastAPI backend, PostgreSQL database.
The main view is a Kanban board grouped by status. Include email
notifications when a task is assigned or overdue.
The strong prompt is still only ten lines. But it eliminates every major ambiguity: roles, permissions, data model, stack, primary UI paradigm, and key features. Myndlab will generate a more accurate spec, spend fewer credits on corrections, and produce code that needs fewer follow-up edits.
💡Tip.Paste your strong prompt into the spec-review step. Read through what Myndlab plans to build. If anything surprises you, edit the spec directly — it's cheaper than correcting generated code.
Iteration prompts
Once your app exists, you'll spend most of your time sending iteration prompts — requests to change, add, or remove something specific. Iteration prompts should be even more precise than initial prompts, because Myndlab needs to identify exactly which part of the existing codebase to touch.
1
Name the location
Tell Myndlab where the change lives. 'On the Projects list page, in the filter sidebar...' is better than 'In the app...'. Page name, component name, or even file name all help Myndlab scope the edit correctly.
2
Describe the before and after
'Currently the Tasks table shows five columns. Add a sixth column for Priority, displaying it as a coloured badge (red=high, amber=medium, green=low).' This pattern — current state, desired state — is unambiguous and easy for the AI to verify.
3
State acceptance criteria
'The filter should update the URL query string so the page is bookmarkable.' Acceptance criteria prevent half-implementations. If you can describe how you'll know it's done, include it.
text
# Good iteration prompt
On the Task detail page, add a Comments section below the task
description.
- Users can type a comment (up to 500 characters) and submit it.
- Comments display the author's name, avatar, and a relative
timestamp ("2 hours ago").
- Comments load on page load; no infinite scroll needed yet.
- Only the comment author or an Admin can delete a comment.What NOT to include
Over-specifying implementation details is the most common mistake experienced developers make when switching to AI-assisted building. When you tell Myndlab how to implement something rather than what to achieve, you constrain the AI's judgment without necessarily improving the outcome — and often worsen it.
1
Don't specify exact function signatures
Writing 'create a function called getUsersByProjectId(projectId: string): Promise<User[]>' in your prompt invites the AI to anchor on that signature even if a different approach would be cleaner. Describe the behaviour: 'Given a project, fetch all users who have at least one task in that project.'
2
Don't dictate file structure
Myndlab generates an idiomatic file structure for your chosen stack. Prescribing 'put the auth middleware in src/middleware/auth.ts' conflicts with its conventions and can produce broken import paths. Trust the structure unless you have a specific reason to override it.
3
Don't write SQL in prompts
Myndlab generates migrations from your data description. Pasting raw SQL schemas into the prompt often confuses the spec generator and results in duplicate or conflicting migrations. Describe entities and relationships in plain English instead.
4
Don't include styling micro-decisions
Colour values, exact pixel measurements, and margin overrides belong in Design DNA or a follow-up styling pass — not in a build prompt. They distract from the structural requirements and rarely survive the design pass unchanged anyway.
⚠Watch out.If you find yourself writing a prompt longer than 300 words, stop and ask whether you're describing implementation instead of outcomes. Split the prompt into a short initial build plus a series of targeted iteration prompts. This approach costs fewer credits and produces cleaner code.
Using voice to brainstorm first
Voice mode (⌘ ⇧ P) is one of the fastest ways to arrive at a high-quality written prompt. Speak naturally for 60–90 seconds about what you want to build — what problem it solves, who uses it, what the most important feature is. Myndlab transcribes and structures your speech into a draft prompt, which you can then review and tighten before hitting Build.
Voice brainstorming is particularly useful at the start of a project, when you have a clear mental picture but haven't yet translated it into structured text. Speaking forces you to say things out loud that you might skip when typing, and Myndlab's voice-to-prompt pipeline is tuned to capture those details.
💡Tip.After a voice session, read the generated prompt out loud back to yourself. If anything sounds wrong or missing, fix it in the prompt box before confirming. The combination of voice brainstorm plus a quick manual edit is reliably faster than writing a prompt from scratch.