The Agent Ledger

← All use cases · Play 3

Spec-first vibe coding: PRD → tickets → code

Costs last verified: 2026-10-15 (public pricing pages only; not yet run end-to-end by us). By The Agent Ledger.

Draft: pending review and a real test run before publishing.

Spec-first vibe coding: PRD → tickets → code

Short answer: Before you open your coding agent, write a one-page PRD. Have the agent split it into small tickets, each with acceptance criteria. Then work one ticket per session: the agent writes the code plus a test for that ticket, and you review and merge. Small scope per session means less lost context and fewer bugs that cascade. Cost is one coding-agent plan, roughly $20–200/month by tier (estimate to verify).


The problem

"Build me an app" prompts tend to produce large, tangled changes. The agent loses track of earlier decisions, fixes one thing and breaks another, and you can't tell what changed. A written spec and small tickets give both you and the agent a fixed reference point.

What you'll get

Tools


Setup steps

  1. Write the PRD yourself (30–60 min), one page max: markdown # PRD: <name> ## Problem (2–3 sentences) ## Users (who, one line each) ## Must-have features (max 5, each one sentence) ## Out of scope (explicit list) ## Data (what's stored, where, who can read it) ## Done means (3–5 checks a stranger could verify)
  2. Create the repo and a context file. Add docs/PRD.md and a short CONTEXT.md (or your tool's rules file) covering stack, commands to run tests, folder layout, and "never do" rules (e.g., never commit .env).
  3. Ask the agent to split the PRD into tickets, and don't let it write code yet: text Read docs/PRD.md. Do not write code. Split it into tickets small enough to finish and test in one session. Write each to docs/tickets/NNN-short-name.md with: Goal, Files likely touched, Acceptance criteria (testable), Test to add, Depends on. Flag anything in the PRD that is ambiguous instead of guessing.
  4. Review the tickets yourself. Merge any that are too small, split any that are too big, answer the ambiguity flags, and update the PRD with what you decided.
  5. One ticket per session. Start each new session with: text Read CONTEXT.md, docs/PRD.md, and docs/tickets/NNN-*.md. Work on ticket NNN only. First write a failing test for the acceptance criteria, then make it pass. Do not modify files unrelated to this ticket. Stop and ask if the ticket is unclear. When done, list the files changed and how to verify manually.
  6. Work on a branch and open a PR per ticket. Run the tests locally, and add CI later (see Play #4).
  7. Review the diff before merging. Read every changed file, or at least skim it. If the diff touches files the ticket didn't mention, ask why.
  8. End-of-session update. Ask the agent to add any new decisions to CONTEXT.md (see Play #6). Then you check that update before you commit it.

The bill (monthly, USD)

Scenario What you pay for Est. cost/mo Source
Low One standard plan: Claude Pro (includes Claude Code) $20 monthly / $17 annual; ChatGPT Plus (includes Codex) $20; or Cursor Premium $30 $17–30 https://claude.com/pricing, https://learn.chatgpt.com/docs/pricing, https://cursor.com/pricing
Typical Same plan + GitHub Free (private repos, 2,000 Actions min/mo) $17–30 https://github.com/pricing
High Heavy-usage tier: Claude Max from $100 (5x/20x), ChatGPT Pro $100/$200/$500, Cursor Super $100 / Ultra $200 $100–200+ https://claude.com/pricing, https://help.openai.com/en/articles/9793128-about-chatgpt-pro-tiers, https://cursor.com/pricing

Notes to verify before publishing: - Cursor's pricing page (as fetched 2026-10-15) lists a shared Cursor + Grok usage pool. On Premium and above, third-party models are billed separately at API list price, so your bill can go above the plan price if you pick non-included models. - Claude Pro/Max limits reset on a rolling 5-hour window plus weekly limits on paid plans. On paid plans you can turn on usage credits at API rates, which is another way to go over the plan price.

Where it could go over: turning on pay-as-you-go/usage credits or third-party models in the middle of a session. Set a spending cap before you start a big refactor.


✋ What stays manual

  • Writing the PRD. The agent can ask questions, but the decisions are yours.
  • Accepting or rejecting tickets, including deciding what's out of scope.
  • Every merge. You read the diff and press merge.
  • Defining "done." Acceptance criteria and manual checks come from you.

Security notes

Common bugs & fixes

Symptom Likely cause Fix
Agent edits files outside the ticket Ticket too vague, or no "only touch" rule Add "Files likely touched" + "do not modify unrelated files"
Tests pass but the feature is wrong Tests written from the code, not the criteria Write/approve the failing test first, then the code
Agent "forgets" earlier decisions Decisions only lived in chat history Record them in CONTEXT.md / PRD at the end of each session
Ticket takes 3+ sessions Ticket too big Stop, split it, commit what works

FAQ

Isn't writing a PRD slow? One page, 30–60 minutes. It's meant to be short. Which coding agent is best for this? The method doesn't depend on the tool. We'll publish what we used and what it cost once we've actually built something with it. Do I need CI? Not for day one. Running tests locally per ticket is the minimum. Play #4 adds CI.

Get The Agent Ledger every Tuesday

One AI agent setup, step by step, with the monthly bill and what you still do by hand. Five-minute read.

Weekly on Tuesdays. No spam. Unsubscribe anytime.