本文へ移動
cccskills
無料GitHub で公開

lead-followup

Runbook for turning a new HubSpot lead into a researched, personalized follow-up email and a proposed call slot for {{projectName}}. Covers company research, the sales playbook (positioning, tone, qualifying questions), HubSpot record updates, Google Calendar availability, and the human approval gate before anything sends.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

<skill name="lead-followup"> <overview> Inbound leads convert on the follow-up that shows the company was actually read, and that follow-up has to go out while the lead is still warm. A periodic sweep reads HubSpot for leads on {{hubspot_lifecycle_stage}} that haven't been handled yet, researches each company, drafts a personalized follow-up to the sales playbook with one tailored qualifying question, checks Google Calendar for a real opening and proposes that one slot, and writes the research back onto the HubSpot record. Nothing reaches a lead until a human reviews the draft in {{approval_channel}} and sends it.

Fresh session per sweep — state lives on the HubSpot lead record itself (a kortix_followup_drafted property + timestamp marks a lead handled), not in a local ledger file. A single sweep can find several new leads at once; handle each one as an independent unit — a research or drafting failure on one lead is logged and skipped, and never blocks or corrupts the follow-up for any other lead in the same sweep. </overview>

<when-to-load> - The periodic new-lead sweep fires. - A human asks the agent to follow up on a specific lead or re-check HubSpot for new signups. - The sales playbook (positioning, tone, qualifying questions) changes and needs to be reflected in the next drafts. </when-to-load> <workflow>

Step 0 — Orient: find what's new

Query HubSpot for contacts/leads on {{hubspot_lifecycle_stage}} that don't yet carry the drafted marker:

GET /crm/v3/objects/contacts/search
  filterGroups: [
    { propertyName: "lifecyclestage", operator: "EQ", value: "{{hubspot_lifecycle_stage}}" },
    { propertyName: "kortix_followup_drafted", operator: "NOT_HAS_PROPERTY" }
  ]

Anything already carrying kortix_followup_drafted was handled by a prior run — skip it, even if it hasn't been sent yet. Sending is a human decision, not a signal to re-draft.

Step 1 — Read the lead record

Pull the full context for each match: company name and domain, contact name and title, the form fields they submitted, source/UTM, and any notes already on the record.

Step 2 — Research the company

Read the company's public site and any other public information (what they do, recent news, product, size) to understand why this contact likely signed up. The draft has to reference something specific from this research — not just the company name.

Step 3 — Draft the follow-up to the playbook

Write the follow-up using the positioning, tone, and structure in memory, plus what's landed well on past leads. Include exactly one qualifying question, tailored to what this company does, not a generic checklist question.

Step 4 — Propose a call slot

Check Google Calendar for the next open {{meeting_length_minutes}}-minute slot in the team's normal booking window. Offer that one specific time in the draft — not a range, not a scheduling link. This is a read-only check: never create, move, or accept a calendar event yourself; the invite only exists once a human sends the email and the lead confirms.

Step 5 — Write research notes back to HubSpot

Update the lead record with the company research and the qualifying question you used, so the context is preserved on the record even before the email goes out or if a human edits the draft first.

Step 6 — Hold for approval

Place the drafted follow-up in {{approval_channel}} as a draft only. Do not send it. Set kortix_followup_drafted = true (with a timestamp) on the HubSpot record so the next sweep skips this lead.

</workflow> <guardrails> - **Never send.** Every follow-up is a draft held in {{approval_channel}} for a human to review, edit, and send. - **Calendar is read-only.** Check availability and propose a slot; never create, move, or accept an event. - **HubSpot writes are scoped** to research notes and the `kortix_followup_drafted` marker. Never change deal stage, pipeline, or lifecycle stage. - **No duplicate drafts.** Always check the `kortix_followup_drafted` marker before researching or writing — a lead handled once is never re-drafted, even across many sweeps. - **Scoped secrets.** HubSpot and Google Calendar credentials are injected by the connector at runtime, scoped to this agent's grant. </guardrails> </skill>

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Policy runbook for turning a Slack access request into a least-privilege, policy-checked GitHub or AWS IAM grant. Covers the role-to-grant mapping, extra-scrutiny cases, the approval handshake, and how an applied grant gets logged.

日本語の概要は準備中です。原文の説明を表示しています。

kortix-ai/suna2万2026年10月13日 更新

Get a complete picture of any company or person before outreach. This skill always works with web search, and gets significantly better with enrichment and CRM data.

日本語の概要は準備中です。原文の説明を表示しています。

kortix-ai/suna2万2026年10月13日 更新

Daily read-only ad-performance runbook — budget pacing, CPA/ROAS drift, underperforming ads and keywords, and anomaly detection across Google Ads and Meta Ads, plus how to rank and word optimization recommendations for {{alert_channel}}.

日本語の概要は準備中です。原文の説明を表示しています。

kortix-ai/suna2万2026年10月13日 更新

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

日本語の概要は準備中です。原文の説明を表示しています。

kortix-ai/suna2万2026年10月13日 更新

Extraction, PO matching, duplicate detection, and overcharge tolerance for processing incoming vendor invoices from {{invoice_label}} against the POs and ledger in {{ap_ledger}}. Load this before extracting a single invoice so every one is checked to the same standard and only genuine exceptions reach a human, with no invoice ever scheduled for payment by the agent.

日本語の概要は準備中です。原文の説明を表示しています。

kortix-ai/suna2万2026年10月13日 更新

Daily brand-mention monitoring loop for {{brand_terms}}. Searches news, social platforms, and forums for new mentions, dedupes against the ledger of mentions already reported, classifies sentiment and notability, and posts a digest with suggested response drafts to {{slack_channel}} — never posts, replies, or comments anywhere.

日本語の概要は準備中です。原文の説明を表示しています。

kortix-ai/suna2万2026年10月13日 更新

kortix-ai のスキルをすべて見る

このスキルの問題を報告する