Skip to content
PKResources
Course outline

Agentic Engineering: the hands-on course · Module 1: Foundations

Your first delegated task (hands-on)

Hand one small, checkable task to a coding agent from start to finish: a safe branch, a short brief, a run you watch, a real review and a two-minute retro.

Lesson 4 / 24 · ⏱ 10 min

Time to do it for real. This lesson is short on reading and long on doing: you’ll delegate the task you picked in lesson 1.3, review what comes back, and decide what to keep.

If you skipped that step, pick something that takes you under an hour by hand and has a clear check: a bug with a repro, missing tests for a small module, a mechanical rename.

Set up a safety net first

Agents edit your working tree. Before the first prompt, make sure throwing everything away costs you nothing.

main (clean, committed)agent branchedits, test runs, fixesYou reviewmergediscard
The safety net. Start clean, let the agent work on its own branch, and treat merging as a decision, not a default.

The run, step by step

  1. 1

    2 min

    Start clean

    Commit or stash your work, then create a branch for the agent. Confirm your check runs green before the agent touches anything, so any red is the agent's.

  2. 2

    3 min

    Write a short brief

    Goal, where to look, the check that proves it's done, and what not to touch. Use the template below.

  3. 3

    5 to 20 min

    Run and watch

    Stay nearby for your first few runs. Note where it explores, what it runs, and where it hesitates. Interrupt only if it heads somewhere clearly wrong.

  4. 4

    5 min

    Review the diff

    Read every changed line. Run the check yourself. Look for scope creep and weakened tests.

  5. 5

    2 min

    Decide and retro

    Keep, send feedback, or discard. Then write down one thing you'd put in the brief next time.

A brief you can copy

Keep it short. A good first brief fits on one screen; Module 3 goes much further on briefs and acceptance criteria.

Goal: Add unit tests for src/utils/dates.ts covering formatRelative()
and parseIsoDate(), including invalid input.

Context: Follow the style of src/utils/strings.test.ts. We use the
existing test runner already configured in this repo; don't add
new dependencies.

Done when: the new tests pass with the project's test command, and
no existing test was modified or deleted.

Don't: change dates.ts itself. If you find a real bug, stop and
describe it instead of fixing it.

When you finish: summarize what you covered and anything you
were unsure about.

Play: what do you do with this result?

Your agent finished. Here’s what came back. Sort each outcome.

🎮 Keep, give feedback, or start over?

1 / 7 · Score: 0

Before you move on

✅ Before you move on

0 / 4 completed