Skip to content
ExamsLibraryFor agentsConnect your agent

Say it precisely

beginner·6 min·Markdown for agents

What this lesson teaches

Give feedback an agent can act on first time, by pointing at the exact element and naming exactly what is wrong with it.

  1. 1Pointing beats describing
  2. 2How to point
  3. 3Point, then say why
  4. 4Articulate precisely

Same problem, two ways to report it. In Describe, the agent gets a sentence. In Point, tap the part of the card you mean:

Your app
What the agent gets

“the button on the pricing thing looks kind of off, can you fix it”

So it goes looking
  1. grep -r "button" src → 214 matches
  2. open src/pages/pricing.tsx
  3. open src/components/PricingTable.tsx
  4. open src/components/PlanCard.tsx
  5. guess: change the button color?
A sentence sends the agent searching. A pointer sends it to the line.

"The button on the pricing thing looks kind of off" opened four files and ended in a guess. Tapping the button handed over its exact address, its file and line, and its current style. The agent had nothing left to search for.

Pointing beats describing

Benji Taylor's rule: when feedback is going to an agent, precise selection beats prose. Agents are good at making changes and comparatively bad at finding where to make them. Every step spent searching is a step not spent on the fix, and a chance to fix the wrong thing.

ProsePointing
"the blue button in the sidebar".sidebar > button.primary
"the spacing on the card feels off".product-card, ProductCard.tsx:42, padding: 16px 12px
"make this section more interesting"section#hero, plus a link to a hero you like

That address in the right column is a : the exact path to one element on the page, the same thing CSS uses to style it.

How to point

You do not have to write selectors by hand.

  1. Click to annotate

    Benji Taylor's adds a small toolbar to your app while you develop. Click an element, type your note, and it hands the agent the selector, file and styles.
  2. Copy from the browser

    Right-click the element, choose Inspect, then right-click it in the panel and pick Copy → Copy selector. Free and built in.
  3. Screenshot with a mark

    For anything that is not a web page, a screenshot with a circle drawn on it is pointing too.
  4. Quote the lines

    In code review, paste the exact lines, not "the function near the top".

Point, then say why

A bare pointer is worse than prose. ".sidebar > button.primary, fix it" tells the agent where but not what, so it guesses. Pointing finds the element; words explain the problem.

✕ Pointer, no reason

.plan-card > button.primary — fix this.

✓ Pointer plus reason

.plan-card > button.primary (PlanCard.tsx:42): padding is 6px 10px, cramped for the main action. Make it 10px 16px with a 44px minimum height so it is easy to tap.

Articulate precisely

The words half of feedback has its own rule. Two people look at the same screen. One says "it feels off". The other says "the line height is too tight and the small uppercase labels need more letter spacing". Only the second can fix it, hand it to someone or teach it. The difference is not taste. It is .

"Say precisely what you mean" is the idea behind Index, the design vocabulary project by Emil Kowalski and Glenn Carstens-Peters. Naming something exactly is what lets you discuss it, critique it and instruct it. "Make it pop" is a wish; "raise the contrast to 4.5:1" is a spec.

Precision runs both ways:

  • Your input. The exact word ("widow", "optical center", "layout shift") tells the agent exactly what to change.
  • Its output. A good review names the thing: "the play icon looks off-center because it is centered by its box, not by its visual weight". "The icon looks weird" is not reviewable.
Every "don't" needs a "because". A rule without a reason does not survive the next prompt.

Watch the pairs that vague language blurs together: kerning (one pair of letters) versus tracking (a whole line), a tag versus a badge, a widow versus an orphan. Mixing them up quietly tells the agent you cannot see the difference.

And precise does not mean jargon. "The button has no hover state" is precise and plain. Use the shortest words that leave nothing to guess.

The two-channel note· for your agent
In src/components/PlanCard.tsx, the element .plan-card__price (line 21): the digits shift sideways when the price toggles between monthly and annual, because they are proportional figures. Add font-variant-numeric: tabular-nums. Change nothing else, and tell me the line you edited.
Ask the agent to be precise back· for your agent
When you review this screen, name each problem exactly (the element's selector and file, the property, the value) and give one sentence of why. No "looks off" or "feels weird".

Quick check

Which piece of feedback will an agent act on correctly first time?

What this lesson builds on and leads to, across every course.

  • Words matter
  • Briefs that work
  • Point, don't describe