LESSON 03 / 10 MINUTES
“Build me a planner” will probably get you a planner. Whether it’s the planner you wanted is another question. Before you ask Codex to build, give it a short brief.
Build a brief from four parts
- The goal. What should someone be able to do?
- The context. Who is it for, and what does Codex need to know?
- The boundaries. What should it use, avoid, or leave alone?
- The finish line. What will you try to decide whether it works?
These four parts are a useful starting point for most requests to Codex. Together, they should tell Codex what action to take. You don’t need special phrases or a long speech about being an expert. Plain language works. Specific details help more than extra enthusiasm.
BEFORE
Make an awesome productivity app.
Decide what your planner is for
Our shared project is My Week, Unstuck. Its job is to make it easier to choose a next task. The prompt below already supplies the technical boundaries: one local file, no accounts, and no external libraries. To make the other three parts your own, take two minutes to answer:
- Context: Who will use your planner, and when would they use it?
- Goal: What should the planner help you choose next? For example, which unfinished task fits a 30-minute break?
- Finish line: What would you try in the finished planner to tell whether it helps?
Maybe yours is about coursework. Maybe it’s a creative project planner or a way to make progress on your NMC/EM Portfolio. Keep the same small set of features for now; change the audience and example tasks to fit you.
Ask for a plan first
Open the Codex chat you started inside the My Week, Unstuck Project in Lesson 2. Check that it is connected to your nmi-codex-lab folder. Replace the bracketed parts of the prompt below with your answers, then send it in that chat. This request asks for a plan before any file changes, so read the reply before telling Codex to build.
TRY THIS PROMPT
I want to build a small browser app called My Week, Unstuck for [who will use it]. They would use it [when they would use it] to decide [what task to do next]. I’ll know it works when [what you will try in the finished planner]. I’m a beginner. We will use a single index.html file with HTML, CSS, and JavaScript, without external libraries, accounts, or a server. Keep everything in this project folder and don’t publish it. First, suggest a short plan for adding tasks with a due date and estimated minutes, marking tasks complete, and finding unfinished tasks that fit a time limit. Ask up to three questions if something important is unclear. Don’t create or edit files yet.
Read the plan. Is it describing the same project you had in mind? If it adds logins, a database, calendar connections, or a whole social network (it happens), send this optional follow-up to bring the scope back down. If the plan already fits, skip it.
OPTIONAL FOLLOW-UP PROMPT
Keep the first version smaller. Use made-up tasks, one page, and one local file. We’ll add one improvement after we’ve tested the basics. Please revise the plan before building.
A tiny code translation
You just named three building blocks. HTML gives the page its content and structure. CSS controls its appearance. JavaScript makes it respond when you add a task or click a filter. Codex will write them. You’ll use the result and ask questions about how it works.
YOUR TURN
“Make it easier to use” is feedback, but it’s hard to act on. Rewrite it as one observable change to your planner.
See one possible answer
“Move the Add task button directly below the form, label the time field ‘Estimated minutes,’ and show an explanation beside any invalid entry.” You can check each of those changes yourself.
BEFORE YOU MOVE ON
You have a short plan that matches your idea. You can name one thing the first version must do and one feature you’re saving for later.
Reference: OpenAI’s prompting and planning guidance.