AGENT SKILLBY LOUISBLYTHE
Referral request timing
AT A GLANCE
Referral request timing is a growth agent skill from louisblythe. Provides expert guidance for guidance for building sales bots that know when to ask for referrals. It is published in the louisblythe/salesskills GitHub repository (78 stars), which does not specify a license. To add it, run npx skills add louisblythe/salesskills --skill referral-request-timing
- SOURCE REPOSITORY
- louisblythe/salesskills (opens GitHub in a new tab)
- REPO STARS
- SOURCE REPOSITORY
- LICENSE
- Not specifiedCHECK THE REPO
- CATEGORIES
- SKILL.MD SIZE
- 10.4 KB473 LINES
QUICK ANSWER
- WHAT IT IS01
- Provides expert guidance for guidance for building sales bots that know when to ask for referrals. What sets it apart is how it narrows growth marketing into one specific workflow rather than a broad, generic prompt.
- INPUTS02
- Context for growth marketing: your goals, audience, constraints, and any source material the skill asks for.
- OUTPUT03
- A ready-to-use result for growth marketing: the analysis, copy, or recommendations the agent produces.
INSTALL
One command adds this skill from its source repository.
npx skills add louisblythe/salesskills --skill referral-request-timingREAD THE SKILL.MD BELOW BEFORE YOU RUN IT. SKILLS INSTRUCT YOUR AGENT.
SKILL.MD
The full file, as published in the source repository. Copy it, download it or open it on GitHub.
ON THIS PAGE · 38
Referral Request Timing#
You are an expert in building sales bots that know when to ask for referrals. Your goal is to help developers create systems that identify optimal moments to request introductions without damaging relationships.
Why Timing Matters#
The Premature Ask Problem#
Bad timing:
"Thanks for signing up! By the way, who else
do you know who might be interested?"
Prospect thinking:
"I haven't even used it yet. How would I know
if I should recommend it?"
Result:
- Awkward response
- Damages new relationship
- Unlikely to referThe Right Timing#
Good timing:
After customer achieves a win, bot detects:
- 90-day retention
- Active usage
- Positive feedback given
Then asks:
"You've been seeing great results—any colleagues
facing similar challenges who might benefit?"
Result:
- Natural request
- Customer happy to help
- High-quality referralsReferral Readiness Signals#
Value Realization Signals#
Customer has experienced value:
- Completed onboarding
- Hit a milestone (first success)
- Used product consistently (30+ days)
- Achieved stated goal
- Saved measurable time/money
"Now that you've hit [milestone], is anyone
in your network dealing with [problem you solved]?"Satisfaction Signals#
Customer has expressed satisfaction:
- Positive NPS response
- Good CSAT score
- Unsolicited compliment
- Case study participation
- Public testimonial given
"Given how happy you've been, I'm curious—
any peers who'd benefit from similar results?"Relationship Depth Signals#
Strong relationship established:
- Multiple positive interactions
- They've asked for advice
- They've shared feedback
- They've engaged beyond product
- They've renewed/expanded
Deeper relationships = safer to ask.Event-Based Triggers#
Natural moments for referral asks:
Just closed deal:
"Who else at [company] should know about this?"
(Warm intro within same company)
After success milestone:
"Now that [result], any colleagues facing same challenge?"
After renewal:
"You've renewed—clearly seeing value. Who else would?"
After positive review/feedback:
"Thanks for the kind words! Anyone come to mind
who'd benefit similarly?"
After they mention a peer:
"You mentioned your friend at [company]—would
an intro make sense?"Scoring Referral Readiness#
Referral Propensity Score#
def calculate_referral_propensity(customer):
score = 0
# Value realization
if customer.days_since_signup >= 30:
score += 10
if customer.achieved_first_win:
score += 20
if customer.usage_above_average:
score += 15
# Satisfaction indicators
if customer.nps_score and customer.nps_score >= 9:
score += 30 # Promoter
elif customer.nps_score and customer.nps_score >= 7:
score += 15 # Passive
if customer.gave_testimonial:
score += 20
# Relationship factors
if customer.interaction_count >= 5:
score += 10
if customer.has_given_positive_feedback:
score += 10
if customer.is_champion:
score += 15
# Recent engagement
if customer.engaged_last_7_days:
score += 10
return min(score, 100)
def should_ask_for_referral(score):
if score >= 70:
return "ask_now"
elif score >= 50:
return "soft_mention"
else:
return "wait"Referral Triggers#
REFERRAL_TRIGGERS = [
{
"trigger": "nps_promoter",
"condition": "nps_score >= 9",
"timing": "within_24_hours",
"message_template": "nps_referral_ask"
},
{
"trigger": "milestone_achieved",
"condition": "completed_first_success",
"timing": "same_day",
"message_template": "milestone_referral_ask"
},
{
"trigger": "renewal",
"condition": "just_renewed",
"timing": "within_week",
"message_template": "renewal_referral_ask"
},
{
"trigger": "positive_feedback",
"condition": "gave_positive_csat",
"timing": "within_48_hours",
"message_template": "feedback_referral_ask"
}
]Referral Ask Templates#
Direct Ask (High Propensity)#
"[Name], you've been a fantastic customer—
your results speak for themselves. I'm curious:
is there anyone in your network dealing with
[similar problem] who might appreciate an intro?
I'd make sure to take great care of them."Soft Ask (Medium Propensity)#
"By the way, if anyone in your network is
struggling with [problem], I'm always happy
to chat with them. No pressure—just wanted
you to know the offer's there."Value-First Ask#
"I know you mentioned your peer at [company]
deals with [similar challenge]. Happy to share
what's working for you with them—even if they're
not a fit for us. Would an intro be helpful?"Same-Company Expansion#
"Now that your team is seeing results, would
it make sense to introduce [product] to other
departments? I'd love to help [company] get
the same value across the board."Mutual Benefit Ask#
"We have a referral program that gives you
[benefit] for each customer you introduce.
Given your success, anyone come to mind who'd
benefit? Happy to take great care of them."Channel-Specific Timing#
Email Referral Asks#
Best moments:
- Thank you email after milestone
- Post-renewal email
- After positive support interaction
- In regular check-in email
Timing:
- End of week (Friday afternoon)
- After they've engaged with your email
- Not in onboarding periodIn-App Referral Prompts#
Best moments:
- After completing key workflow
- After achievement/gamification unlock
- In dashboard showing positive metrics
- After successful support resolution
Timing:
- When user is in positive state
- Not during critical tasks
- After value is demonstratedPhone/Call Referral Asks#
Best moments:
- End of successful QBR
- After resolving their issue
- When they express satisfaction
- During relationship check-ins
Timing:
- When call is going well
- After their concerns addressed
- Not when rushing off callHandling Responses#
Enthusiastic Yes#
Response: "Yes! I know exactly who."
Follow-up:
"That's fantastic! Would you prefer to make
the intro directly, or should I reach out
and mention you sent me?"
"What context should I know before I reach out?"
Move quickly—capture the momentum.Hesitant Maybe#
Response: "Maybe... I'd have to think about it."
Follow-up:
"No pressure at all. If anyone does come to mind,
just let me know. Meanwhile, I can send you
something easy to forward if that's helpful."
"What would make you more comfortable?"
Don't push. Make it easy.Polite No#
Response: "I don't really know anyone right now."
Follow-up:
"Totally fine! If that changes, I'm always here.
In the meantime, keep enjoying [product]."
Accept gracefully. Don't damage relationship.Referral Given#
After they provide a referral:
1. Thank profusely
"Thank you so much—I really appreciate it."
2. Set expectations
"I'll reach out thoughtfully and keep you posted."
3. Follow through
Actually take great care of the referral.
4. Report back
"Connected with [name]—great conversation. Thanks again!"
5. Recognize/reward
Apply any referral benefits immediately.Don't Ask When#
Negative Signals#
Don't ask for referrals when:
- Customer just complained
- They're in a support ticket
- Usage has dropped
- They've shown frustration
- Payment issue in progress
- They're considering cancellation
Wait until relationship is stable.Too Early#
Don't ask when:
- Still in trial period
- Haven't completed onboarding
- No value realized yet
- First interaction
- Just signed contract
They can't vouch for what they haven't experienced.Overasking#
Don't ask:
- More than once per quarter
- Immediately after they declined
- Every time you interact
- Without giving them value first
Track ask history. Respect frequency limits.Referral Tracking#
Referral Data Model#
{
"customer_id": "12345",
"referral_history": {
"last_ask_date": "2024-01-15",
"times_asked": 3,
"referrals_given": 2,
"referrals_converted": 1,
"propensity_score": 78,
"next_ask_eligible": "2024-04-15"
},
"referred_contacts": [
{
"name": "Jane Doe",
"company": "OtherCorp",
"referred_date": "2024-01-15",
"status": "converted",
"deal_value": 25000
}
]
}Referral Metrics#
Track:
- Referral ask rate (% of eligible customers asked)
- Referral conversion rate (% who give referral)
- Referral quality (% that convert to customer)
- Revenue from referrals
- Time from customer to referral ask
Optimize:
- Which triggers work best?
- Which templates perform?
- Which customer segments refer most?Incentive Programs#
Referral Incentives#
Options:
- Account credits
- Cash rewards
- Extended features
- Exclusive access
- Gift cards
- Donations to charity
Match incentive to customer motivation:
- SMB: Cash/credits often work
- Enterprise: Recognition, exclusive access
- Mission-driven: Charitable donationsAutomated Incentive Handling#
def process_referral(referrer, referred, outcome):
if outcome == "converted":
# Apply incentive
incentive = get_incentive_program(referrer)
apply_credit(referrer, incentive.value)
notify_referrer(referrer, f"You earned {incentive.value}!")
# Track for future
update_referral_stats(referrer, referred)
# Consider asking for more
if referrer.referral_score >= 80:
queue_next_referral_ask(referrer, delay_days=30)Bot Implementation#
Referral Decision Flow#
def check_referral_opportunity(customer, event):
# Calculate propensity
score = calculate_referral_propensity(customer)
# Check eligibility
if not can_ask_for_referral(customer):
return None
# Check if trigger event qualifies
if event.type in ["nps_promoter", "milestone", "renewal"]:
if score >= 70:
return generate_referral_ask(customer, event)
elif score >= 50:
return generate_soft_mention(customer, event)
return None
def can_ask_for_referral(customer):
if customer.days_since_signup < 30:
return False
if customer.days_since_last_ask < 90:
return False
if customer.recent_complaint:
return False
return TrueFAQ
07 QUESTIONS
01What is the Referral request timing agent skill?
Provides expert guidance for guidance for building sales bots that know when to ask for referrals. It is listed under growth in the 100xLab agent skills directory.
02How do I install Referral request timing in Cursor, Claude Code, or Codex?
Run npx skills add louisblythe/salesskills --skill referral-request-timing in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only Referral request timing, not every skill in the repository.
03What does the Referral request timing SKILL.md cover?
The SKILL.md includes sections on Why Timing Matters, The Premature Ask Problem, The Right Timing, Referral Readiness Signals, Value Realization Signals and Satisfaction Signals. Read the full text on this page or in plain markdown at /resources/agent-skills/louisblythe-salesskills--referral-request-timing--vp4ryg/raw.
04Which agents can use Referral request timing?
Referral request timing installs with the cross-agent skills installer (npx skills add), which sets it up for agents such as Claude Code, Cursor and Codex. Each agent loads the SKILL.md when you ask for the skill by name.
05What license is Referral request timing under?
No license was detected on the louisblythe/salesskills repository, so the license is not specified. Check with louisblythe before you redistribute or build on the skill.
06Is Referral request timing free to use?
Reading and installing Referral request timing costs nothing, because it is published in a public GitHub repository. The repository specifies no license, so ask louisblythe before you reuse or redistribute it.
07Where is the source of Referral request timing?
Referral request timing comes from https://github.com/louisblythe/salesskills, which has 78 GitHub stars. The SKILL.md is at https://github.com/louisblythe/salesskills/blob/HEAD/skills/referral-request-timing/SKILL.md. The author is louisblythe.
Need an agent workflow built around your stack?
Tell us the workflow you want automated. We reply within 4 working hours (IST).
ATTRIBUTION
Referral request timing was written by its original authors and is published in louisblythe/salesskills (opens GitHub in a new tab) under no license stated in the repository. All rights stay with the original authors.
100xLab did not write, maintain or endorse this skill. This page lists it for discovery. Repo stars belong to the source repository, not to the skill. Review any skill before you install it.