v8labs.appGet v8

DOCS / THE RESULT

See what changed.
Before you press Enter.

After the key, v8 says in a few short lines what it kept, fixed and added to your request, so you can check the advanced prompt at a glance.

The done line

When the prompt is ready, one line sums it up:

✓ Advanced prompt ready · verify: pnpm test · 2 assumptions · 3 files · 2 free left today · v8 Hone

It names the command that proves the work is done (from your repository), how many answers were used, how many assumptions and files the prompt contains, how many questions it leaves for the agent, and on the free plan how many prompts are left today.

What v8 added

Under the done line, a short block lists what v8 added to your request, one row per kind:

  Kept      < 2 h · src/migrations · don't touch src/migrations
  Fixed     ≤ 2 h → < 2 h (your value)
  Added     src/export.ts (likely) · pnpm test (from the repo)
  Checks    The export finishes in < 2 h. · `pnpm test` passes
  Assumed   1: Exports run one at a time.
  any key: continue
RowWhat it means
KeptYour own numbers, dates, names, paths and rules (do not, only, at least) that the prompt keeps word for word.
FixedA value of yours the rewrite had changed, which v8 put back. It shows the change it undid.
AddedFiles, commands and conventions v8 added, each marked: from the repo (read from your repository), likely (a likely starting point) or your earlier answer.
ChecksThe "done when" checks the agent must meet.
AssumedWhat v8 assumed instead of asking. Correct it in the prompt if it is wrong.
AnsweredThe questions you answered, with your answers.

The block stays for under two seconds; any key goes on at once. v8-prompt improve --json returns the same information as added, and /v8:prompt shows it before you choose.

The advanced prompt

The prompt itself is a short, outcome-first brief: the goal, the context from your repository (file paths, the pattern to follow, the docs that apply), your request as you wrote it, the requirements, the assumptions, and "done when" checks that end with your project's own test command. Its exact sections depend on the request. Everything in it is editable: it is text in the input box until you press Enter.

Clear requests are left alone

A small request that already says everything, such as rename fetchUser to loadUser in src/api/users.ts, goes to the agent as you wrote it. v8 adds at most what the repository confirms: its test command, and the exact path of a file you named by its bare name. The block then reads "Your request was already clear; v8 added only: ..." or "Your request was already clear; v8 added nothing". Anything less clear is written into an advanced prompt as usual, and a request that is missing a value only you know gets its question first.

When your text comes back

  • Not counted. When v8 returns your text unchanged, the prompt does not count against your allowance, up to 20 times a day per terminal (per account once linked); past that they count again. The done line then says "Not counted: your text came back unchanged" (or "Not counted: your request was already clear").
  • "Original wording preserved". Every rewrite goes through quality checks. If it fails them, you get your own text back rather than a worse prompt, and the done line says so.
  • On an error, such as no connection, your text stays exactly as typed and the message ends with "Your prompt is unchanged."

Plain text and screen readers

Without colour (NO_COLOR, TERM=dumb, V8_PROMPT_PLAIN=1) or with a screen reader (CLAUDE_AX_SCREEN_READER), the screens are printed as plain lines that are never cut. v8-prompt motion off (or V8_PROMPT_REDUCED_MOTION=1) draws setup's welcome banner without animation, and --no-banner or V8_PROMPT_NO_BANNER=1 prints one plain line instead.