Call Scheduling Funnel

Rymac call funnel

by oathdriven · MIT license · ★ 28 on GitHub

Rymac call funnel cover

Builds the conversion plumbing that turns site traffic into scheduled calls: chat scheduler, AI voice agent, emergency escalation that pings a live on-call human, non-emergency booking into one shared calendar engine, and after-hours…

---
name: rymac-call-funnel
description: Builds the conversion plumbing that turns site traffic into scheduled calls: chat scheduler, AI voice agent, emergency escalation that pings a live on-call human, non-emergency booking into one shared calendar engine, and after-hours handling. Use when the user asks to "wire up the call funnel", "add the chat scheduler", "set up the voice agent", "convert traffic into scheduled calls", "handle after-hours calls", or builds any page whose goal is booked calls. Make sure to use this skill whenever call-booking, voice-agent, or emergency-routing plumbing is being designed or built.
argument-hint: [site/business to wire, calendar target, on-call contact]
---

# RyMac Call Funnel

Wire a site to convert visitors into scheduled calls, with a human-ping
path for emergencies. This is the architecture running live on RyMac's own
CRM platform; the pattern works with any stack (a CRM with AI channels, or
Vapi/Twilio + a calendar API wired directly).

## The architecture (one persona, many channels)

One AI persona serves web chat, SMS, and voice. The persona is rebuilt
server-side on every turn from a single profile (business facts, hours,
escalation config), so every channel answers with the same brain and the

Overview

Wire a site to convert visitors into scheduled calls, with a human-ping path for emergencies. This is the architecture running live on RyMac's own CRM platform; the pattern works with any stack (a CRM with AI channels, or Vapi/Twilio + a calendar API wired directly).

Manual install (npx, ZIP)
Claude Codenpx skills add oathdriven/rymac-skills --skill rymac-call-funnel -g -a claude-code
Claude Code (degit)npx degit oathdriven/rymac-skills/skills/rymac-call-funnel#main ~/.claude/skills/rymac-call-funnel
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md4.2 KB
Read SKILL.md here
oathdriven/main1 file shown
SKILL.md
Show the full text79 lines

RyMac Call Funnel

Wire a site to convert visitors into scheduled calls, with a human-ping path for emergencies. This is the architecture running live on RyMac's own CRM platform; the pattern works with any stack (a CRM with AI channels, or Vapi/Twilio + a calendar API wired directly).

The architecture (one persona, many channels)

One AI persona serves web chat, SMS, and voice. The persona is rebuilt server-side on every turn from a single profile (business facts, hours, escalation config), so every channel answers with the same brain and the same rules.

Emergency vs non-emergency: it is a COMPOSITE, not a boolean

