Anatomy of a Directed Edit — Worksheet

Module 3, Lesson 3.1 deliverable · concept

What you will do. For each of six task descriptions, decide whether the right fit is a suggester, a coding agent, or neither. For the agent-suited ones, write a directed prompt that exercises all four moves — locate, plan, write, verify — then predict whether you would reach for Cowork or Claude Code first, and why.

When done: keep this sheet. Lesson 3.2 reuses Task 2 as the first directed-edit exercise; Lesson 3.5 revisits Task 5 when scoping a larger change.

Reference — the directed-prompt shape

Every directed prompt names four things, in this order:

  1. Goal. What should be true at the end, in one sentence.
  2. Suspected location — or explicit permission to search. “The bug is probably in utils.py.” Or: “Find it first and tell me where.”
  3. Required plan step. “Propose a plan in one or two sentences before writing.”
  4. Required verify step. “Run the existing tests and show me the output.” Or: “Print the function’s output for these three inputs and confirm they match the goal.”

A prompt that names all four is a directed prompt. A prompt that skips any of them is a suggester request dressed as a directed one.

Worked example — Task 1

Task 1. Add a docstring to the parse_date function in utils.py.

Category

Agent (borderline). A suggester could do it, but an agent can read the function first and produce an accurate docstring.

Directed prompt
In utils.py, add a docstring to the parse_date function. Before writing, read the function body and tell me in one sentence what it appears to do. Then write the docstring, show me the diff, and confirm no existing test in tests/test_utils.py broke.
First-choice tool

Cowork. Single-file, folder-shaped, low-stakes work; Cowork’s chat shape fits.

One-sentence reason

A suggester might hallucinate what parse_date does if it’s unusual; an agent that reads the function first produces an accurate docstring, and the cost of using the agent is negligible.

Tasks 2–6 — fill in your own

Write your answers before checking the key. Your reasoning is what this worksheet is teaching.

Task 02 My sort-files-by-extension script mishandles .tar.gz files. Fix it. Category — suggester / agent / neither
Directed prompt (if agent)
First-choice tool
One-sentence reason
Task 03 Tell me what the word “ontology” means. Category — suggester / agent / neither
Directed prompt (if agent)
First-choice tool
One-sentence reason
Task 04 Reorganize my downloads folder so each file type is in its own subfolder, and tell me what got moved where. Category — suggester / agent / neither
Directed prompt (if agent)
First-choice tool
One-sentence reason
Task 05 In this React app, add a loading spinner to every page that fetches from the API, and make sure the existing tests still pass. Category — suggester / agent / neither
Directed prompt (if agent)
First-choice tool
One-sentence reason
Task 06 Write me a regex that matches an email address. Category — suggester / agent / neither
Directed prompt (if agent)
First-choice tool
One-sentence reason

Answer key (cover this until you have tried)

Task 2 — sort-files .tar.gz bug

Agent. This is exactly the Lesson 3.2 starter. Cowork is fine for a single-file bug fix; Claude Code also works. Both are practiced in 3.2.

Task 3 — what does “ontology” mean

Neither. Factual question, not a code task. Ask a plain chat model (suggester-only) or a dictionary.

Task 4 — reorganize downloads

Agent. Folder-shaped, cross-file, requires actually moving files and reporting what happened. Tool: Cowork. Folder-shaped work is Cowork’s sweet spot. (Note: this smells like the tidy.py starter from Lesson 3.2 — deliberately so.)

Task 5 — React loading spinner

Agent. Multi-file, repo-shaped change with a test-pass verify signal. Tool: Claude Code. Cross-file changes with test runs are where Claude Code’s terminal-native flow earns its weight. You will revisit this in Lesson 3.5 as a scoping exercise.

Task 6 — email regex

Suggester — or, more honestly, a reference (every programming book has this). The “right” email regex depends on which RFC you follow and usually calls for a real library (e.g., Python’s email.utils) for anything serious. An agent is overkill and a suggester’s answer risks being subtly wrong for edge cases — prefer the library.

Reflection — three sentences

1. Which task did you most want to call “agent” when it was actually “neither,” or vice versa? What pulled you in the wrong direction?
2. For Task 5, what specifically in the prompt told you Claude Code is the first-choice tool? Name it — “multi-file” is not the only right answer.
3. Looking at your six directed prompts, which of the four moves — goal, location, plan, verify — felt hardest to name explicitly? That is the step you will skip first under pressure.

Sign and date

Signed (student)
Date

Where this worksheet ends up

Keep this page. Lesson 3.2 uses Task 2 as the first directed-edit exercise. Lesson 3.5 revisits Task 5 when scoping a larger change. If your answers on those two tasks change significantly after those lessons, that is a sign the lessons landed.