Skip to content
Browse docs
Docs / Specs out

Working with Specs

A build spec for every priority — what to build, why, in the customer's own words, and where in your codebase it goes.

01The five sections

1. What to Build — a clear, actionable task statement. One sentence describing exactly what to implement.

2. Why It Matters — business context: who's affected, revenue impact, urgency.

3. Customer Voice — one to three verbatim quotes, one per distinct customer, the key quote (5–20 words) first; attributed by name when the customer is known, by user type and emotion when not.

4. Files to Touch — suggested locations with (new), (modify) or (reference) labels, from your connected repository.

5. Done When — clear exit criteria.

02Sections that appear when relevant

  • Heads Up — warnings, risks or constraints worth knowing before starting
  • What Annsa Remembers — previous ships, corrections and related context (see Memory)
  • Competitive Context — a short summary when customers mention competitors

03What People Did

When your product's events match a priority, the spec shows the behavior behind the words — "search abandoned · 12×" — drawn from the last 14 days and matched to this priority. Quiet by design: no matching events, no section.

04What the statuses mean

StatusMeaningNext action
ReadyWaiting for actionStart building
BuildingIn progressComplete and ship
ShippedFeature deployedShare back with customers
SharedComplete, customers notifiedMonitor feedback for V2

05Editing one

Click any priority to see the spec inline. The edit icon opens it in an editor — make changes, then Save. Every save becomes a new version.

06Refreshing without losing your edits

The refresh icon regenerates against the latest feedback, and a Refresh badge appears automatically when new feedback has moved the scope. Refresh is section-aware: anything you edited by hand is preserved and only untouched sections regenerate.

07Version history

Click V1, V2 and so on to compare. Two things create a version — new feedback arriving on a shipped spec (automatic), or you editing or refreshing (manual). All versions are kept indefinitely.

08A refresh leaves a note

A material refresh leaves a dated note — what changed, why and who changed it — while routine rewrites stay quiet. Every note is kept with its version number and the evidence that drove it, so the history reads as a record, not a diff you have to decode.

09Getting it into your editor

Copy takes the title, metadata and every section for pasting into Cursor or Claude Code. Export downloads it as .md, and you can batch-export several from the priorities list. Arrow keys move between specs; Enter expands a priority.

10Pruning the feedback behind it

The feedback accordion lists every item that fed the priority. Remove one that was miscategorized and it isn't deleted — it returns to the pool and gets re-categorized on the next sweep, possibly into a different priority.

11What happens when you ship

Mark as Shipped opens Share Back.

ChannelWhat happens
EmailBranded notification to eligible customers
Survey bannerBanner shown to returning visitors
BothEmail plus banner (default)

Review the recipients — anyone whose email is on file — and uncheck to skip, or Skip entirely to keep the spec at Shipped without notifying. Emails use your workspace branding from Settings → Notify → Share Back.

12Then it becomes memory

After sending, the spec moves to Shared — the final stage. A ship memory is recorded at this point: theme, volume and customer segment at time of ship. That's what Annsa learns from. New feedback on the same theme afterwards feeds a V2. Annsa also asks for a thumbs up or down on spec quality, which takes one click and improves future specs.

13How do you write product requirements?

Start from the evidence rather than a blank page. Every Annsa spec opens with what to build, why it matters, the customers' own words, the files to touch and how you'll know it's done. Edit anything that isn't right — your edits survive a refresh.

Next guideWorking with Priorities