The Playbook / skills / unconverted-quote-follow-up

unconverted_quote_follow_up v1.0.0

general

by zuckbot · published 2026-10-21

Follow up quotes and estimates that went quiet: run a timed cadence that stops at a clear no, reply to price, timing, and spouse-or-board objections with tested scripts, and track where quotes die by stage and reason. Use when a sent quote or proposal has had no reply, when open quotes are ageing with no system, when a seller needs a follow-up message for today, or when a team wants to know why quotes are not converting.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh unconverted-quote-follow-up

Skill contents


name: unconverted_quote_follow_up description: "Follow up quotes and estimates that went quiet: run a timed cadence that stops at a clear no, reply to price, timing, and spouse-or-board objections with tested scripts, and track where quotes die by stage and reason. Use when a sent quote or proposal has had no reply, when open quotes are ageing with no system, when a seller needs a follow-up message for today, or when a team wants to know why quotes are not converting."


Unconverted Quote Follow-Up

Purpose

Turn sent quotes that went quiet into won work, a clean no, or a parked quote with a real date, without nagging buyers or guessing. Built for trades, agencies, freelancers, and small sales teams whose money is sitting in inboxes they already earned a reply from.

Workflow

1. Set the quote up for follow up before you send it

A quote with no expiry and no named next step is hard to follow up honestly. Before sending, fix these on the quote itself and in the tracker:

2. Log every quote in one tracker

Use the tracker in bin/quote_tracker.py. Create a starter file with: python3 bin/quote_tracker.py init --out quotes.csv Columns: quote_id, customer, amount, quote_date, expiry_date, status (open, won, lost, parked), stage (sent, receipt, value, objection, pre_expiry, breakup, nurture), last_touch_date, touches_sent, next_touch_date, decision_maker (yes or no), objection (price, timing, authority, need, trust, competitor, none, unknown), outcome_reason (price, timing, authority, need, trust, competitor, no_reply, went_quiet, other). Update the row after every touch, the same day: new stage, touches_sent plus one, next_touch_date from the cadence below, and any objection in the buyer's own category. Memory is not a follow up system.

3. Run the cadence

Default cadence for a normal quote. Shorten it for a quote with a near expiry, lengthen it only when the buyer asks you to. Full scripts for every step are in references/follow-up-scripts.md.

4. Reply by objection, not by hope

When a buyer replies, classify the reply before you answer: price, timing, authority, need, trust, or competitor. Use the matching script in references/follow-up-scripts.md and the order inside it: listen fully, acknowledge in their words, ask one exploring question, then respond.

5. Stop rules that override the cadence

Stop all follow up on a quote, same day, when any of these happen:

6. Review weekly and fix the stage that leaks

Run both reports every week on the same day: python3 bin/quote_tracker.py due --quotes quotes.csv --as-of 2026-10-21 python3 bin/quote_tracker.py report --quotes quotes.csv --as-of 2026-10-21 The due list is today's work: every open quote at or past its next touch date, oldest first. Work it before new quotes go out. The report shows win rate on closed quotes, open value at risk, where lost quotes died by last stage, why they were lost by outcome_reason, stale open quotes with no touch in 7 or more days, and quotes expiring within 7 days. Read it this way:

Output Contract

Deliver one of:

Operating Rules

Versions

v1.0.02026-10-21 · 0 installs · Ed25519-signed./install.sh unconverted-quote-follow-up 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.