Skip to content
Marketing
Skill

/inbound-lead-triage

Triages all inbound leads from a given period — demo requests, free trial signups, content downloads, webinar registrations, chatbot conversations. Classifies by urgency, qualifies against ICP, enriches with context, and produces a prioritized action queue with recommended

From plugin
goose-skills
1.2k200 skills
Install
$ npx -y skills add gooseworks-ai/goose-skills --skill inbound-lead-triage --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/inbound-lead-triage

Context preview

The summary Claude sees to decide when to auto-load this skill.

Triages all inbound leads from a given period — demo requests, free trial signups, content downloads, webinar registrations, chatbot conversations. Classifies by urgency, qualifies against ICP, enriches with context, and produces a prioritized action queue with recommended

SKILL.md

inbound-lead-triage.SKILL.md
name: inbound-lead-triage
version: 1.0.0
description: >
  Triages all inbound leads from a given period — demo requests, free trial signups,
  content downloads, webinar registrations, chatbot conversations. Classifies by urgency,
  qualifies against ICP, enriches with context, and produces a prioritized action queue
  with recommended response for each lead. Tool-agnostic — works with any CRM, form tool,
  or lead source.
tags: [lead-generation]

Inbound Lead Triage

Pulls all inbound leads from a specified period, classifies them by source urgency, qualifies against ICP, enriches with company/person context, and produces a prioritized action queue. Turns a messy inbox of form fills into a clear "who to call first" list.

When to Auto-Load

Load this composite when:

  • User says "triage my inbound leads", "review new leads", "check demo requests"
  • User wants to process a batch of inbound leads from any period
  • User asks "who should I follow up with first?"
  • A scheduled workflow triggers periodic inbound review

Architecture

[Lead Sources] → Step 1: Collect → Step 2: Classify & Rank → Step 3: Qualify → Step 4: Enrich → Step 5: Route & Respond
                    ↓                    ↓                        ↓                  ↓                    ↓
              Raw lead list      Urgency-ranked list       ICP-scored list    Context-rich list    Action queue + drafts

Each step has a clear input/output contract. Tools are configured once per client, not hardcoded.

---

Step 0: Configuration (Once Per Client)

On first run, ask the user to configure their lead sources and preferences. Save to the current working directory or wherever the user prefers (e.g., `config/inbound-triage.json`).

{
  "lead_sources": {
    "demo_requests": {
      "source_tool": "HubSpot | Salesforce | Typeform | CSV | other",
      "access_method": "API | CSV export | MCP tool | manual paste",
      "fields_available": ["name", "email", "company", "title", "message"]
    },
    "free_trial_signups": {
      "source_tool": "product database | Stripe | CSV | other",
      "access_method": "API | CSV export | manual paste",
      "fields_available": ["name", "email", "company", "signup_date", "plan"]
    },
    "content_downloads": {
      "source_tool": "HubSpot | Marketo | CSV | other",
      "access_method": "API | CSV export | manual paste",
      "fields_available": ["name", "email", "company", "content_title", "download_date"]
    },
    "webinar_registrations": {
      "source_tool": "Zoom | Luma | CSV | other",
      "access_method": "API | CSV export | manual paste",
      "fields_available": ["name", "email", "company", "webinar_title", "attended"]
    },
    "chatbot_conversations": {
      "source_tool": "Intercom | Drift | Crisp | CSV | other",
      "access_method": "API | CSV export | manual paste",
      "fields_available": ["name", "email", "company", "conversation_summary", "intent"]
    }
  },
  "urgency_overrides": {},
  "response_preferences": {
    "demo_request_sla": "< 1 hour",
    "trial_signup_sla": "< 4 hours",
    "default_sla": "< 24 hours"
  },
  "qualification_prompt_path": "path/to/existing/qualification-prompt.md or null"
}

**On subsequent runs:** Load config silently, skip setup.

**If user provides a raw CSV or pastes leads inline:** Skip source config — just classify what's given.

---

Step 1: Collect Leads

Input

  • Time period (e.g., "last 24 hours", "this week", "since Monday")
  • Lead sources to check (all configured sources by default, or user specifies)

Process

1. Pull leads from each configured source for the specified period 2. Normalize into a common schema regardless of source:

{
  "name": "",
  "email": "",
  "company": "",
  "title": "",           // if available
  "source_type": "",     // demo_request | free_trial | content_download | webinar | chatbot | other
  "source_detail": "",   // which form, which webinar, which content piece
  "timestamp": "",
  "raw_message": "",     // form message, chat transcript, or null
  "raw_fields": {}       // all original fields preserved
}

3. Deduplicate by email — if same person appears in multiple sources, merge into one record with all source types listed (this is a stronger signal)

Output

  • Normalized lead list with source classification
  • Dedup report: "X leads from Y sources, Z duplicates merged"

Human Checkpoint

Present the collected leads count by source. Ask: "These are the leads I found. Proceed with triage?"

---

Step 2: Classify & Rank by Urgency

Urgency Tier System

Rank every lead into one of four urgency tiers based on their source type and behavioral signals.

**Tier 1 — Respond NOW (< 1 hour SLA)**

  • Demo requests (explicit buying intent)
  • Chatbot conversations where the prospect asked about pricing, integration, or implementation
  • Any lead that mentions a competitor by name
  • Any lead that mentions a timeline ("looking to switch by Q2", "evaluating this month")
  • Multi-source leads: appeared in 2+ sources (e.g., downloaded content AND requested demo)

**Tier 2 — Respond TODAY (< 4 hours SLA)**

  • Free trial signups (active evaluation intent)
  • Chatbot conversations with product questions (not pricing)
  • Webinar attendees who actually attended (not just registered)
  • Content downloads of bottom-funnel content (case studies, ROI calculators, comparison guides, pricing pages)

**Tier 3 — Respond within 24 hours**

  • Webinar registrants who did NOT attend
  • Content downloads of mid-funnel content (how-to guides, industry reports, templates)
  • Free trial signups with personal email domains (gmail, yahoo — lower commercial intent)

**Tier 4 — Batch response / nurture**

  • Content downloads of top-funnel content (blog posts, general ebooks, infographics)
  • Webinar registrants for broad/educational topics with no other signal
  • Any lead where company or title is missing and can't be enriched

Signal Boosters (Move Up One Tier)

  • Compa
Read more
Ships withgoose-skills

Put your AI agent on the growth team. Research customers and competitors, analyze what is working, create the next campaign, and learn from the result.

Get the whole plugin

Other skills on goose-skills.