Craft — does it feel right?
Brief 152

Fit & Finish Audit

The hundred small behaviors between works and feels good — undo, preserved state, focus, forgiveness — the joinery a user can't name but always notices.

POLISH.md4 phases7 lenses~3.5k chars

Free & open · no signup · read-only — it ends by asking · nothing leaves your machine

What it does

You are working inside this repo. Mission: audit the interaction-level craft — the small behaviors that separate a product that works from one that feels expensive. Users can't name this layer, but they feel its absence instantly. 58 covers the visual state matrix; this brief covers what the product *does* at the seams.

Read-only pass. Trace the handlers, forms, and flows in code, and run the app to feel them; your only write is the report file.

What it looks for

7 lenses it looks through

Phase 2 sweeps the codebase through every one of these, citing file and line for each finding.

1

Undo over confirm

consequential actions reversible after the fact (undo toast, trash, version) instead of interrogated before; the "Are you sure?" standing where an undo belongs

2

Nothing lost

drafts, scroll position, filters, and half-filled forms survive navigation, refresh, expiry, and error; the flow that eats work

3

Focus flows

after every action, focus and viewport land where the eye goes next: the new item, the first error, the next field — not back to the top

4

Keyboard reach

Enter submits, Escape closes, the daily flow has a hands-on-keyboard path; shortcuts exist and are discoverable where repetition is high

5

Forgiving input

pasted whitespace, mixed-case emails, trailing slashes, lenient date formats accepted and normalized, never bounced back as the user's error

6

Interruptions handled

network drop, tab close with unsaved work, session expiry mid-task: warned, saved, or resumed — never silently discarded

7

Detail integrity

"1 items", raw timestamps, unformatted numbers, truncation without a way to see the whole value; the tells of an unfinished surface

The deliverable

What lands in your repo

One structured report at the repo root — or in reports/, if you keep one — the same shape every time, ready for a teammate — or the optional Studio — to act on.

POLISH.md
1
Craft findings
each: lens · flow · file · current behavior · the fix
2
The work-loss list
every place user input can be destroyed, first
3
Systemic gaps
behaviors to centralize once (draft persistence, focus management) instead of patching per screen
4
The feel delta
the 3 changes that would most move this product toward feeling finished
One file. Evidence-backed. It ends by asking before touching anything. · see a real POLISH.md ↗
How it works

What it makes the agent do

Every Goal Prompt follows the same four steps, so results are consistent and repeatable — no matter which one you run.

1
Phase 1

Walk the seams

Identify the 3–5 flows users repeat most (create, edit, search, save) — craft matters most where hands land daily.

2
Phase 2

Audit through 7 lenses

Cite file and flow for every finding.

3
Phase 3

Curate

Rank by frequency × cost.

4
Phase 4

Report

Create POLISH.md at repo root.

Get started

Three ways to run this Goal Prompt

01 · COPY

Paste it in

Copy it and paste it into your agent inside the repo you want checked.

02 · INSTALL

As a slash command

Install the goal plugin once — two commands — then just type /goal:fit-and-finish.

1/plugin marketplace add GhostlyGawd/goal-prompts
2/plugin install goal@goal-prompts

Or install only this Goal Prompt as /goal-fit-and-finish:

curl -fsSL https://goal-prompts.vercel.app/install | BRIEF=152 sh
03 · AGENT

From an agent (MCP)

Let an agent fetch it mid-conversation, or pull the raw Goal Prompt by URL.

https://goal-prompts.vercel.app/raw/152.md
Transparency

The exact prompt

Nothing hidden — this is the whole Goal Prompt, verbatim. Read it in a minute, edit it, or copy it as-is.

Read the full brief (3,533 characters)
# Goal: Fit & Finish Audit

You are working inside this repo. Mission: audit the interaction-level craft — the small behaviors that separate a product that works from one that feels expensive. Users can't name this layer, but they feel its absence instantly. 58 covers the visual state matrix; this brief covers what the product *does* at the seams.

Read-only pass. Trace the handlers, forms, and flows in code, and run the app to feel them; your only write is the report file.

## Phase 1 — Walk the seams
- Identify the 3–5 flows users repeat most (create, edit, search, save) — craft matters most where hands land daily.
- Walk each one deliberately roughly: navigate away mid-edit, refresh mid-form, press Escape, hit back, double-click submit, paste messy input.
- Note where the code centralizes these behaviors (a form library, a router guard) versus re-solving them ad hoc per screen.

## Phase 2 — Audit through 7 lenses
Cite file and flow for every finding.
1. **Undo over confirm** — consequential actions reversible after the fact (undo toast, trash, version) instead of interrogated before; the "Are you sure?" standing where an undo belongs
2. **Nothing lost** — drafts, scroll position, filters, and half-filled forms survive navigation, refresh, expiry, and error; the flow that eats work
3. **Focus flows** — after every action, focus and viewport land where the eye goes next: the new item, the first error, the next field — not back to the top
4. **Keyboard reach** — Enter submits, Escape closes, the daily flow has a hands-on-keyboard path; shortcuts exist and are discoverable where repetition is high
5. **Forgiving input** — pasted whitespace, mixed-case emails, trailing slashes, lenient date formats accepted and normalized, never bounced back as the user's error
6. **Interruptions handled** — network drop, tab close with unsaved work, session expiry mid-task: warned, saved, or resumed — never silently discarded
7. **Detail integrity** — "1 items", raw timestamps, unformatted numbers, truncation without a way to see the whole value; the tells of an unfinished surface

## Phase 3 — Curate
- Rank by frequency × cost: lost work in a daily flow outranks a plural bug on a settings page.
- Separate "loses user work", "breaks flow", and "reads unfinished" — they are different severities of the same craft gap.
- For each, name the flow, the file, and the concrete behavior change.

## Phase 4 — Report
Create `POLISH.md` at repo root:
1. **Craft findings** — each: lens · flow · file · current behavior · the fix
2. **The work-loss list** — every place user input can be destroyed, first
3. **Systemic gaps** — behaviors to centralize once (draft persistence, focus management) instead of patching per screen
4. **The feel delta** — the 3 changes that would most move this product toward feeling finished

Start the report with today's date. If `POLISH.md` already exists from a previous run, read it first and lead with what changed since.

## Rules
- Every finding names a real flow and file — no generic polish advice
- Reproduce each rough edge before reporting it; "probably loses state" is not a finding
- No interactive user-facing surface in this repo (pure library, pipeline)? Say so in a one-paragraph null report and stop — a null result is a valid finding.
- If a `reports/` directory exists at the repo root, write the report there instead of the root.
- Before asking, present the top findings as a ranked list in plain words
- Report only — end by asking which rough edge to smooth first

House rules for this Goal Prompt

  • Every finding names a real flow and file — no generic polish advice
  • Reproduce each rough edge before reporting it; "probably loses state" is not a finding
  • No interactive user-facing surface in this repo (pure library, pipeline)? Say so in a one-paragraph null report and stop — a null result is a valid finding.
  • If a reports/ directory exists at the repo root, write the report there instead of the root.
  • Before asking, present the top findings as a ranked list in plain words
  • Report only — end by asking which rough edge to smooth first
Keep exploring

Pairs well with

Curated neighbors — briefs that answer the adjacent question, worth running in the same session.

More Craft briefs

Runs inside these playbooks — curated sequences you can launch with one paste: