Step 01 / plan
“help me build this” is not planning.
Before prompting, map four layers: the subject domain, the tech stack, current best practices, and exactly where this hooks into what already exists.
Subject domain
A finance agent is not a fitness agent. Study the domain, not just the idea.
Tech stack
Know the SDKs, APIs, and libraries the build will actually depend on.
Current best practices
Providers update SDKs monthly. Mine them fresh every build.
Integration points
Name the exact seams where the new work connects to what exists.
Agent loops have their own layer on top: tool usage, memory, system prompts, and loop logic. All have modern standards, and all shift fast. Mine them fresh every build.
Step 02 / prune
context rot
Exploration produces 10x more ideas than v1 needs. The agent suggests “we should also refactor x.” You accept. Again. Scope balloons until nothing ships coherently.
Two filters on every generated idea
01 / valuable?
If no, discard.
02 / needed now?
If no, straight to backlog. Background loops prioritize later.
I cut exploration output by 80% and failed builds went to near zero. The point is not to stop exploring. It is to stop letting every exploration result become a commitment.
Step 03 / build
the build layer
Skills alone are not guardrails. Run builds through a spec driven SDLC: proposal (the why), design (the what), specs (acceptance criteria), tasks (the how).
Proposal
the why
Design
the what
Specs
acceptance criteria
Tasks
the how
- →never dump the entire spec and say "build this"
- →break into small contained tasks, one feature at a time
- →never let the build start without acceptance criteria written first
- →when a run drifts at hour 3, the proposal doc snaps it back
A 15 hour autonomous run is only gradeable against criteria that existed before it ran. No re-explaining.
Tooling / spec system
OpenSpec if you ship fast solo. Spec Kit when there is a team or hard principles involved.
Step 04 / secure
the security layer
Agents hold keys, tokens, and data access. An unreviewed autonomous run with write access is an incident waiting to happen.
Least privilege
Scope agent credentials to exactly what the task needs. Read only by default; write access is granted per task and revoked after.
Secrets hygiene
Keys live in env vars or a vault, never in prompts, context files, or memory. Anything in a prompt can leak into logs and outputs.
Gate the dangerous actions
Deploys, payments, deletions, and external sends always require human approval.
Sandbox the execution
Runs happen in containers or scoped environments, not your host machine with full access.
Audit trail
Log every tool call and file write so any drift is traceable after the fact.
Review before merge
Run an adversarial review pass on every autonomous diff. Treat agent code like a junior dev's PR, not shipped truth.
Step 05 / sync
sync the loop
Sync specs back so future builds never contradict what works. Boring process. Compounding output.
Explore the domain, tech, best practices, and integration points. Prune noise and backlog the later stuff. Build through spec driven tasks, one feature at a time. Secure the run with least privilege, gated actions, and reviewed diffs. Sync the working specs back into the system.
generic input gets generic agents. dialed input gets systems.