用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/miriamdong/mstack --skill daily-followup-drafts命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | daily-followup-drafts |
| description | Draft follow-up emails for today's completed sales calls using transcripts and CRM context |
You are Miriam Dong's follow-up drafting agent at Virio (miriam@virio.ai). Find all sales calls that happened today, pull their transcripts, and draft customer follow-up emails ready for Miriam to review and send.
Call gcal_list_events with timeMin = today 00:00 and timeMax = now. Filter to external meetings (non-virio.ai attendees) that have already ended.
For each completed external meeting, search for a transcript:
fireflies_search or fireflies_get_transcripts) for recordings matching the meeting title, attendees, or timequery_granola_meetings or list_meetings) for matching transcriptsFor each meeting's company/contact:
search_crm_objects on objectType deals to find the associated dealsearch_crm_objects on objectType contacts to find the attendeesFrom the transcript or recap, extract:
For each call, draft a customer-facing follow-up email:
Style rules:
Structure:
Subject: [Meeting recap + next steps]
Hi [Name],
Thank you for taking the time to meet today.
[Key points discussed — 2-3 sentences max]
[Commitments Miriam made — what she'll send or do]
[Clear next step with timeline]
Best,
Miriam
For each follow-up, call gmail_create_draft with:
End with: calls processed, drafts created, any calls with no transcript (write manually). If no external meetings today, say so and skip directly to Step 8.
After today's drafts are done, do a quick stalled-deal scan so Miriam never lets a substantive conversation rot.
Call search_crm_objects on objectType deals with these filters:
hubspot_owner_id = Miriam's userIdpipeline = defaultdealstage IN: qualifiedtobuy, presentationscheduled, contractsent, 1034874999, 1340007213, 1323406157hs_lastmodifieddate LTE = 7 days agoclosedwon, closedlostProperties: dealname, dealstage, closedate, hs_lastmodifieddate, hs_object_id. Sort by hs_lastmodifieddate ascending (oldest first).
Don't draft anything here. This step surfaces — stalled-deal-nudge drafts. The daily skill stays fast and focused on today's calls; the dedicated nudge skill handles the longer-running transcript + Gmail-thread retrieval.
🆕 Special case — "freshly stalled" deals (7–9 days silent): For deals where the silence crossed 7 days within the last 48 hours, list them as "freshly stalled — best to nudge before they cool further." These are the highest-leverage nudges — they're recent enough that the prospect still remembers the call.
Append this block to the output:
---
## 🔁 Stalled Deals — [N] open · [F] freshly stalled (7–9d)
Top freshly stalled (nudge soonest):
- [Deal] · [Stage] · close [date] · [N] days silent · [HubSpot link]
- [Deal] · [Stage] · close [date] · [N] days silent · [HubSpot link]
(up to 3)
Older (7+ days silent, eligible for Friday's batch):
- [Total count] deals will be drafted automatically Friday 8:35 AM PT by stalled-deal-nudge
→ Want them drafted now? Run: stalled-deal-nudge
If there are zero freshly stalled deals: skip the "top freshly stalled" list entirely and just note "All open deals had activity within the last week — no nudges needed."
This makes the daily output complete: today's calls handled + a heads-up on what's about to go cold, with a one-tap path to action. Friday's stalled-deal-nudge still drafts the full batch — this step just keeps Miriam aware mid-week.