lead-triage
Skill8 starsChanged 5 months agoMITView on GitHub
Classify new inbound leads (last 24-48h), score by fit, and draft the right first response per lead — fast track, slow burn, or disqualify.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- Big-LAORE/Biblioth-que-de-skillstheir own version, first seen Nov 1, 2026
- codebywater/WB-OZON-AI-TEAMtheir own version, first seen Oct 25, 2026
- anthropics/knowledge-work-pluginstheir own version, first seen Oct 13, 2026
- kelsi-bizer/bizer-ai-agent-skillstheir own version, first seen Jul 8, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- anthropics/knowledge-work-plugins★ 35ksame name
- codebywater/WB-OZON-AI-TEAM★ 2same name
- Big-LAORE/Biblioth-que-de-skills★ 1same name
- kelsi-bizer/bizer-ai-agent-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository101 other files it gives its agents.
- templates/CLAUDE.mdCLAUDE.md
- Add a FieldSkill
- Assemble Content PackSkill
- Assemble PackSkill
- Audit My AutomationsSkill
- Audit My DataSkill
- automate-thisSkill
- Brand My WorkspaceSkill
- Break Down A ChannelSkill
- Build Brand StrategySkill
- Build Customer VoiceSkill
- Build DocumentSkill
- Build FormSkill
- Build Knowledge Base From DocsSkill
- Build My ProofSkill
- Build My VoiceSkill
- Build Social StrategySkill
- Build SpreadsheetSkill
- Build Work Order ProcessSkill
- Cash Flow ForecastSkill
- Coach My CallsSkill
- Compare DocumentsSkill
- Connect A ToolSkill
- Delegate This WorkSkill
- Describe A ProductSkill
- Design My ScenesSkill
- Design Nurture SequenceSkill
- draft-replySkill
- Email Me A ReportSkill
- Estimate My BASSkill
- Extract DocumentSkill
- Find My Next MoveSkill
- Five Day ChallengeSkill
- Follow-up RadarSkill
- Form RadarSkill
- Get Found OnlineSkill
- Grill Me On This DecisionSkill
- import-from-anywhereSkill
- Learn My BusinessSkill
- Lint DocumentSkill
- Lint FormSkill
- Lint Nurture SequenceSkill
- log-this-callSkill
- make-it-happenSkill
- Make My VideoSkill
- Make Product DemoSkill
- Make Social PostSkill
- Make ThumbnailSkill
- missed-call-recoverySkill
- Nurture HealthSkill
- Onboard Team MemberSkill
- Outstanding DocumentsSkill
- Outstanding InvoicesSkill
- Package My VideoSkill
- Plan My AdsSkill
- Plan My ContentSkill
- Plan My RoadmapSkill
- Plan My YouTubeSkill
- Prep For CallSkill
- Price My WorkSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 5 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 30
Run the fetch script. It returns every new lead in the last N hours (default 48), enriched with:
- Distinctive: line 70
After classification is agreed, draft the message for each lead.
- Distinctive: line 71
Use the lead's first name (never "Hi there", never "Hi friend")
- Distinctive: line 80
Wait for explicit yes/no per lead.
- Very specific: line 86
Create the opportunity first if missing: Every fast-track lead becomes an opportunity in your pipeline before the message goes out.
- Distinctive: line 88
A genuine-fit 'no' is not lost: If a lead replies not-now or too-expensive, never offer the same thing cheaper.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/lead-triage
Inbound leads have a half-life. The standard is a first response inside 5 minutes in business hours (knowledge/business-method.md §10.3); this skill exists to clear whatever missed that window, fastest-first — classify each, score by fit, draft the right first response, and tee them up for your approval.
Step 1 — Pull the leads
Run the fetch script. It returns every new lead in the last N hours (default 48), enriched with:
- Source (form submission, inbound email, inbound SMS, inbound call, manual entry)
- Whether they have an opportunity yet
- Contact details (email, phone, company)
- Initial message / form payload
- A fit score (0-100) based on completeness, source quality, and message length
- Recency
python ~/.claude/bos-run.py lead-triage
python ~/.claude/bos-run.py lead-triage --hours 24 # tighter windowFallback if the script can't run (auth/network): say so briefly, then pull the
same window by hand — mcp__trustpager__list_form_submissions,
list_email_threads, list_sms_conversations, list_phone_call_logs — and
classify from those. Proceed with what you have.
If TrustPager isn't connected at all: say so plainly, then offer the keyless path — the owner pastes the enquiries (form contents, email text) into chat and you classify, score, and draft responses exactly the same way; the drafts land in chat for them to send from their own inbox.
Step 2 — Classify each lead
Age matters as much as fit: a fresh engaged lead outranks an older high-score one, and anything unworked ~3 months is cold-list territory, not triage (§10.3, directional). Engaged leads — the ones who replied, wrote a detailed message, or called — are the currency; a raw name-and-email handle is not one yet.
For each lead, propose a category:
| Category | Definition | Default response |
| 🔥 Fast track | Has phone, has detailed message, source is form/inbound-email, score ≥ 70 | Personal SMS + email within minutes. Offer call within 24h. |
| 🌱 Nurture | Has email but limited detail, score 40-69 | Auto-templated email asking 2-3 qualifying questions. |
| 🧊 Cold / unclear | Score < 40 — no contact info beyond name, vague message | Light-touch email: "Got your enquiry, can you tell us a bit more about what you're after?" |
| 🚫 Disqualify | Spam patterns, wrong industry, asking for partnership/SEO services, etc. | Don't respond. Optionally archive. |
Show the classification + reasoning to the user. The user can override per lead.
Step 3 — Draft the per-lead response
After classification is agreed, draft the message for each lead. The draft should:
- Use the lead's first name (never "Hi there", never "Hi friend")
- Reference something concrete from their enquiry (their stated need, their company name, their question) — this is the moat against generic templates
- End with a single clear next step ("Are you free Wed or Thurs morning for a 15-min call?", not "Looking forward to hearing from you!") — a concrete time, never "let me know"
- Match the tone of the workspace — read recent sent emails to calibrate before drafting
Step 4 — Send with approval (per lead)
For each draft:
- Show the user: lead name, category, channel, the proposed message.
- Wait for explicit yes/no per lead. NEVER batch-send.
- On yes: send via
mcp__trustpager__send_emailorsend_smsfor the per-lead channel. - On no: ask what to change, or skip.
Important behaviours
- Create the opportunity first if missing. Every fast-track lead becomes an opportunity in your pipeline before the message goes out. The skill should call
create_opportunitywith the right pipeline + stage + contact link. - Disqualify ≠ delete. Mark with a "lost" status + reason so you can review later. Never delete.
- A genuine-fit 'no' is not lost. If a lead replies not-now or too-expensive, never offer the same thing cheaper; offer a changed scope or payment shape (business-method.md §9.4) or park them in nurture with a dated next touch.
- Spam heuristics. Free email + generic body + "SEO services / web design proposal / partnership opportunity" = disqualify by default.
- Don't promise specifics you don't know. "Our standard package starts at $X" — only if the user told you the figure or it's in workspace knowledge.
- Quiet hours. Same as missed-call-recovery — before 7am / after 8pm = email not SMS.
Output shape
End with a one-line summary: "Triaged N leads — F fast track sent, S nurture sent, C cold sent, D disqualified, R skipped for your review."
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

