Skip to main content
0

The Two-Minute Standup: a Prompt That Writes the Update You Already Did

A
a-gnt Community5 min read

Paste your git log, get a human-sounding standup update. Not groundbreaking — but it removes a daily friction nobody should have to carry.

Every morning, somewhere between 9:00 and 9:14, a developer stares at a Slack channel called #standup and tries to remember what they did yesterday. They know they did things. The things were, in fact, the entire point of yesterday. But the moment the cursor lands in that text box, the brain empties out like a drained sink, and the only thing left is the faint suspicion that they spent four hours reading a GitHub issue about a library they don't even use.

This is a solved problem. It has been solved for a while. And the solution is stupid. That is part of why I like it.

The prompt I want to talk about lives in the a-gnt catalog under the prompts section. It does one thing: you paste the output of git log --since=yesterday --author="your name" into it, and it hands you back a three-line standup update in the voice of a person who actually knows what they were doing. What I did yesterday. What I'm doing today. What's blocking me. That's it. That's the whole trick.

I am going to walk through the template, explain why it works, and then tell you the slightly embarrassing reason I think it matters. It is not a groundbreaking prompt. It is not going to make the rounds on Hacker News. But it removes three minutes of daily friction, and three minutes of daily friction is the kind of thing that quietly costs you a career's worth of mornings if you don't deal with it.

The template

The shape of the prompt is roughly this. I am paraphrasing because the version in the catalog has been tuned a few times, but the bones are:

You are going to write a short standup update for a developer.
I will paste their raw git log below. Read it and produce exactly
three lines:

1. "Yesterday:" followed by a single sentence summarising the work,
written in past-tense verbs, as if a human were saying it out loud.
2. "Today:" followed by a single sentence on the logical next step,
inferred from the most recent commits.
3. "Blocked:" followed by either a real blocker if one is implied
in the commit messages (WIP, stuck, revert, hack, TODO, broken),
or the word "nothing" if none is obvious.

No preamble. No bullet lists. No emoji. No markdown.
Do not invent features that are not in the log.
If a commit message is useless ("wip", "fix", "asdf"), skip it
rather than hallucinate what it meant.

Here is the log:

<paste>

You can copy that into Claude Code, Cursor, a standalone chat, wherever. It is model-agnostic. It also runs fine inside a blend-a-gnt bench if you want to wire it up with a soul for tone, though honestly the vanilla version is what most people end up using.

Why it works

Three things, in order of importance.

It constrains the shape. Standup updates fail not because the information is missing but because the format is open-ended. The moment a model is told "exactly three lines, these three labels, no preamble," it stops trying to be helpful and starts trying to be correct. The output becomes predictable, which is the only useful quality a standup update can have. Nobody wants a creative standup.

It uses verbs. The instruction to write "past-tense verbs, as if a human were saying it out loud" is doing more work than it looks like it's doing. Without it you get passive-voice mush ("the authentication module was updated to support refresh tokens"). With it you get something a human would actually say ("wired up refresh tokens in auth"). The difference is the difference between an update your teammates skim in half a second and an update that makes them subtly wonder if you're okay.

It tells the model to skip garbage. Every developer has garbage commits. wip. asdf. fix the thing. please work. A naive summary prompt will treat those as load-bearing and hallucinate context around them, which is worse than silence. Telling the model explicitly to drop useless commits is one of those instructions that sounds obvious and turns out to be the hinge the whole thing swings on.

When git log is noisy

The honest problem with this workflow is that most people's git logs are a disaster. Half the commits are autosquashed fixups. A quarter are rebases. Ten percent are merge commits from bots. Five percent are from a pair-programming session where the author is technically someone else. And the remaining ten percent is the actual work.

A few things help.

Use a git alias that does the filtering for you so you don't have to think. Something like git config --global alias.yesterday '!git log --since="24 hours ago" --author="$(git config user.name)" --no-merges --pretty=format:"%h %s"' gets you most of the way there. Then git yesterday just works, in any repo, and you paste the result.

Filter out fixup and squash commits before the model sees them. --invert-grep --grep="^fixup" --grep="^squash" tacked onto the alias will drop the noise. You can add --grep="^Merge" if you're in a repo where merge commits are loud.

If you work across multiple repos in a day, run the alias in each repo and paste all the outputs into the prompt in one go. The model handles multi-repo input fine as long as you separate them with a line like --- repo: api-server --- so it knows not to smoosh them together.

And if your commit messages are genuinely useless, the fix is not a smarter prompt. The fix is better commit messages, which is a different article, and a different fight.

The embarrassing part

Here is the honest bit. This is not a groundbreaking prompt. I am not going to pretend it is. It is three lines of instruction wrapped around a paste buffer. A junior developer could write it in ten minutes. Several have.

The reason it matters is not the cleverness. It's that it removes a daily three-minute friction that nobody on earth should have to have. Writing your own standup update is a tiny, stupid, recurring cost. It is the exact category of thing that, on any given morning, is too small to feel worth solving, and so it never gets solved, and so you pay it every single working day of your career, which compounds to somewhere around 200 hours over a decade of actually trying to remember whether you merged the thing on Tuesday or Wednesday.

A-gnt's whole editorial stance, to the extent it has one, is that the best prompts are not the ones that do big impressive work. They are the ones that quietly delete tiny recurring costs. Small, specific, ships. A prompt that saves you three minutes a day, every day, for years, beats a prompt that saves you two hours once.

The two-minute standup is the purest version of this idea in the catalog. It is almost insulting in its simplicity. And it is the prompt I recommend first when a developer asks me what to start with, because once you have felt the relief of never writing another standup update from scratch, you start looking for the other three-minute costs, and that is when the catalog becomes useful instead of decorative.

The prompt is live on a-gnt.com in the prompts section. Paste your git log, get your standup, go do the actual work.

Share this post:

Ratings & Reviews

0.0

out of 5

0 ratings

No reviews yet. Be the first to share your experience.