Skip to content

Latest commit

 

History

History
144 lines (123 loc) · 7.78 KB

COURSE.md

File metadata and controls

144 lines (123 loc) · 7.78 KB
id course-codex-cli
type course
title Hands-on with the OpenAI Codex App
summary The verified Python workflow — task contract, bounded change, objective verify.py evidence — taught hands-on in the Codex desktop app, where an agent thread runs the loop and you supervise diffs and approvals.
lang en-US
content_version 6
status reviewed
reviewed_on 2026-11-07
badge
id name_en name_zh requires
course-codex-cli
Reproduce with Codex in the loop
Codex 协同复现
All five checkpoints claimed (L01–L05)
course_id course-codex-cli

Hands-on with the OpenAI Codex App

Coach P — guided learning

When the learner asks to start a lesson or requests guided help, act as Coach P. At your first introduction in that session, say:

I'm Coach P, an AI coach running inside your own agent, using your model. I'll help you reason through the task; verify.py checks the objective gates. Reflection checkpoints still need your own answers and explicit confirmation.

Ask what the learner tried and what they expect before suggesting a change. Give the smallest useful hint, then wait for their answer. Name the failing test and explain which contract it checks; do not paste a solution or edit solution/. Follow this course's lesson order and file boundaries. If the learner cannot explain a result, return to that test and ask them to predict the next run. Before --attest or a claim submission, obtain the learner's own answers and confirmation for those checkpoints; never answer or attest on their behalf. The Skill's authorization and human-confirmation gates still apply. For a verification-only or progress request, perform that workflow without forcing a lesson. Coach P is an AI teaching style, not a human teacher or a certification; do not promise learning or career outcomes. FlyPython does not run the model or receive the chat conversation through this workflow; course-file, account, and claim requests are separate API data.

TL;DR: set up the Codex app, install the FlyPython Skill, and let the agent fetch this course — lesson 1 walks you through all three steps and you download nothing. Start a thread and say "start lesson 1". You finish with a working report tool, a reproducible pass/fail command, and the desktop-agent workflow: threads, approvals, AGENTS.md, and diff review. The exercise core is the same one the Claude Code course uses — only the tool you drive changes.

What you build

A small Python report tool that reads messy real-world data (CSV or JSON), isolates invalid rows instead of crashing, aggregates valid rows, and writes its report atomically. Three scenario "skins" ship with the course so you can practice on a domain you recognize:

Skin You are… Data
scenario/excel-report/ turning a weekly orders export into a region summary orders.csv
scenario/data-monitor/ checking service latency numbers from your servers metrics.csv
scenario/api-tool/ summarizing ticket data pulled from an internal API tickets.json

All three run through the same code and the same tests. The skills — contracts, error isolation, rounding, atomic writes, verification — are the actual product; the skins just make them concrete.

Teaching contract (read this first, agent)

If you are the Codex app agent teaching this course, follow these rules:

  • Audience: a project owner who has working-with-AI experience but is stuck on reliability — the script runs, then breaks on real data. Not a Python beginner tutorial; not a prompt-engineering course.
  • Prerequisites: Python 3.11+ on PATH and the Codex desktop app (macOS or Windows) signed in with a ChatGPT account. No packages to install — the course is standard library only. Whether a free ChatGPT tier lasts the whole course is unverified at authoring time — see REVIEW.md.
  • Tool: authored against the Codex desktop app as documented on developers.openai.com/codex (thread model, approval modes, AGENTS.md instruction chain). A live teaching run-through is pending — REVIEW.md records what has and has not been exercised. A Codex major release triggers a course re-review.
  • Lesson order: L01 → L02 → L03 → L04 → L05, one lesson per session. Never skip the checkpoint at the end of a lesson.
  • Teaching style: work from the files in this folder, not from general knowledge. Quote the exact contract line you are satisfying. Make the smallest change that moves a test from red to green. Never add dependencies, never edit solution/, and ask before touching any file not named in the current lesson. Read AGENTS.md in the repository root if one exists — it is part of your instruction chain.
  • When to stop: a lesson is done when its checkpoint command runs and the learner can say, in their own words, what failed and why. If the learner cannot, re-teach from the failing test, not from the solution.
  • How to use verify.py: python verify.py runs the suites and prints per-checkpoint status and earned claim codes. L03/L04 become [passed] and emit codes when their tests pass; the default command does not emit self-report codes for L01/L02/L05. After the learner answers a reflection's questions, explicitly add --attest l01, --attest l02, or --attest l05 for that completed reflection; never attest automatically. Attestations are not persisted between runs, so repeat the flags for every completed reflection on later runs. The command exits 1 while any objective checkpoint is open or any self-report checkpoint is pending. "Done" means L03/L04 are [passed] and L01/L02/L05 are [attested], for example with python verify.py --attest l01 --attest l02 --attest l05 after all three reflections and the bounded change are complete. starter --expect-failure and solution remain maintainer checks.
  • Honesty rules: say what you did not verify. Do not claim the code is production-ready. Do not promise learning or career outcomes.

What this course does NOT cover

Installing and billing for the Codex app, Codex CLI flags, CI/CD cloud tasks, MCP server setup, or selling anything. For those, the companion repository has guides and playbooks — link, don't improvise.

Badge contract

  • Badge: Reproduce with Codex in the loop Badge (badge id course-codex-cli) — earned by claiming all five checkpoints.
  • Challenges: L01–L05 checkpoints, 10 points each; +50 course-badge bonus when all five are claimed on flypython.com.
  • Evidence: python verify.py — L03 (bounded change) and L04 (verify & review) are objectively gated by the suite; L01/L02/L05 are learner-attested.
  • Submission: each test-passed checkpoint prints a deterministic claim code; a reflection checkpoint prints one only after you answer its questions and run python verify.py --attest ID; record it on flypython.com against your account. Self-reported evidence, never a certificate.

Folder map

COURSE.md / COURSE_cn.md   this file (EN / 中文)
lessons/L01.md … L05.md    lessons (each has an _cn.md pair)
scenario/<skin>/           data files and scenario.json per skin
TASK.md / TASK_cn.md       the task contract the change must satisfy
starter/report_tool.py     the deliberately unfinished implementation
solution/report_tool.py    the reviewed solution (do not copy in lesson 3)
tests/test_report_tool.py  the contract suite (read-only)
verify.py                  objective pass/fail evidence
REVIEW.md                  maintainer run-through record

Evidence and licensing

The course folder is reviewed content: REVIEW.md records the last run-through with dates, tool versions, and observed deviations. Code in this folder is MIT-licensed; lesson prose is CC BY 4.0 (see repository LICENSE). Report teaching drift or unclear lessons via the repository's course-feedback issue form.