Week 16 · Season 4 · Will
Work that survives
You can run FRIDAY's work as durable background jobs, test it with fakes, meter every token against a budget, package skills, and ship a release.
This week
- Queues, background jobs and durable steps
- Fakes, mocks and repeatable tests
- Usage, metering and budgets
- Skills that load themselves
- Shipping: a go/no-go release checklist
How you learn
Write a job runner by hand: a queue table, a save point after every step, idempotency keys on every send, then crash it on purpose after each step and prove it still sends exactly once.
What you build
Project 4: a morning briefing that runs at 7:00 every day by itself, survives restarts, is tested with fakes, stays inside a budget, and ships with a release checklist. Then hands off for seven mornings: the Season 4 boss.
Stretch: Package the briefing's know-how as a skill in a plugin, and have a friend install it cold from your README while you say nothing.
What you ship
Project 4: The morning briefing. Every morning FRIDAY gathers your calendar, tasks and notes and briefs you, by itself, within budget.
- PLAN.md and a drawing of the scheduler, queue, worker, meter and store
- Durable job with save points and idempotency keys, tested with fakes
- A meter and a monthly budget with a warning and a hard stop
- RELEASE.md, a tagged release, and seven unattended mornings
Lessons
- Work that survives a restart
After this deck you can explain background jobs and queues, make a job durable with save points, and stop a restart from sending the same message twice.
- Test the boring parts
After this deck you can spot a flaky test, swap a real service for a fake you control, use a mock to check what was sent, and test the plain code (dates, money, counts) first.
- Meter every token
After this deck you can read the usage on every model reply, meter each call by step, price it exactly, and give FRIDAY a budget with a warning line and a hard stop.
- Skills that load themselves
After this deck you can write a skill (a folder with a SKILL.md), explain why only its frontmatter is read until it's needed, and write a description that makes it load by itself.
- Ship it
After this deck you can run a go/no-go release checklist, give each release a version, plan a rollback, and put FRIDAY on a schedule that runs without you.
- Go deeper: made for strangers
After this deck you can package skills and tools as a plugin a stranger installs in one go, test your docs on a cold start, and count real users honestly without keeping who they are.
Labs
Python in the browser, next to the lessons.
Weekend build
- Project 4: Project 4: the morning briefing
A briefing that writes itself at seven every morning, survives restarts, counts its pennies and ships with a checklist.
Free links for this week
Hand-picked official docs, papers and talks.
- Python docs: sqlite3 · docs
- Python docs: unittest.mock · docs
- Stripe docs: idempotent requests · docs
- Claude docs: pricing · docs
- Claude Code docs: skills · docs
- GitHub Docs: events that trigger workflows (schedule) · docs
- Semantic Versioning · docs