follow-up-cadence

SkillCommunication

Creates and manages follow-up sequences for small business sales. Handles post-meeting recaps, post-proposal check-ins, conference lead follow-ups, re-engagement of cold leads, and batch follow-up reviews. Use when user says 'follow up with', 'write a follow-up email', 'what follow-ups do I owe', 'post-meeting email', 'check in with [client]', 'they haven't responded', 'send a recap', 'follow-up sequence', or 'meeting recap for [person]'.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the follow-up-cadence skill

What this skill tells your AI

The instructions your AI receives, as published by amazon-quick/amazon-quick-official-catalog in skills/sales/follow-up-cadence/SKILL.md and read by ahel’s review.

Overview

Creates strategic follow-up sequences that maintain sales momentum. Handles post-meeting recaps, post-proposal check-ins, conference lead follow-ups, re-engagement of cold leads, and post-purchase nurturing. Tracks all follow-ups in a persistent ledger and adapts timing based on prospect response patterns.

Workflow

<Definition - Follow-Up Types>

TypeTrigger SignalTimingTone
Post-meeting recapJust had a call/meetingWithin 2 hoursWarm, collaborative
Post-proposalSent proposal, no responseDay 3, 7, 14Professional, patient
Post-eventMet at conference/networkingWithin 24 hoursFriendly, casual
Re-engagementLead went cold (30+ days)ImmediatelyFresh angle, no guilt
Post-purchase check-inClient onboardedDay 7, 30, 90Supportive
Referral requestDelivered great resultsAfter milestoneGrateful, specific ask
</Definition - Follow-Up Types>

<Definition - Escalation Rules>

Touches SentNo Response Action
3 emailsTry different channel (LinkedIn, phone)
5 totalMove to quarterly nurture
Positive replyExit cadence, begin conversation
"Not now"Set reminder for 60-90 days
"Not interested"Remove from active follow-up, log reason
</Definition - Escalation Rules>

<Definition - Timing Intelligence> If email history is available, adapt timing:

  • Contact usually replies within 24 hours: follow up on Day 2 (not Day 3)
  • Contact usually takes a week: follow up on Day 8 (give breathing room)
  • Contact replies in mornings: send at 8am their timezone
  • Contact replies evenings: send at 6pm their timezone

Default (no history available):

  • Tue-Thu, 8-10am recipient timezone
  • Post-meeting recaps: same day, within 2 hours
  • Post-proposal: Day 3, 7, 14 </Definition - Timing Intelligence>

<Definition - Sending Modes>

ModeWhenWhat Happens
Send nowPost-meeting recaps (time-sensitive)Sends immediately with user confirmation
Stage draftsMulti-touch sequencesTouch 1 sent now; remaining saved as drafts with scheduled dates
Review firstFirst time use, sensitive contactsShows full email for approval before sending
Copy to clipboardNo email connectorDisplays formatted for manual send
</Definition - Sending Modes>

<Definition - Skill-Ready Outputs> Two formatted blocks always included:

  1. Follow-Up Activity Log table (for deal-pipeline-manager)
  2. Contacts That Exhausted Follow-Up table (for outreach-sequence-builder) </Definition - Skill-Ready Outputs>

<Workflow - Single Follow-Up description="Create and send a follow-up message for a specific contact." tools=[run_python, file_write] triggers=["follow up with", "write a follow-up email", "post-meeting email", "check in with", "they haven't responded", "send a recap", "meeting recap for"]

  1. [Agent] Auto-pull context. If email tools are available, search for last 5 emails with contact (sent + received). If calendar is available, find most recent meeting with contact. Extract: last topic discussed, promises made, questions asked, response time pattern, any pending unreplied emails. Validate: Found at least one prior interaction to reference. If fails: Skip auto-pull. Proceed to step 2 to ask user for context.

  2. [Decide] Is context sufficient (contact name, last interaction type, desired outcome)?

    • Yes (auto-pull succeeded): Present findings to user for confirmation. "I found your last interaction with [Name]: [summary]. Want me to follow up based on this, or is there newer context?"
    • Partially: Ask only what is missing (max 2 questions).
    • No (nothing found): Ask "Who are you following up with, what happened last, and what do you want to happen next?" Validate: Contact name, last interaction type, and desired outcome are known. If fails: Cannot proceed without at minimum contact name and context. Re-ask.
  3. [Decide] Determine follow-up type per <Definition - Follow-Up Types>.

    • Post-meeting: recent meeting found, no recap sent yet.
    • Post-proposal: proposal sent, no reply.
    • Post-event: user mentions conference/event.
    • Re-engagement: 30+ days since last contact.
    • Post-purchase: client onboarded, no check-in yet.
    • Referral: user explicitly requests. Validate: Exactly one type identified. If fails: Ask user to clarify which type applies.
  4. [Agent] Draft follow-up message(s) per the appropriate template in . Apply <Definition - Timing Intelligence> to determine send timing. Each message must: reference specific prior interaction, add new value, stay under 150 words, include clear CTA. Validate: Message meets all four criteria. Multi-touch sequences have distinct value per touch. If fails: Rewrite. If no new value can be identified for additional touches, produce a single strong message rather than a weak sequence.

  5. [Ask user] Present drafted message(s) with proposed timing. Offer sending mode per <Definition - Sending Modes>. Validate: User approves, edits, or rejects. If fails: Revise per user feedback.

  6. [Agent] Send or stage per user-selected mode. If email tools are available, send directly or create draft. If not available, display formatted for manual send. Validate: Email sent or draft created, or formatted copy provided. If fails: Display full email in chat for manual copy-paste.

  7. [Agent] Update persistent follow-up ledger. Record: contact, company, type, touch number, date sent, subject, next action due date. Set reminder for next touch. If spreadsheet tools are connected (Google Sheets, Excel via SharePoint/OneDrive, or local), write there. Otherwise save to local workspace file. Validate: Ledger entry created. Next action date set. If fails: Tell user verbally when next follow-up is due.

