Files
ai-workflow-course/handoff.md
T
claude fbec36cb67 feat(course): build out all 27 modules, capstone, scaffold, and conventions
Scaffold the course repo and author the full curriculum in dependency-chain
order, following the settled build decisions in handoff.md.

- Scaffold: course README, vendor-neutral AGENTS.md (dogfoods Module 5),
  _TEMPLATE.md (the fixed 9-section module shape), root .gitignore, ship config.
- Modules 1-2: reference exemplars (locked for tone/depth/lab style).
- Modules 3-27: full lessons + runnable labs, each following the template,
  respecting the chain, vendor/model-agnostic, with "feel the pain" labs.
- Module 8 hosting comparison web-researched and date-stamped (as of 2026-06-22),
  not written from memory; expansion-zone modules carry Verify-before-publish.
- Capstone: the full loop end to end on the running tasks-app example.

Lab code syntax-checked (Python/shell/YAML); every module has the 7 core
template sections.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT
2026-06-22 12:18:30 -04:00

170 lines
9.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Handoff — Building Out "The Workflow"
This is a build-context note for a coding session (e.g. Claude Code) that will turn the course
plan into actual lessons. **`syllabus.md` (sibling file) is the source of truth** for structure,
module content, the thesis, and the dependency chain. Don't duplicate it here and don't re-derive
decisions it already settled — read it first, then use this file for the *how* of building.
**Status:** planning is complete (27 modules across 5 units + a capstone finale). No lesson content
exists yet. The job is to produce the lessons and hands-on labs.
---
## What's already decided (don't re-litigate these)
- **Model- and vendor-agnostic is a core promise.** Never pin a lesson to one LLM vendor, and don't
hardcode a specific tool's config filename. Say "your agentic tool's committed instructions file,"
not a brand. Examples should survive a model swap.
- **GitHub is the default, not the requirement.** Module 8 stays provider-neutral (GitHub as the
titan; GitLab/Bitbucket/Azure DevOps/Codeberg/SourceHut and self-host options named). Earlier
drafts leaned on Gitea specifically — that was deliberately removed. Don't reintroduce it.
- **The Module 8 hosting comparison is intentionally NOT built yet.** It's marked a "planned
artifact" because pricing/feature claims go stale. When you build it, verify current facts at that
moment rather than writing from memory.
- **The dependency chain is load-bearing.** Every module assumes only what precedes it. Don't
reorder modules without re-checking the chain; if you think something should move, flag it instead
of silently moving it. The syllabus's "Notes for the course owner" lists the moves already
considered.
- **Durable core (Modules 114) vs. expansion zone (15+).** The core should read as stable; the
expansion zone is where fast-moving material lives and where you should flag things to re-verify.
- **The capstone is a finale, not a numbered module.** Leave it that way unless the owner says
otherwise.
---
## Recurring devices to keep consistent across every module
These threads are what make it one course instead of 27 tutorials. Preserve them:
- **The thesis** — the model is the cheap, swappable part; the workflow is the durable skill.
Surface it periodically, and land it hard in Module 27 (evals as how you judge a model swap).
- **The AI-specific angle** — every module in the syllabus has a reason it matters *specifically*
for AI-assisted work (e.g. CI catches code that "looks right"; secrets module exists because AI
hardcodes keys). Keep that angle front and center; it's the differentiator from a generic devops
course.
- **Honesty about limits** — the course repeatedly states where a tool or analogy breaks (Git isn't
backup for your database; git only sees what's written to disk). This builds trust with the
audience. Don't sand it off.
- **The backup-and-recovery thread** spans Module 8 (backup/distribution) and Module 12
(recovery/restore). Keep both halves cross-referenced.
- **Humans and agents are both "contributors."** The collaboration framing treats agents as
teammates that need branches, review, and permissions. Carry that through.
---
## Audience and voice
IT professionals who are fluent in an AI chat window and comfortable with ops concepts — **not
beginners.** They respect rigor and detect fluff instantly. Lead with the copy-paste pain they
already feel; reframe ops instincts they already have toward AI-assisted work; be direct and
concrete. No padding, no motivational filler. When in doubt, show the command and the failure mode.
---
## Per-module lesson template
Build every module to the same shape so the course feels coherent and so partial drafts are
reviewable. Suggested structure for each `modules/NN-slug/README.md`:
1. **Title & one-line hook** — why this module exists for an IT pro (the pain or payoff).
2. **Prerequisites** — which prior modules it depends on (from the chain).
3. **Learning objectives** — 35, action verbs, what they can *do* afterward.
4. **Key concepts** — the actual teaching content, in prose with commands/snippets.
5. **The AI angle** — the module's AI-specific reason for existing (pull from the syllabus entry).
6. **Hands-on lab** — a practical exercise using AI *and* the tool together. This is a tools course;
every module should end at a keyboard, not a quiz. Provide starter files where useful.
7. **Where it breaks** — limits, pitfalls, the honest caveat.
8. **Check for understanding** — a short self-check or "you're done when…" criterion.
9. **Verify-before-publish** — for fast-moving topics, a note on what to re-check at build time
(versions, pricing, tool behavior).
Before mass-producing, write **Modules 12 fully as the reference exemplars**, then pause for human
review to lock tone, depth, and lab style. Cheaper to align on two than to redo twenty-seven.
---
## Suggested repo layout
Markdown-first, which also lets the course repo model the practices it teaches (see "Dogfooding").
```
the-workflow/
README.md # course overview, derived from syllabus front matter
syllabus.md # source of truth (exists)
handoff.md # this file
<agent-config> # committed AI instructions file — dogfoods Module 5 (tool-agnostic name)
modules/
01-the-copy-paste-problem/
README.md # the lesson
lab/ # exercise files, starter repo snapshots, etc.
02-version-control-as-a-safety-net/
...
capstone/
README.md
assets/ # diagrams, images
```
Pick **one neutral example language** for labs (a small Python or Node app works) and state it
once; the *concepts* stay language-agnostic but the labs need something concrete to run.
---
## Suggested build order
1. Scaffold the repo above; `git init`; commit the agent-config file (dogfooding starts immediately).
2. Write `_TEMPLATE.md` from the per-module structure.
3. Draft **Modules 12** as the exemplar pair → **pause for review** (two modules let the review
judge consistency, not just a single sample).
4. Build the **durable core (Units 13, Modules 119)** in chain order.
5. Build the **expansion zone (Units 45, Modules 2027)**, flagging fast-moving topics to verify.
6. Build the **Module 8 hosting comparison** with live verification of current facts.
7. Build the **capstone** last — it integrates everything, so it can't be written before the parts exist.
---
## Dogfooding (a nice-to-have that's on-thesis)
The course is about version control, committing AI config, branches, PRs, and review. The course
repo can *be* an example of all of it: commit the AI instructions file (Module 5), develop each
module on a branch, open PRs, keep an honest history. If you want a recurring callback, the repo
itself becomes the worked example students can inspect.
---
## Decisions settled by the owner (2026-06-22)
These were the open questions; the owner has now ruled on them. Build to these; don't re-litigate.
- **Delivery medium** — **written lessons + interactive labs** (hybrid). Each module is a written
README *and* a real hands-on lab the learner runs at the keyboard, not a quiz.
- **Hosting/platform** — **plain repo with an optional self-hosted-forge track.** GitHub stays the
neutral default (per the syllabus); add a parallel self-host lab track for the air-gapped/on-prem
audience. No LMS, no static-site build required.
- **Lab environment** — **the learner's own machine, any OS.** Don't assume a provided sandbox or
cloud environment. Provide starter files where useful; keep setup OS-agnostic.
- **Lab language** — **pick per lab, leaning Python or shell.** (This relaxes the handoff's earlier
"one neutral language stated once": prefer Python or shell, but use whatever fits a given lab.)
- **Depth/length target per module** — **no fixed budget.** Let each module run as long as it needs;
rely on the shared template (not a word count) for coherence. Lead the consistency check off the
first two modules, not just one.
- **Assessment / certification** — **self-checks only.** Each module ends at its "you're done when…"
criterion; no graded work, no certification.
- **Unit 4 scope** — **keep as one unit.** Leave Modules 2023 together under the "extend the AI"
theme; revisit only if a seam becomes obvious while building.
- **Module 2021 sequencing** — **keep MCP/skills at the back** so later units can build on them.
The dependency chain stands as written.
- **Capstone** — **stays a finale, not a numbered module** (27 + finale).
- **Future Unit 6 (Adoption, Governance, Scale)** — **deferred.** Finish the 27 + capstone first;
Unit 6 stays parked in the syllabus notes.
---
## Don't
- Duplicate or fork `syllabus.md` — edit it in place if structure changes, and keep this file's
cross-references in sync.
- Reorder modules or break the dependency chain without flagging it.
- Pin to a specific LLM vendor or a specific tool's config filename.
- Write the hosting comparison (or any pricing/version claim) from memory — verify at build time.
- Pad. This audience reads fast and trusts concrete over comprehensive.