Zum Inhalt springen
NeuSo funktioniert es
Verbesserung

Rewrites keep the best version

When an email is rewritten to fix a quality problem, the best version is kept rather than the last one. A rewrite can no longer make an email worse than where it started.

When a draft fails a quality check and gets rewritten, the best version is now kept rather than whichever came last. A rewrite can no longer leave you with something worse than the draft it started from.

What changed

Every draft is scored before it can send. A draft that falls short gets rewritten with the specific problem pointed out, and the rewrite is scored again.

The rewrite was always taken as the answer, because it was newer. That assumption is wrong often enough to matter. Fixing one problem can introduce another: a draft rewritten to remove an unsupported claim can come back shorter, flatter, and worse overall than the version that had the claim.

Now every version is scored and the best one wins. If the rewrite scores higher, it is used. If the original scored higher, the original is kept and the rewrite is discarded.

A second change went with it. Long drafts with long rewrite instructions could exceed what the writer can hold at once, and the instructions were the part that got cut, so the rewrite arrived without knowing what it was supposed to fix. Instructions and draft are now fitted together within the available space, so the rewrite always knows its brief.

Why it matters

A quality system that can make things worse is worse than no quality system, because it adds cost and variance without adding reliability. You cannot trust the output and you cannot predict it.

The failure was also specific in a way that hurt. Rewrites triggered by the strictest checks, meaning the drafts under the most scrutiny, were the most likely to come back flattened. So the emails receiving the most attention were sometimes the weakest ones sent.

The prompt problem compounded it. A rewrite without its instructions is not a rewrite, it is a fresh attempt at the same task, and it fails the same check for the same reason. Those drafts consumed two full attempts and then gave up.

How to use it

Nothing to configure. Keep-best applies to every draft that goes through repair.

Drafts that would previously have been abandoned after two failed rewrites now go out more often, because the attempts are spent usefully.

The quality record on a draft shows what was checked and what the final version scored, so a draft that scraped through is identifiable.

What the checks look for

Claims that research did not support. The most important one. An email cannot assert something about a prospect that was never established.

Length and structure. Emails that run long get less response, and a first email that reads like a page of prose usually gets none.

Tone. Openings that overclaim, closings that push too hard, and anything that reads as automated.

Personalisation that is not personalisation. A first line that merely restates the company name is not personal, and it is worse than a straightforwardly general opening because it advertises the attempt.

Two attempts, then it stops

Repair gets two attempts. After that, if nothing has reached the standard, the draft is marked failed rather than sent.

Two is a considered number. A problem that survives two targeted rewrites is usually not a writing problem, it is thin research or a brief that does not give the writer enough to work with, and a third attempt will produce a third version of the same shortfall.

Failed drafts show the reason, and the reason usually points at the input rather than the output. A run of failures on one campaign is a signal about the campaign brief.

What the budget problem looked like

The writer can only consider so much text at once. A long draft plus a long set of rewrite instructions could exceed that, and what got dropped was the end of the input, which was where the instructions sat.

So the rewrite received the draft and no brief. It rewrote the email in general terms, produced something different but not better, failed the same check, and consumed an attempt.

Fitting the two together within the available space means the instructions always survive. Where something has to give, it is now the less important part of the input rather than whichever part happened to be last.

What changed in the numbers

Terminal failures, meaning drafts that exhausted both attempts and never sent, dropped substantially after this went out, and the drop held.

The share of drafts passing on their first attempt did not change, which is what you would expect: this fixed the repair path, not the writing.

Those two together are the shape of a good fix. The thing that was broken improved and nothing else moved.

Reading a failed draft

A draft that failed both attempts shows what it failed on, and the reason is usually about input rather than output.

Repeated claim failures mean the research was thin, so the writer had nothing verifiable to build on and kept reaching for something it could not support. The fix is upstream, in research or in the lead record, not in the writing.

Repeated tone or length failures more often point at the campaign brief. A brief that asks for a great deal in one email produces long drafts, and long drafts fail length checks no matter how many times they are rewritten.

What did not change

The standard did not move. Keep-best selects among versions that were all scored the same way, and a draft that no version gets over the line still fails.

That is worth stating, because "keep the best one" could be read as lowering a bar. It is not. It removes a way of losing a good version, and nothing weaker gets through as a result.

Availability

Live now on all plans. Applied automatically to every draft that goes through quality repair.

Alle Neuigkeiten

Akquise, die weiterläuft, wenn du offline bist.Leads, E-Mails, Follow-ups und Antworten, erledigt.

Verbinde unbegrenzte Postfächer und lass KI-Agenten Leads finden, jede E-Mail schreiben und nachfassen. Oder sende deine eigenen Vorlagen im manuellen Modus. Ab $29/Monat.

$1 für 3 Tage · Jederzeit kündbar · Kein Vertrag

Mit KI installieren

Dein Coding-Agent richtet die FirstSales CLI und Skills für dich ein.

Prompt für Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.