agenticlately · GH-600 Study Prep
Home Phase A Lesson A0.2
PHASE A · LESSON A0.2

PLAN.md — intent as an artifact

A0.1 showed where agent work lives. This lesson answers: how do you write down what you actually want, before the agent starts? The exam's answer is a structured task — defined by inputs, outputs, and success criteria — written as a file, not said out loud.

~6 minread 3 MCQ+ explain-back Tier 1source cited
Story

Before the robot builder touches anything, the owner pins a blueprint brief note on the wall: "Kitchen must fit a dishwasher. Keep the load-bearing beam. Finish under budget."

It's written down, it lives on site, and the robot — plus every inspector after it — works against that note, not against something said out loud last Tuesday that nobody can check. That note is PLAN.md. Now the real mechanics.

A task you can trust an agent with is a structured task

MS Learn is blunt about this: "When tasks are under-specified, agents can produce changes that look plausible but don't actually solve the underlying problem." The fix is to define every agent task as three things:

Definition

A structured task (or task contract) is a task written as inputs + outputs + success criteria, so "done" is defined before the agent starts — not argued about after.

What a real task contract looks like

MS Learn's worked example — remediating a vulnerability — spells out all three parts:

A well-formed agent task names three things up front: its inputs (what the agent needs to start), its outputs (what it must produce — typically a plan, a PR, and evidence), and its success criteria (how the result gets judged — checks, scans, review outcomes). Skip any one and you can't tell whether the agent actually finished.

Our summary · grounded in MS Learn — Designing Agent Architecture & SDLC Integration, unit 3 · fetched 2026-05-30

Where the intent lives — and why it's a file

The intent doesn't float in your head. It's an artifact (same word as A0.1 — a recorded, openable file you can inspect later). It lives in writing, at three scopes:

Lock it in

PLAN.md is just the most durable form of intent: a Markdown file, version-controlled, that you, a reviewer, or the next agent can open and diff. Intent becomes a file, not a feeling.

This repo dogfoods exactly that: its own PLAN.md opens by stating what "done" means (exam, pass mark, scope) and cites its source. When you — or a Copilot agent assigned here — work an issue, you work against that file.

"CI passed" is necessary — not sufficient

If success criteria are vague, an agent can "complete the task" in a way that looks correct but misses the goal. MS Learn's example: it bumps a dependency, but the vulnerable version is still reachable through a transitive dependency — green checks, problem unsolved.

A green pipeline is necessary but not always sufficient. Write success criteria that name the real outcome — “vulnerability resolved” rather than just “tests passed” — so an agent can't call a job done while the actual problem survives.

Our summary · grounded in MS Learn — Designing Agent Architecture & SDLC Integration, unit 3 · fetched 2026-05-30

Prompt vs file — don't confuse them

The whole move of A0.2 is turning evaporating guidance into a stored artifact:

And don't blur the two written forms: the Issue = one specific job (the work-order ticket); PLAN.md = the whole build's canonical brief (the blueprint note).

Common confusions (read these or get them wrong)

First — what's an "anti-pattern"?

You'll meet this word on the exam, so pin it down now. A pattern is a known good way of doing something — the move people keep recommending. An anti-pattern is the opposite: a way that looks reasonable, or feels easier in the moment, but is a known bad idea that bites you later. It's not a one-off slip — it's a recurring trap, common enough that it has earned a name.

Definition

Anti-pattern = the wrong move people keep making. (A pattern = the right move people keep recommending.)

For A0.2, the anti-pattern is simply the opposite of an inspectable plan: an agent that mixes planning and doing all at once, with no written plan anyone can open and review. You can't tell what it intended or check its reasoning — which kills the visibility A0.1 was built on. So when the exam shows you four options and three are sound design, the anti-pattern is the one that breaks the rule you just learned.

What the exam actually asks

The exam doesn't ask you to recite the triad — it tests it as design judgment. Expect items where clear success criteria and required checks are the good design, and mixing planning and execution with no inspectable plan is the anti-pattern. It's the same idea as the definition of done a reviewer checks against — scope, checks, review, and policy. Same payload, scenario wording. (The enforcement move — making a plan a required status check — is lesson 1.4 / 1.5.)

On this repo · your practical

Phase A's hands-on build is to give gh-600-prep a real PLAN.md — its scope, the folders an agent may touch, and our definition of "done" — so a Copilot agent (or you) assigned an issue here works against a written brief, not a guess. We turn this exact lesson into a file in our own repo: intent becomes an artifact you can open and diff.

Ticks this lesson done on the home roadmap. Saved in this browser.

Quiz · Lock it in

0 / 0 answered
Q1 · multiple choice

You're writing the task brief for an agent. Which three things must a well-structured task spell out?

Answer · B. A structured task names its inputs (what the agent needs), its outputs (plan + PR + evidence), and its success criteria (how the result is judged). The others are real Git/LLM terms — but not the task-structure triad. [concepts/01-a02]
Q2 · multiple choice

An agent's PR is all green, but the bug it was meant to fix is still exploitable. Why can "all checks passed" be necessary but not sufficient?

Answer · B. With vague criteria, an agent can ship something that looks plausible but misses the goal — e.g. a dependency bump that leaves the vulnerable version reachable through a transitive dependency. Write criteria that name the real outcome ("vulnerability resolved", not "tests passed"). [concepts/01-a02]
Q3 · multiple choice

Three of these are sound agent design. Which one is the architectural anti-pattern?

Answer · C. A and B are exactly what A0.2 tells you to define; D is good traceability. The anti-pattern is execution you can't inspect — no plan to review before impact. The fix (make a plan a required status check) is lesson 1.4 / 1.5. [concepts/01-a02]
Q4 · explain back

In your own words: why write intent as a file like PLAN.md instead of just telling the agent what you want? Think it through, then reveal.

Suggested answer

A PLAN.md is an artifact — written, version-controlled, and openable by humans, reviewers, and the next agent — so the definition of done is fixed before the agent starts and stays inspectable afterward. A verbal prompt evaporates: it can't be reviewed, diffed, or gated against. The file is the record of what "done" meant, which is exactly what GitHub stores (system of record) and enforces against (control plane).


  
Sources · MS Learn Designing Agent Architecture & SDLC Integration (unit 3) · Foundations of Agentic AI (unit 4) · fetched 2026-05-30

Unofficial study material. Not affiliated with, endorsed by, or sponsored by GitHub or Microsoft. “GH-600” and “GitHub” are trademarks of their respective owners, used for identification only.