Professional Agentic Product Engineering

Chapter

All tips — the complete index

Every tip in the guide — all 65, grouped by tier and numbered T.N (tier · index). Each links to its full Instead → Prefer pair on the tier page.

T1 — Prompt

  • Tip 1.1 — Hand over the outcome, not a file list
  • Tip 1.2 — Be specific — vagueness is now taken literally
  • Tip 1.3 — Say what to do, not what to avoid
  • Tip 1.4 — Give the reason; motivation makes it generalize
  • Tip 1.5 — Specify the output shape, not just the goal
  • Tip 1.6 — Show examples instead of describing style
  • Tip 1.7 — Follow the house style, don't invent one
  • Tip 1.8 — Show, don't tell — use the input channels
  • Tip 1.9 — Invite uncertainty instead of forcing an answer
  • Tip 1.10 — Paste raw errors, don't paraphrase them
  • Tip 1.11 — Constrain scope — modern models over-engineer unless you stop them
  • Tip 1.12 — Narrow the edit surface — a small diff is a reviewable diff
  • Tip 1.13 — Dial effort; don't beg for thoroughness
  • Tip 1.14 — Say it all in your first message
  • Tip 1.15 — Feed high-signal context, not the whole repo
  • Tip 1.16 — /clear between tasks; reset after repeated failure
  • Tip 1.17 — Steer compaction, don't run it blind

T2 — Plan

  • Tip 2.1 — Investigate before you edit — a wrong mental model wrecks the diff
  • Tip 2.2 — Plan the uncertain; skip the plan for the trivial
  • Tip 2.3 — Force an approval checkpoint and see what it will touch — nothing irreversible runs unseen
  • Tip 2.4 — Ask for options, not the first idea
  • Tip 2.5 — Slice vertically — thin end-to-end increments, not horizontal layers
  • Tip 2.6 — Turn big features into a spec, then a fresh session
  • Tip 2.7 — Plan with the smart model, build with the cheap one
  • Tip 2.8 — Have one agent draft the spec and a different one critique it — before any code
  • Tip 2.9 — Keep secrets out of git and out of context — set this up first
  • Tip 2.10 — CLAUDE.md = gotchas + conventions, not an encyclopedia
  • Tip 2.11 — Put occasional knowledge in Skills — loaded only when the task matches
  • Tip 2.12 — Add the right MCP servers; keep the surface small
  • Tip 2.13 — Use external memory for multi-session work — compaction won't carry decisions across sessions

T3 — Verify

  • Tip 3.1 — Make your Definition of Done executable — a command is what the loop converges to
  • Tip 3.2 — Do TDD — the unit-level check
  • Tip 3.3 — Use BDD — the behavior-level check
  • Tip 3.4 — Test the UI for real with Playwright MCP — don't eyeball it
  • Tip 3.5 — Demand evidence, not a claim of success
  • Tip 3.6 — Ask for all findings, not a conservative review
  • Tip 3.7 — Review with fresh eyes, not the context that wrote it
  • Tip 3.8 — Run a pre-mortem; treat it like a teammate
  • Tip 3.9 — Iterate UI visually when there's no spec to assert
  • Tip 3.10 — Gate on the coverage of this change, not the project's average
  • Tip 3.11 — Mutation-test the suite itself — coverage proves the line ran, not that anything checked it
  • Tip 3.12 — Commit every working step — checkpoints are what make a loop safe
  • Tip 3.13 — Try risky work in a worktree — a disposable checkpoint you can throw away

T4 — Enforce

  • Tip 4.1 — Replace "remember to run tests" with a hook
  • Tip 4.2 — Move repetitive engineering into CI / headless — run it without you in the seat
  • Tip 4.3 — Let Claude drive gh — the collaboration layer is harness too
  • Tip 4.4 — Turn a correction you keep giving into a rule that tells the agent the fix
  • Tip 4.5 — Put approvals in rules, not prompts — a prompt you always approve has stopped being a check

T5 — Orchestrate

  • Tip 5.1 — Let it self-orchestrate big, parallel work — it fans out faster than you can by hand
  • Tip 5.2 — Use subagents to isolate context
  • Tip 5.3 — Race several agents on the same task; keep the winner
  • Tip 5.4 — Decompose complex builds into specialist roles — narrow context per role beats one big pass
  • Tip 5.5 — Engineer the long-horizon hand-off — so the next session doesn't guess
  • Tip 5.6 — Steer long runs mid-flight instead of restarting them
  • Tip 5.7 — Engineer the environment, not the wording
  • Tip 5.8 — Manage parallel agents in an agent-aware terminal — so you see which one is blocked
  • Tip 5.9 — Isolate parallel agents with worktrees + one session each

T6 — Supervise

  • Tip 6.1 — Host long runs on a box that doesn't sleep; persist with tmux
  • Tip 6.2 — Drive the fleet from your phone — clear blockers from anywhere
  • Tip 6.3 — Secure the agent server like production
  • Tip 6.4 — Sandbox the loop; never run autonomous agents on a dev box or prod
  • Tip 6.5 — Gate the plan, not every keystroke
  • Tip 6.6 — Cap the strikes — a stuck agent shouldn't burn tokens forever
  • Tip 6.7 — Make the tracker the state machine — the agent forgets; the board remembers
  • Tip 6.8 — Certify the evidence instead of reading the diff — review the proof, not every line