The quality of what the agent builds tracks the quality of what you asked for. Prompting isn't magic words — it's the same skill as writing a good task ticket.
Four parts, most tasks need all four:
Compare:
❌ "Add date formatting"
✅ "Goal: show 'Member since' on the profile card. Context: the card is
Features/Profile/ProfileView.swift; date helpers live inCore/Format/. Boundaries: don't modify Models/ — ask first if needed. Done when: the date renders in the same style as the other card rows, and the empty state (no date) shows nothing."
The second prompt is longer to write and dramatically cheaper to review — the agent guesses less, so you correct less.
A task that needs a whole afternoon should never be one prompt. Split along the flow stages: skeleton first, then one behavior at a time. Each step small enough that its diff is readable (Week 2's rule). If you can't name the steps, ask the agent to propose a breakdown — in plan mode — and edit its list before any code.
When you want consistency, point at an example instead of describing style: "format this like the planPill row above it" beats three sentences of adjectives. The agent imitates existing code better than it interprets prose.

Add a member since date

Goal: show 'Member since' on the profile card. Context: the card is Features/Profile/ProfileView.swift; date helpers live in Core/Format/. Boundaries: don't modify Models/ — ask first if needed. Done when: the date renders in the same style as the other card rows, and the empty state shows nothing.
Same task, same starting commit: 5 files touched — including Models/ and the auth layer — vs. 2 files, exactly where the work belongs.
The HackYourFuture curriculum is licensed under CC BY-NC-SA 4.0 *https://hackyourfuture.net/*

Built with ❤️ by the HackYourFuture community · Thank you, contributors
Found a mistake or have a suggestion? Let us know in the feedback form.