Do not build a single if (emergency) classifier. The proven pattern is four separable mechanisms, configured per business:

  1. Escalation keywords (the instant human ping). Case-insensitive keyword match on inbound messages ("urgent", "emergency", "complaint", "speak to manager", plus the niche's own panic words). On match: the AI GOES SILENT and the on-call human is notified immediately with a deep link to the contact. Allow per-channel keyword and notify-address overrides.
  2. Live transfer (the ring-a-human path). Phone-system dial forward (e.g. Twilio Dial) to the on-call number with a ring timeout (~18 seconds) and an automatic text-back to the caller if unanswered.
  3. Callback capture (the deferred queue). Voice calls run a structured extraction for "callback requested"; when true, a follow-up task lands on the operator's today list plus a notification email. Pure-info calls create nothing.
  4. Booking tools (the non-emergency default). The agent gets get-availability / book / reschedule / cancel tools against ONE shared calendar-aware booking engine, so chat, voice, and the public booking page all see the same availability truth and send the same confirmation, invite, and reminders. Never let the model invent slots; hard-rule the booking protocol to real availability.

After-hours (where the money leaks)

Configure explicitly: business hours, after-hours behavior (AI handles and books vs capture-and-morning-queue), and when the AI hands off. For emergency-natured niches, after-hours emergency keywords route to the live on-call ping (mechanisms 1-2); everything else books the morning slot (mechanism 4). This is the beachhead pitch for any business losing overnight leads: the morning-missed-leads pile becomes booked calls.

Build order for a new site

  • Define the niche's emergency vocabulary + the on-call contact
  • Stand up the calendar (who takes the calls, when)
  • Wire chat widget → persona → booking tools
  • Add voice number → same persona → same tools
  • Configure escalation keywords + notify address (+ live transfer if the business runs a real on-call)
  • Set after-hours behavior explicitly
  • Test all four paths: panic keyword pings, transfer rings + text-back fires, callback request creates the task, normal chat books a real slot and the confirmation lands

Rules

  1. AI silence on escalation is a feature: after the ping, the human owns the thread. The bot resuming over a live human is the cardinal sin.
  2. One booking engine, one availability truth. Two calendars = double bookings = dead client.
  3. Disclose honestly: the assistant speaks as the business's intake assistant, never impersonates a specific human.
  4. Every mechanism must degrade safely: failed webhook still captures the lead, unanswered transfer still texts back, failed booking still takes a callback.
1---
2name: rymac-call-funnel
3description: Builds the conversion plumbing that turns site traffic into scheduled calls: chat scheduler, AI voice agent, emergency escalation that pings a live on-call human, non-emergency booking into one shared calendar engine, and after-hours handling. Use when the user asks to "wire up the call funnel", "add the chat scheduler", "set up the voice agent", "convert traffic into scheduled calls", "handle after-hours calls", or builds any page whose goal is booked calls. Make sure to use this skill whenever call-booking, voice-agent, or emergency-routing plumbing is being designed or built.
4argument-hint: [site/business to wire, calendar target, on-call contact]
5---
6 
7# RyMac Call Funnel
8 
9Wire a site to convert visitors into scheduled calls, with a human-ping
10path for emergencies. This is the architecture running live on RyMac's own
11CRM platform; the pattern works with any stack (a CRM with AI channels, or
12Vapi/Twilio + a calendar API wired directly).
13 
14## The architecture (one persona, many channels)
15 
16One AI persona serves web chat, SMS, and voice. The persona is rebuilt
17server-side on every turn from a single profile (business facts, hours,
18escalation config), so every channel answers with the same brain and the
19same rules.
20 
21## Emergency vs non-emergency: it is a COMPOSITE, not a boolean
22 
23Do not build a single `if (emergency)` classifier. The proven pattern is
24four separable mechanisms, configured per business:
25 
261. **Escalation keywords (the instant human ping).** Case-insensitive
27 keyword match on inbound messages ("urgent", "emergency", "complaint",
28 "speak to manager", plus the niche's own panic words). On match: the AI
29 GOES SILENT and the on-call human is notified immediately with a deep
30 link to the contact. Allow per-channel keyword and notify-address
31 overrides.
322. **Live transfer (the ring-a-human path).** Phone-system dial forward
33 (e.g. Twilio Dial) to the on-call number with a ring timeout (~18
34 seconds) and an automatic text-back to the caller if unanswered.
353. **Callback capture (the deferred queue).** Voice calls run a structured
36 extraction for "callback requested"; when true, a follow-up task lands
37 on the operator's today list plus a notification email. Pure-info calls
38 create nothing.
394. **Booking tools (the non-emergency default).** The agent gets
40 get-availability / book / reschedule / cancel tools against ONE shared
41 calendar-aware booking engine, so chat, voice, and the public booking
42 page all see the same availability truth and send the same confirmation,
43 invite, and reminders. Never let the model invent slots; hard-rule the
44 booking protocol to real availability.
45 
46## After-hours (where the money leaks)
47 
48Configure explicitly: business hours, after-hours behavior (AI handles and
49books vs capture-and-morning-queue), and when the AI hands off. For
50emergency-natured niches, after-hours emergency keywords route to the live
51on-call ping (mechanisms 1-2); everything else books the morning slot
52(mechanism 4). This is the beachhead pitch for any business losing
53overnight leads: the morning-missed-leads pile becomes booked calls.
54 
55## Build order for a new site
56 
57- [ ] Define the niche's emergency vocabulary + the on-call contact
58- [ ] Stand up the calendar (who takes the calls, when)
59- [ ] Wire chat widget → persona → booking tools
60- [ ] Add voice number → same persona → same tools
61- [ ] Configure escalation keywords + notify address (+ live transfer if
62 the business runs a real on-call)
63- [ ] Set after-hours behavior explicitly
64- [ ] Test all four paths: panic keyword pings, transfer rings + text-back
65 fires, callback request creates the task, normal chat books a real
66 slot and the confirmation lands
67 
68## Rules
69 
701. AI silence on escalation is a feature: after the ping, the human owns
71 the thread. The bot resuming over a live human is the cardinal sin.
722. One booking engine, one availability truth. Two calendars = double
73 bookings = dead client.
743. Disclose honestly: the assistant speaks as the business's intake
75 assistant, never impersonates a specific human.
764. Every mechanism must degrade safely: failed webhook still captures the
77 lead, unanswered transfer still texts back, failed booking still takes
78 a callback.
79 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 28
Checked
Source
oathdriven/rymac-skills ↗
Creator
oathdriven · 12 listings
View creator

Similar skills

See all →
SkillAdvisor OrchestratorShubhamsaboo/awesome-llm-apps · by ShubhamsabooUse when a task is too large for one model pass, needs parallel research or generation across many subtasks (like researching a dozen competitors at once), or the user asks to orchestrate multiple models, split work across a model team, run an advisor-worker loop, have a stronger model review the plan while cheap workers execute, or says "too big for one model" or "fan this out". Not for single-file edits or tasks one model handles in one pass.★ 139k GitHub starsSkillCCS Align Worker Watchthedotmack/claude-mem · by thedotmackRun the CCS Align seat's hourly breathing cycle — prove the local claude-mem worker is healthy, pull needle observations through search → timeline → get_observations, land them in a seat-owned middle cache via atomic grab → append → filter exclude-marks → replace, manage exclude marks, and walk house → project → seat rules to detect conflicts (SHADOW_HOUSE, DENY_ALLOW, DRIFT, CLOCK_HEADER) with an append-only rules-report.md. Use when asked to run CCS Align, breathe the alignment seat, refresh the middle cache, exclude or restore an observation, walk rules, check rules conflicts, or check the Worker Watch board.★ 95.6k GitHub starsSkillAsync Return Briefingoliver-kriska/claude-elixir-phoenix · by oliver-kriskaSummarize and review what changed while you were away. Use after a weekend, vacation, or flight to check missed PRs, git commits, Linear tickets, and meetings — one prioritized brief, not a firehose.★ 560 GitHub starsSkillAsync Python Patternswshobson/agents · by wshobsonMaster Python asyncio, concurrent programming, and async/await patterns for high-performance applications. Use when building async APIs, concurrent systems, or I/O-bound applications requiring non-blocking operations.★ 39.9k GitHub starsSkillGo Concurrency Pattern Guidewshobson/agents · by wshobsonMaster Go concurrency with goroutines, channels, sync primitives, and context. Use when building concurrent Go applications, implementing worker pools, or debugging race conditions.★ 39.9k GitHub starsSkillMicroservices Patternswshobson/agents · by wshobsonDesign microservices architectures with service boundaries, event-driven communication, and resilience patterns. Use when building distributed systems, decomposing monoliths, or implementing microservices.★ 39.9k GitHub stars

More from oathdriven

SkillAEO Blog Writeroathdriven/rymac-skills · by oathdrivenWrites SEO + AEO (Answer Engine Optimized) blog posts built to rank on Google AND get cited by AI answer engines (Google AI Overviews, ChatGPT, Perplexity). Runs live SERP recon, writes answer-first, and wires internal + external authority links. Use when someone wants a blog post that ranks and gets quoted by AI, says "write an AEO post", "answer-engine optimization", "get cited by AI Overviews", "rank AND get quoted", or wants the pro version of an SEO article. For quick keyword blog posts use rymac-seo-writer instead.★ 28 GitHub starsSkillConverting Headline Writeroathdriven/rymac-skills · by oathdrivenWrite and rewrite landing-page headlines, hero sections, and their CTAs using a pain + dream-outcome formula, awareness-stage diagnosis, and a curated SaaS swipe file. Use when the user asks to "write a headline", "rewrite the hero", "fix the landing page headline", "give me headline options", "punch up the hero", or works on above-the-fold copy for allodra.ai, sierra6ai.com, or any writing-room landing page. Make sure to use this skill whenever a headline, hero section, subheadline, or CTA button copy is being written or critiqued.★ 28 GitHub starsSkillPaid Traffic Landing Pageoathdriven/rymac-skills · by oathdrivenResearches a niche's pains and builds a single-screen, one-decision landing page for paid ad traffic (Meta/Google/YouTube) — headline-first, message-matched to the ad, with one CTA and a risk-reversal/trust element, nothing else. Use when the user asks to "make a landing page for ads", "build a page for this campaign", "squeeze page", "lead capture page", "opt-in page", or wants to convert paid traffic for a niche. Make sure to use this skill for any ad-destination page; for multi-section marketing websites use website-builder or build-premium-website instead.★ 28 GitHub starsSkillDirect Response Letteroathdriven/rymac-skills · by oathdrivenWrites direct-response P.A.S. (Problem-Agitate-Solution) sales letters in the RyMac voice, in the Dan Kennedy direct-letter tradition, modeled on the proven Sierra-6 letter. A personal letter to one reader with self-identification pain bullets, "you're not alone" normalization, cinematic agitation, an I-was-you origin story, a named-mechanism reveal, imagine future-pacing, and a P.S. close, formatted for skimmers (bold/underline paths). Use when the user asks to "write a sales letter", "write the letter", "P.A.S. letter", "direct sales letter", "Dan Kennedy letter", "pain-agitate-solution copy", says "set up my sales letter voice profile", or needs the letter section of a sales page. Make sure to use this skill whenever long-form persuasive letter copy is being written, rewritten, or critiqued.★ 28 GitHub starsSkillExit Intent Popupoathdriven/rymac-skills · by oathdrivenBuilds RyMac's exit-intent popup pattern on any landing or sales page: desktop mouse-leave plus the mobile fast-scroll-up trigger, offering a supportive asset that is deliberately NEVER promised on the page itself. Use when the user asks to "add an exit pop", "build an exit popup", "exit intent", "catch people leaving the page", or when finishing any sales/landing page build. Make sure to use this skill whenever an exit-intent popup or leave-catcher is being designed, built, or critiqued.★ 28 GitHub starsSkillNiche Offer Validatoroathdriven/rymac-skills · by oathdrivenRuns RyMac's offer-validation research method. Fans out parallel subagents to map a niche's pain points in their own words, the psychology of why the pain persists, a competitor matrix, demand proof with a lead-pool count, the niche's unit economics (revenue bands, net margin range, where the margin comes from, the P&L split, average ticket), and a response-behavior audit scoring the niche against your mechanism, then delivers a build/pivot/skip verdict with the underserved wedge, the USP, an affordability call on what the niche can actually pay, a delivery-economics check that YOUR own margin clears a 65% floor (with the lowest price you could charge and the owned-vs-rented cost of your stack), the profit left on the table, and ROI hooks written in their own numbers. Use when the user asks to "research a niche", "validate an offer", "find the pain points", "run niche research", "should I build this", "who else sells this", "what are the margins in X", "can they afford my offer", "what should I price this at", or has an idea or observation about a market. Make sure to use this skill whenever the user is deciding what to build, sell, price, or make content about next.★ 28 GitHub stars