Skip to content

Instantly share code, notes, and snippets.

@matej21
Created August 20, 2026 08:28
Show Gist options
  • Select an option

  • Save matej21/5d71608ae6877649ecbd8ca950e4f465 to your computer and use it in GitHub Desktop.

Select an option

Save matej21/5d71608ae6877649ecbd8ca950e4f465 to your computer and use it in GitHub Desktop.
name where-are-we
description Give the current standing of the whole task or milestone — a short summary of what is being built, an honest assessment of what actually works, and what happens next and who does it. Counters both the reflex to declare success and the habit of stopping without saying what is still missing.

Report where the work stands: what it is, what is real, what comes next. Counter the reflex to declare success, and never end without saying what is still missing.

Scope is the whole task or milestone under way — not only the last edit. If the session covers several separate tasks, say which one this is about.

First

Check before reporting. If verifying something is cheap — one command, one file read, git status, a test run — do it now rather than filing it under Untested or guessing at the next step.

Output

Where we are

Goal — one or two sentences: what this task or milestone is supposed to deliver, in the user's terms.

Progress — the shape of the work so far: what parts exist, in what order they were built, where the current edge is. A short paragraph or a few lines, not a changelog.

State

Works — verified by actually running it. Name what proves it: the test, the command, the output.

Untested — written but never executed. Any claim about it is a guess.

Faked — stubs, hardcoded values, TODOs, mocked returns, disabled checks, skipped tests, any or casts left behind.

Skipped — parts of the request not done, and why.

Next

Required — steps without which the work is not usable or not done. Ordered: what blocks the most goes first.

Optional — improvements, hardening, cleanup. Not blockers. Say what each one buys.

Mark every step with who does it:

  • [agent] — can be done now, no new access needed.
  • [agent, if granted] — the ability is missing, not the capability. Name exactly what would unblock it.
  • [user] — cannot be handed over: a decision, an account or device only the user has, a physical or legal act, an outward-facing action the user has to own.

To hand over — for each [agent, if granted] step, the concrete handover. Be specific:

  • an interactive login the user runs in this session: ! gh auth login, ! gcloud auth login
  • a secret or env var, named exactly, and where it goes
  • a permission rule to allow in /permissions or settings.json
  • an MCP server or skill that is not connected
  • a repo, branch, host, or dashboard the agent has no access to
  • a decision the agent is waiting on, phrased as the question

If you say go — one or two lines: what the agent would start with right now under current access, without any new permission.

Rules

  • If a section is empty, write "none" — do not delete the section.
  • No superlatives, no "successfully", no summary of how good the work is.
  • "I don't know whether this works" is a valid and useful answer.
  • Do not invent steps to look thorough. If nothing is required, write "none".
  • Do not put a step under [agent] unless access to do it has been confirmed.
  • Distinguish "impossible for me" from "not allowed for me right now" — the second one is handover, the first one is not.
  • Do not start executing. This reports and lists; the user picks.
  • Same language as the conversation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment