Rung 01 · The Agentic Builder Series
In Tropo: Your First Tracker
The Agentic Builders · Becoming an Agentic Builder · Rung 1 · In Tropo · · 14 min read
You read why this works — that a spec is a program you already know how to write. Here you do it: you drop in a finished spec, hand it to your agent, check it once, and end holding a working tracker. You don't write a word of the spec yet. About fifteen minutes.
Part 1 — The Spec File
Here's the spec. You didn't write it — that comes later, at rung four. For now you're borrowing a good one so you can watch the loop run once, end to end, without also learning to author. Read it. Notice it says what "done" means and what to leave out — a spec is as much about the fence as the field.
Which folder does this go in? The one your agent is already working in. If you're not sure which that is, just ask it: "What folder are you working in right now?" — and use the folder it names. (Many agents show it at the top of the window, too.) Everything in this walkthrough lives in that one folder.
Getting the spec into a file — the easy way. You don't need to hand-craft a .md file (and on a Mac, TextEdit will fight you — it likes to save .rtf and hide extensions). Let the agent do it. Paste the whole spec below into your agent and say:
Save the text below as a file named first-tracker.spec.md in the
folder you're working in. Just save it exactly as-is — don't build
anything yet.
<paste the entire spec here>
That's it — the spec is now a real file in your folder, created by the agent, spelled correctly, no extension surprises. (If you'd rather make the file yourself and you're comfortable doing it, go ahead — the result is the same. If you want it governed and tracked later, that's a rung-four move. Today it's just a file the agent reads.)
Here's the spec to paste:
# Spec: Outreach Tracker
## Intent
**Who:** A person doing a round of outreach — job applications, sales
intros, partnership feelers, fundraising, whatever. Someone sending a
batch of "reach out, then wait, then follow up" messages.
**What problem:** After the fifth message you lose the thread. Who did I
already contact? Who owes me a reply? Who have I let go cold? It lives in
your head or scattered across email, and things slip.
**What we're building:** A single-screen tracker — one row per person
you're reaching out to — that shows at a glance who's where in the
pipeline, so nothing falls through and you always know who to nudge next.
## What "done" looks like
- One openable file. You double-click it, it opens in your browser. No app
to install, no server to run.
- One row per contact. Each row shows:
- **Name** — the person or organization (plain readable name, nothing
else jammed in).
- **Channel** — how you reached out (email, LinkedIn, intro, etc.).
- **Stage** — where they are: `To send`, `Sent`, `Replied`, or `Closed`.
- **Last touch** — the date you last did something on this one.
- **Next** — the one thing you'd do next (a short note).
- The current active contact — the one you're waiting on right now — is
visually obvious at a glance. Exactly one row is highlighted.
- Stages read as colored pills, not raw text: `Replied`/`Closed` look
settled, `Sent` looks active, `To send` looks quiet.
- Two or three example rows already filled in, so you see the shape
immediately and can edit from there.
- There's a clear, obvious way to add a new contact row.
## One worked example
> **Row:** Dana Reyes · LinkedIn · **Sent** · Jun 30 · "Follow up if no
> reply by Jul 7"
>
> Dana is the contact you're currently waiting on — so her row is the one
> highlighted. You sent the LinkedIn message June 30, she hasn't replied
> yet, and your note to yourself is to nudge her July 7 if it's still
> quiet. One glance at the tracker and you know: Dana is the open thread,
> and July 7 is the date.
## Non-goals (leave these out)
- No login, no accounts, no cloud sync. It's a local file.
- No email integration — it does not send messages or read your inbox. You
update it by hand.
- No analytics, charts, or "conversion rate" dashboards. It's a status
list, not a CRM.
- No more than one screen. If it needs scrolling to read, it's too big for
rung one.
That's the whole spec. Four sections: what it's for, what "done" means, one worked example so the agent can't guess wrong, and the fence of things to leave out. You already write briefs like this for people. This is the same instinct, aimed at an agent.
Part 2 — The Build Walkthrough
Three turns. Each one is a prompt you paste, and a look at what comes back. The prompts below are the ones that produced the tracker in this walkthrough — they work as written.
A note on what you'll see: the conversation is text — copy the prompts straight out. The tracker itself is the one thing you'll see as an image, because its whole point is that it's visual and it's yours. And one honest caveat about the replies below: your agent's exact wording will differ every time — these blocks are roughly what you'll see, not a transcript to match. What matters is that a file named something like outreach-tracker.html appears and opens. If your agent asks you a question instead of building, just answer it or paste the prompt again. Tropo runs the same way across tools; the words matter, the chrome doesn't.
Step 1 — Hand the spec to your agent
The spec is now saved as first-tracker.spec.md in your folder. Now direct the work. You're not writing the tracker; you're handing off a clear ask to something capable and letting it run.
Paste this:
I dropped a spec in this folder called first-tracker.spec.md.
Read it and build exactly what it describes — a single openable
HTML file I can double-click. Don't ask me questions, just build
it to the spec.
Roughly what comes back:
Read the spec. Built outreach-tracker.html — a single self-contained
file, no server, nothing to install.
It has the five columns you asked for (Name, Channel, Stage, Last
touch, Next) and three example rows:
· Priya Menon — Replied
· Dana Reyes — Sent (this is the highlighted row — your open thread)
· Rivera & Co. — To send
Stages show as colored pills, Dana's row is the one highlighted, and
there's a "+ Add a contact" button at the bottom.
Open it with: open outreach-tracker.html
Now open it. Find outreach-tracker.html in your folder and double-click it — it opens in your browser. That's the whole move. (If you're comfortable in a terminal, the agent's open outreach-tracker.html does the same thing from the command line — but you never need the terminal for this.)
[screenshot: your working tracker] A light bone-and-white board, one screen, no scroll. An ember eyebrow reading
TRACKER · OUTREACH, a title "Who I'm reaching out to," and a status line: "Waiting on Dana Reyes — nudge Jul 7." Below it, three rows — Priya Menon (Replied, green), Dana Reyes (Sent, ember — the single highlighted row), Rivera & Co. (To send, quiet). A+ Add a contactbutton at the bottom.
You made that happen. You wrote nothing but a hand-off.
Step 2 — Check it once
This is the move you already make when a junior sends work back: you don't rubber-stamp it, you look at the one thing that matters. Here the one thing is the worked example — did the agent honor it?
Paste this:
Open it and show me what it looks like. Does it match the worked
example in the spec — is Dana the highlighted row?
Roughly what comes back:
Yes. Dana Reyes's row is the single highlighted one — LinkedIn · Sent ·
Jun 30 · "Follow up if no reply by Jul 7", exactly the worked example.
It fits one screen, no scrolling. The "+ Add a contact" button adds a
new editable row when clicked.
Don't stop at the agent's word for it. You'll confirm that add-row claim yourself in Part 3 — that's the half that proves it's correct, not just finished-looking.
Step 3 — Change the spec, watch the software change
This is the moment the whole series turns on. You're going to change one line of the spec — the essay named the three legal kinds of change: a label, a rule, or a limit. Here you add one rule: a new column. Then you ask for a rebuild, and the tool changes to match.
One thing to know up front, because it's the difference between magic and nothing happening: the agent doesn't watch the file. Editing the spec alone changes nothing. You have to say "now rebuild it." The rebuild is a second instruction, and this prompt includes it.
Open first-tracker.spec.md. Under ## What "done" looks like, find the Channel line in the list of what each row shows, and add this new line directly beneath it — so Owner sits right after Channel:
- **Owner** — who on your side is handling this contact (you, or a teammate).
Save it. Then paste:
In the spec, under "What done looks like", I added one line right
after Channel: an Owner column — who on my side is handling each
contact. Rebuild the tracker to match, with Owner as the new column
right after Channel.
Roughly what comes back:
Added the Owner line to the spec, then rebuilt the tracker with a
new OWNER column right after Channel:
· Priya Menon — You
· Dana Reyes — You
· Rivera & Co. — Sam
I also updated the "+ Add a contact" button so new rows include an
Owner cell too — the columns stay lined up. Everything else is
unchanged: still one screen, still exactly one highlighted row (Dana).
One line in the spec → one new column in the tool. Reload to see it.
Reload the file in your browser.
[screenshot: your working tracker, now with an Owner column] The same tracker, one screen, one ember row — now with an
OWNERcolumn right after Channel: You, You, Sam.
One line of words in. A whole new column out. You thought it, you built it — and the causality is right there in front of you, one line to one column. That link is the thing rung one exists to show you: the spec is the program.
(A lighter version of this move, if you want to feel it with less at stake: rename a label. Change Stage to Status, or one stage name from To send to Queued, then ask for a rebuild — one word in, a different tool out, and nothing under the hood to break. Adding a column is the bigger swing: the agent has to update the header, every row, and the hidden "add a row" template so new rows stay aligned. Worth knowing that's all riding on your one line — and worth the check in Part 3 that catches it if a spot gets missed.)
Part 3 — The Verification Checklist
Directing is half the job. This is the harder half — deciding whether what came back is right, not just whether it exists. "It looks finished" is not "it's correct." So don't read this as a row of checkmarks to admire. Perform it. You review other people's work all the time; you know the difference between glancing and actually checking.
Go to the tracker and do this now, before you call it done:
- Click
+ Add a contact. A fourth, editable row should appear. The table should go from three rows to four, and you should be able to type into the new row. If nothing happens when you click, the tool is not actually done — the button is décor, not function. - Look at the new row's columns. Every cell should line up under the right header — including an Owner cell, now that you added that column. If the new row is missing a cell or its values sit under the wrong headers, the "add a row" template didn't get the Owner update — send it back (there's a fix prompt below).
- Count the highlighted rows. There must be exactly one — Dana. If two rows glow, the "one open thread at a glance" promise is broken, and the spec said exactly one.
- Reload the page after your Owner edit. The
OWNERcolumn must still be there, right after Channel. If it vanished on reload, the rebuild didn't actually take.
Now fill in the receipt — with what you saw, not what you hoped:
| What was asked | A single-screen outreach tracker: one row per contact, five columns, exactly one highlighted "open thread" row, colored stage pills, seed rows, and a way to add a contact. Then: add an Owner column by changing one line of the spec. |
| What you can now do yourself | Open the tracker, read at a glance who owes you a reply and who to nudge next, add a contact, and — the load-bearing one — change what the tool does by changing one line of its spec and asking for a rebuild. |
| What the record shows | first-tracker.spec.md and outreach-tracker.html both sit in your folder. The spec now carries the Owner line you added; the tracker now carries the Owner column that line produced. The before/after is the evidence: one line changed, one column appeared. |
| What's not done yet | It doesn't send messages or read your inbox — you update it by hand (that was a non-goal, on purpose). And today the tracker is just a file living in your folder — not yet a governed Tropo file your studio tracks (you give it a uid in its frontmatter and rebuild the studio index; there's no registry to hand-edit) so it persists across sessions. That upgrade is rung four. You also haven't written a spec of your own yet — that's rung four too. Today you ran the loop once and bent the tool with a single line. That's the whole win. |
If the add-row click did nothing, or the new row's columns were misaligned, or two rows glowed, or the column vanished on reload — you caught it, which is exactly the job. Send it back:
The "+ Add a contact" button isn't right — clicking it should add a
new editable row whose cells line up under every column, including
Owner. Fix it.
Directing includes rejecting. That's not the loop failing; that's the loop working.
Part 4 — What You Now Have in Your Studio
You started without writing a word of the spec. You end having changed one — and watched the software change to match.
In your folder, right now:
- A working tracker —
outreach-tracker.html, a real tool you can open, read at a glance, and add contacts to. Not a demo. Use it for your next round of outreach. - A spec you can change —
first-tracker.spec.md. You already proved it's live: one line turned into one column. Change another line, ask for a rebuild, and the tool follows. The spec is the program, and it's sitting in your folder waiting for your next edit. - Your first receipt — the checklist above, filled with what you actually saw. That habit — direct, then verify with evidence — is the one you'll carry up every rung after this.
It's doable. It's not automatic — you had to say "rebuild it," and you had to check the button yourself. But you did both, and it worked. Next rung: you stop borrowing the spec and start shaping the ask before you write it. For now — you thought it, you built it.
