Static reading edition · s01-06
Choose the right control for the task
Combine natural-language requests, built-in controls and reusable skills without blurring their responsibilities.
Understand the approach
Use ordinary language to define the result, a built-in control to operate the client, and a skill to apply a repeated workflow. These are complementary tools. A request such as “explain this search and run its existing regression checks” defines work. /diff reveals changes. A project skill can provide a familiar review checklist. Stacking commands and skills without a clear outcome only makes the session harder to understand.
A good task names the relevant input, the allowed scope and an observable finish. In the Orbit Notes practice copy, inspect README.md, AGENTS.md and checks.cjs before asking for a search fix. The exercise brief supplies the real check command because the starter README deliberately contains an unsupported npm test instruction. Reproduce the uppercase and padded-query failures, preserve the supplied checks and unrelated files, and require evidence that the same cases pass after the change. Let Codex choose routine implementation details within that contract.
Keep facts and permissions separate. A README may explain how deployment works, but reading it does not authorize deployment. A review tool may return suggestions, but suggestions do not prove the code was changed. A completed test supports a particular behavior under its tested conditions. Finish with the actual changed files, checks performed, remaining gaps and a preview when the result is visual.
A useful task has an acceptance loop
Define the outcome, scope and acceptance before editing. Inspect relevant files, make a focused change, run the checks, and open the output and diff before deciding. Return to inspection for failed or unverified criteria; record success and limits only after the evidence satisfies the brief.
Read a real before-and-after result
The unchanged six checks expose two baseline failures: uppercase REVIEW and the padded query. The reference fix computes a trimmed lowercase needle and compares lowercase titles, while filter returns the original objects in their original order. The padded command must print n1: Review launch checklist and n3: Review documentation.
A map-based solution can match the same IDs but copy and lowercase the returned objects. The comparison exercise rejects that candidate through the identity contract. Inspect the implementation and protected files as well as the check summary; correct search IDs alone do not establish preservation.
Recover from an unhelpful answer
First identify the missing input or broken assumption. If the wrong directory was inspected, fix the context. If the expected behavior was unclear, supply an example. If the change is correct but the proof is missing, ask for the relevant check. Starting a new chat can reduce clutter, but it does not repair the working tree or replace an evidence-based diagnosis.
About your environment
Checked 21 October 2026. Feature availability varies by client and host.
Try it step by step
- Write the observed problem and a concrete before-and-after example using fictional practice data.
- Ask Codex to inspect relevant files and applicable instructions before choosing the smallest useful change.
- Use a skill only if its trigger matches; inspect the diff and run the project’s documented relevant check.
- Open the actual result, compare it with the requested behavior, and request one specific correction if needed.
A useful starting example
Illustration · adapt before use.
In this disposable Orbit Notes copy, read README.md, AGENTS.md, notes.cjs and checks.cjs. Run node --test checks.cjs and reproduce node cli.cjs " REVIEW ". Fix case-insensitive, trimmed substring search only in notes.cjs, and correct the unsupported README check command. Preserve notes.json, checks.cjs and WORK-NOTE.md. Rerun the same six checks and query, then report actual changed files, results and remaining limits. Do not install packages, publish or contact services.The complete small-task loop
These results come from the executable capstone reference, not from an authenticated Codex run.
Baseline: node --test checks.cjs
Fix: normalize query and comparison in notes.cjs
Verify: node --test checks.cjs
Inspect: README.md and notes.cjs onlyBaseline: 4 pass, 2 fail.
Reference: 6 pass, 0 fail.
Padded uppercase query: n1, n3.
Protected files: unchanged.The same behavior contract is tested before and after. Keeping checks.cjs unchanged prevents a superficial pass achieved by weakening the tests.
Your turn
Apply the request to a fresh disposable Orbit Notes copy from the linked lab. Record the expected baseline of four passing and two failing checks. After the focused fix, retain all six checks and the exact two-note query result as evidence; compare your handoff with the supplied reference only after attempting the change.
Try the exercise before opening its reference answer. Use a disposable practice folder.
Orbit Notes project and recovery capstone
Extract into a new practice folder and keep the included labs folder. Run these commands from that extraction root, or from the course folder, using an existing Node.js installation.
- Command 1 text
node labs/project-workflow/create-workspace.cjsCheck: Returns a new owned temporary path. Open that exact copy in the app; the shipped starter stays broken.
- Command 2 text
node labs/project-workflow/verify-depth.cjsCheck: Runs two candidate implementations and recovery counterexamples in fresh copies. Reports paths, facts and preservation; live skill/instruction discovery remains a separate observation.
Follow this lesson’s specific walkthrough and compare its result with the answer key. Commands are relative to the course folder. The offline demonstration never claims a live Codex client loaded instructions, selected a skill or retrieved a connected record.
Check your result
- The task has an observable user outcome and a clear local scope before implementation begins.
- The reported evidence comes from actual inspected files and executed checks rather than a proposed command.
- Your final inspection distinguishes created, checked and accepted work, with external publication still outside this exercise.
Reference answer & rubric Try the exercise before opening
A good task preserves the contract, changes the focused implementation and delivers evidence from the actual final files.
- Reproduce the two failing starter cases rather than asking for a broad project improvement.
- Fix notes.cjs and correct the README command, preserving notes, tests and unrelated work.
- Rerun all six checks and the padded uppercase query.
- Compare the actual result with the lesson-specific answer key; record unrun client observations separately from executed local checks.
Check your understanding
A lint check passes after a filter fix. What remains necessary?
- Check the original failing filter example and inspect the delivered change.
- Nothing; lint proves the customer’s expected behavior.
- Publish immediately before the preview is inspected.
Reveal the answer and explanation
Answer 1: Check the original failing filter example and inspect the delivered change.
Lint is useful but does not necessarily exercise the reported failure or establish acceptance of the result.
Take this quiz in the interactive lesson to save your answer in the browser.
When it does not work
All checks pass after expected IDs were removed.
Likely cause: The tests were weakened instead of the implementation repaired.
What to try: Restore the supplied contract and fix the normalization behavior.
The model reports success but the file did not change.
Likely cause: The response described a proposed edit rather than a saved artifact.
What to try: Open notes.cjs and inspect the actual diff before accepting completion.
Common mistakes
- Adding repeated instructions to “be perfect” while leaving the expected behavior undefined.
- Approving a result solely because the agent reports success or because a generic lint command passed.
Source mapping & differences · equivalent
The source’s command-usage habits transfer as a workflow discipline, with Codex-specific controls and an explicit distinction between task intent, verification and permission.
Source topic: Best practices ↗Go to the source
Official documentation, checked 21 October 2026. Product names, controls and availability may vary with your version, platform or account.
Completion and quiz progress are saved
only in the interactive course.