Challenge course · Claude Code 2.x

Hands-on Python with Claude Code

A challenge course that takes you from a broken script to a tested, verified Python report tool — one sentence starts it in your agent, which fetches the course itself. Task contract, bounded change, and objective pass/fail evidence; guided agent-taught mode included.

Beginner5 challenges2–4 hoursBeginner-friendly; code-curiousFreeCourse badge: Reproduce the failureReviewed 2026-09-12

Written from the tool's official documentation — the full in-tool teaching run has not been recorded yet (tracked in this course's REVIEW.md).

Start it with your agent — paste this one sentence:

Read https://flypython.com/skills/flypython/SKILL.md and start the FlyPython course `hands-on-python-with-claude-code`.

Needs a coding agent that can run commands and reach the network (chat-only web AIs cannot). Your agent authorizes you with a one-time link, fetches this course's files itself, and you never download anything. First time? Lesson 1 installs the FlyPython Skill for you — nothing to set up first.

First success

From opening the course to your first checkpoint

Reading needs no account or manual download. Sign in to authorize your agent and record progress.

01 → 04Free course

Four steps for this run

  1. Paste the start sentence above into your coding agent.
  2. Compare the short code and scopes on the one-time authorization page, then let the agent fetch the files.
  3. Open checkpoint 1 and run python verify.py in the course folder. Answer the lesson questions first; a self-reported checkpoint needs python verify.py --attest l01.
  4. Let the authorized agent submit the claim code, or enter it on the checkpoint page; then continue from your dashboard.

A first claim records progress; it is not course completion or proof that the objective test suite passed.

Open checkpoint 1 →
Recover

If you get stuck, resume here

Authorization denied or link expired
Ask your agent for a fresh authorization link and compare the new code. Never give the agent your site password.
Files missing or network interrupted
Check the agent's network access and ask it to fetch this course again. Reauthorize if its token expired; do not verify an incomplete folder.
Verifier says pending, blocked, or failed
Read the specific python verify.py result: answer questions before attesting; install a reported missing dependency; fix failing tests and rerun. Pending is not passed.
Claim submission failed
Keep the original code. Check your sign-in, checkpoint, and eight characters; retry after the network recovers. A duplicate claim does not add points twice. See Help if it still fails.

Start

How the run works

Your agent drives; the files arrive through the Skill — no download, no clone.

SkillClaude Code 2.x

The Skill does the fetching

The sentence above starts the course: your agent walks you through the one-time authorization link (compare the code, click Allow), fetches this course's files, and drives the challenges with you. Agents without the Skill installed can work from this brief instead:

Work on the FlyPython challenge "Hands-on Python with Claude Code" (course id course-claude-code).
Machine-readable brief: https://flypython.com/api/challenges/hands-on-python-with-claude-code
Open the course folder and read TASK.md first — it is the contract.
Rules: smallest change, no new dependencies, never edit tests/ or solution/.
Check starter/ with python verify.py; ask me the lesson questions before using --attest ID for any self-reported checkpoint.

Your agent works under the task contract: smallest change, no new dependencies, never edit solution/. Optional guided mode: COURSE.md.

Files

Files come to you

Course files live at /api/challenges/hands-on-python-with-claude-code/files — your agent fetches the manifest and writes each file at its path. There is nothing to download by hand.

Scenario skins

Same skills, a domain you recognize

All three skins run through the same code and the same tests. Pick the one closest to your job before lesson 1.

scenario/excel-report/orders.csv

Excel / report automation

Turn a messy weekly orders export into a per-region sales summary.

scenario/data-monitor/metrics.csv

Data monitor script

Aggregate service latency numbers and isolate malformed readings.

scenario/api-tool/tickets.json

Small API tool

Summarize ticket data pulled from an internal API (JSON input).

Verification

How “done” is decided

The course ships a nine-test contract suite. The starter must reproduce seven named failures; the reviewed solution passes 9/9. The same suite verifies your own bounded change in lesson 3.

python verify.py  # from the course folder: checkpoint status + claim codes

Apply this to your own project

Lesson 5 ports the workflow — not the code — to one script you actually own: a three-line task contract, one new failing test made to pass, and a written record of what the tests do not prove. The same loop is described in the AI coding workflow guide and practiced by therunnable examples.

Claim your evidence

When a checkpoint passes, python verify.py prints a deterministic claim code. Your authorized agent submits them for you in one batch; by hand, paste them on yourprogress page — worth 10 points per checkpoint and theReproduce the failure course badge at five. Claim codes are self-reported evidence, not certificates.

What verification does not prove

Passing the course suite proves the pinned behaviors on the tested inputs — not correctness on tomorrow’s data, not production performance, and not anything about your own project until you write its contract. Repository tests are evidence, not your outcome.