</Workflow - Single Follow-Up>

<Workflow - Batch Review description="Review all pending follow-ups and prioritize next actions." tools=[run_python, file_write, file_read, open_in_session_tab] triggers=["what follow-ups do I owe", "follow-up review", "pending follow-ups", "who do I need to contact"]

  1. [Agent] Gather pending follow-ups from all sources: persistent ledger (spreadsheet or local file), sent emails with no reply (last 30 days via email search if available), meetings from last 2 weeks with no recap sent (via calendar if available). Validate: At least one source returned data. If fails: Ask user to list contacts they know need follow-up.

  2. [Agent] Deduplicate and prioritize. Score: deal value x days overdue. Apply <Definition - Escalation Rules> for contacts with multiple unanswered touches. Validate: Prioritized list produced with scores. If fails: Present unprioritized list sorted by date.

  3. [Agent] For each pending follow-up (top 10 max), draft a ready-to-send message using context from ledger and email history. Include: priority level, contact name, company, days overdue, deal value, recommended action, draft message. Validate: Each follow-up has specific context (not generic). Draft references prior interaction. If fails: Flag entries with insufficient context for user input.

  4. [Ask user] Present prioritized list with drafts. Offer: "Send all approved", "Review one by one", or "Skip/snooze individual items." Validate: User provides direction. If fails: Default to review one by one.

  5. [Agent] Execute per user direction. Send approved messages, snooze deferred ones (update ledger with new due date), remove declined ones. Validate: All actions completed. Ledger updated. If fails: Report which items failed and why.

  6. [Agent] Produce skill-ready outputs per <Definition - Skill-Ready Outputs>: Follow-Up Activity Log for deal-pipeline-manager, Contacts That Exhausted Follow-Up for outreach-sequence-builder. Validate: Both output blocks present. If fails: Add missing outputs.

</Workflow - Batch Review>

<Template - Post-Meeting Recap> Subject: Next steps from our [day] conversation

Hi [Name],

Great speaking with you about [specific topic]. Quick recap:

What we discussed:

  • [Key point 1]
  • [Key point 2]

What I promised to send/do:

  • [Action item 1] - [attached/linked/by date]

Agreed next steps:

  • [Who does what by when]

Looking forward to [specific next step]. Talk [day]?

[Signature] </Template - Post-Meeting Recap>

<Template - Post-Proposal Sequence> Day 3: Subject: Re: [Proposal] - quick question

Hi [Name],

Wanted to make sure the proposal came through okay and see if any questions jumped out. I know [their challenge] is time-sensitive, so happy to hop on a quick call to walk through options.

Would [day] at [time] or [day] at [time] work?


Day 7: Subject: [Relevant resource] + proposal check-in

Hi [Name],

Came across [article/case study] about [their challenge] and thought of our conversation. [1-sentence why it's relevant]

Also wanted to check - is the timeline for [project] still [date discussed]?


Day 14 (final): Subject: Should I close this out?

Hi [Name],

Haven't heard back and want to be respectful of your time. Usually that means:

  1. Timing isn't right (when should I circle back?)
  2. You went another direction (any feedback is helpful)
  3. This got buried (happy to resend)

No hard feelings either way. Just let me know so I can update my notes. </Template - Post-Proposal Sequence>

<Template - Re-engagement> Subject: [Something that changed since last contact]

Hi [Name],

It's been a while since we connected about [original topic]. Reaching out because [genuine reason - new feature, case study, company news].

[2 sentences about the development and why relevant to them]

Worth a fresh conversation? No pressure either way. </Template - Re-engagement>

<Template - Batch Review Output>

Pending Follow-Ups

PriorityContactCompanyDays OverdueDeal ValueRecommended ActionDraft Ready?

Follow-Up Activity Log (for deal-pipeline-manager)

| Contact | Company | Last Follow-Up | Response Status | Next Touch Due | Sequence Position |

Contacts That Exhausted Follow-Up (for outreach-sequence-builder)

| Contact | Company | Touches Sent | Last Angle | Suggested New Approach | </Template - Batch Review Output>

Signals

GitHub stars
49
Forks
2
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
follow-up-cadence
Source
github.com/amazon-quick/amazon-quick-official-catalog