Qualify one lead against BANT (budget, authority, need, timeline) and MEDDIC (metrics, economic buyer, decision criteria, decision process, identified pain, champion) using public signals only, producing an opportunity quality score out of 100, an A-to-D grade and the recommended approach.
A skill is a written procedure a bot loads when a job calls for it. This one is a single file, SKILL.md, and the whole file is on this page.
Templates and analytical tools only - not legal, marketing-compliance, or data-protection advice. Lead qualification draws on public sources only - never scrape LinkedIn (ToS §8.2), Glassdoor, G2, Capterra, or Crunchbase free-tier. Personal data captured during qualification (named individuals, role, employer) is regulated under GDPR Art. 6 (EU/UK), CCPA/CPRA (CA), and equivalent regimes - surface notice obligations downstream. Champion/economic-buyer identification must be evidence-based; never fabricate names or relationships.
Sales Qualify - Lead Qualification Engine (BANT + MEDDIC)
What is the Sales Qualify - Lead Qualification Engine (BANT + MEDDIC) skill?+
Qualify one lead against BANT (budget, authority, need, timeline) and MEDDIC (metrics, economic buyer, decision criteria, decision process, identified pain, champion) using public signals only, producing an opportunity quality score out of 100, an A-to-D grade and the recommended approach.
How much does it cost?+
Nothing. It ships with Murage, which is open source. Your bots run on the AI plan you already have.
Can I change it?+
Yes. Open it in Settings → Skills to read, edit or duplicate it. Skill Guard scans it again after every edit.
Give your first job to Murage.
Download the app, connect the AI you already pay for, and tell your Chief of Staff what needs doing. Plan on about ten minutes from install to a working team.
This procedure names Wayland's tool set. Map each to whatever this host provides:
web_extract
→ the web-fetch tool,
terminal
→ the shell,
execute_code
→ a scratch script,
file_tools.*
→ read/write,
delegate_task
→ subagents (or run the phases yourself, in order). Where a helper script such as
analyze_page.py
is named and not present, do that parsing inline.
Evaluate a prospect against two proven sales qualification frameworks - BANT and MEDDIC - using only publicly available information. Produces an Opportunity Quality Score (0-100) and a Lead Grade (A/B/C/D) with a recommended sales approach. Runs standalone via /sales-qualify <url> or as the Opportunity dimension subagent during /sales prospect.
When to Use
Trigger phrases: "qualify this lead", "BANT score <url>", "MEDDIC analysis on <company>", "is this a real opportunity", "should we pursue <company>", /sales qualify <url> (verb form), /sales-qualify <url> (flat form).
Do NOT use for: deep company background research (sales-research), decision-maker contact discovery (sales-contacts), competitive landscape analysis (sales-competitors), or building an ideal customer profile (sales-icp).
Invocation Modes
This skill is dual-mode.
Standalone mode (/sales-qualify <url>)
User passes a company URL.
Skill fetches the public surface, runs full Phase 1-4 BANT + MEDDIC analysis, and writes a Markdown report.
Default output path: a dated Markdown file in the workspace - typically .wayland/business-sales/<timestamp>-<slug>.md.
Caller may override with an explicit out_path argument.
Subagent mode (invoked by sales-prospect via delegate_task(tasks=[...]))
Parent orchestrator pre-fetches all pages and passes them in context.pages.
Child receives a fully self-contained context payload (see Subagent contract below) - no parent context leaks otherwise.
Child does NOT re-fetch; it analyzes the structured page data passed in.
Child returns a JSON object matching output_schema AND writes a per-dimension Markdown file to the assigned out_path.
Toolset for the child is [terminal, file, web] - execute_code is blocked for delegated subagents, so any helper-script work must already be done by the parent.
Inputs
Standalone mode accepts:
url (required) - company website URL
pages (optional) - pre-fetched page data {role: text} to avoid redundant fetches
icp_context (optional) - contents of an existing IDEAL-CUSTOMER-PROFILE.md for pain-point and budget calibration
out_path (optional) - caller-controlled output path; falls back to a dated Markdown file in the workspace
external_signals - pre-fetched data from LinkedIn / Crunchbase / news / G2 (parent runs web_search once and embeds results)
icp_context - ICP pain-point map, if available
scoring_rubric - the rubric below, embedded so child has it without reading parent prompt
output_schema - exact JSON shape the child must return
out_path - deterministic absolute path the child writes its dimension report to
Phase 1: Data Collection
1.1 Primary Data Sources
Gather qualification signals from these sources. In standalone mode use web_extract for site pages (≤5 URLs per call) and web_search for external data (≤5 results per call). For raw text on long pages, use terminal + curl --max-filesize 200000 instead of web_extract. In subagent mode, read everything from context.pages and context.external_signals - do NOT re-fetch.
Assign to senior rep. Initiate personalized outreach immediately. Multi-thread to buying committee. Prepare custom proposal.
B
50-74
Marketing Qualified Lead
Begin standard outreach sequence. Schedule discovery call. Gather more MEDDIC data. Nurture with relevant content.
C
25-49
Information Qualified Lead
Add to long-term nurture. Share thought leadership content. Monitor for trigger events. Re-qualify in 60-90 days.
D
0-24
Unqualified
Do not pursue actively. Add to awareness campaigns only. Re-evaluate if major changes occur (funding, leadership, growth).
4.3 Buying Signals & Red Flags
Compile both into structured tables: each signal/flag with its Source, Strength/Severity, and Relevance/Mitigation. The Buying Signals table feeds the rep's outreach hooks; the Red Flags table feeds disqualification or objection-handling prep.
4.4 Recommended Approach
Grade A: Direct executive outreach. Lead with specific ROI calculation. Reference specific pain points and trigger events. Prepare for a 2-4 week deal cycle.
Grade B: Educational outreach. Lead with industry insights and best practices. Build relationship before pitching. Prepare for a 1-3 month deal cycle.
Grade C: Content nurture. Share relevant resources without selling. Set trigger-based re-engagement alerts. Prepare for a 3-6 month warming period.
Grade D: Marketing awareness only. Add to newsletter/blog distribution. Monitor for qualification changes. Do not invest individual sales rep time.
Output
Standalone mode - Markdown report
Write the report via file_tools.write to the resolved out_path:
Scale conversion. The BANT rubric grades each of the 4 sub-dimensions on a 0-25 band (sum = 0-100). For the canonical JSON above:
subscores.<bucket>.score = rubric_value * 4 to land on the 0-100 scale.
Top-level dimension_score is the Opportunity Quality Score: round(BANT_Score * 0.50 + MEDDIC_Completeness * 0.30 + Urgency_Modifier * 0.20) - already a 0-100 integer.
bant_score, meddic_completeness, urgency_modifier, and lead_grade remain as auxiliary fields. The aggregator (sales-prospect Phase 3) reads the canonical dimension_score directly.
Also write the same content as Markdown to context.out_path so the parent can aggregate by reading files. The Markdown follows the standalone report skeleton above (BANT scorecard, MEDDIC table, signals, red flags, recommended approach).
The Opportunity Quality dimension is weighted 20% in the sales-prospect aggregate.
Notes
Never invent pain points. Only report pain points you have evidence for. "They probably struggle with X" is not evidence. "Their job posting mentions needing to fix X" IS evidence.
Be honest about unknowns. Much BANT information is only available through direct conversation. Score what you CAN assess and clearly flag what requires further qualification.
Distinguish signal from noise. One employee complaining on Glassdoor is noise. A pattern of complaints about the same issue is a signal.
Trigger events must be recent. A funding round from 3 years ago is not a trigger event. Within the last 12 months is the threshold.
Budget estimation should be conservative. Better to underestimate than overestimate.
Timeline is the hardest to assess externally. Be transparent. Note timeline as the first thing to validate in conversation.
Champion potential is speculative. Rarely score above 7 without direct evidence.
Score the opportunity, not the company. A great company with no current need scores low. A mediocre company with urgent, well-funded need scores higher.
In subagent mode the child cannot call execute_code and cannot re-fetch - work only from context.pages and context.external_signals. If a source is missing, mark the corresponding finding as "not analyzable - source not provided".
Always produce a qualification report with whatever data is available. Even incomplete data is valuable for prioritization. If BANT score is below 25 and confidence is Low/Inferred across all dimensions, recommend manual research before any outreach.
If sibling reports (COMPANY-RESEARCH.md, DECISION-MAKERS.md, COMPETITIVE-INTEL.md, IDEAL-CUSTOMER-PROFILE.md) exist in the run directory, read them via file_tools.read to pre-populate company data, authority/champion analysis, current-solution context, and ICP pain alignment.
Suggested follow-ups after a standalone run: /sales-contacts for decision-maker deep dive, /sales-research for richer company background, /sales-icp to refine targeting.
Limitations
web_search is hard-capped to 5 results per call; chain multiple targeted searches rather than one broad query.
web_extract is hard-capped to 5 URLs and auto-summarizes pages > 5000 chars. For raw long-page text (e.g. a careers page with 40 listings), use terminal + curl --max-filesize 200000 instead.
Public-only data - no logged-in scraping, no purchased datasets. The skill intentionally produces a pre-conversation qualification, not a post-call one.
OSINT only. Refuse to ingest scraped LinkedIn / Glassdoor / G2 / Capterra / Crunchbase free-tier data. Use official APIs or manual human lookup.
Output footer (REQUIRED on every qualification report)
End every generated qualification report with this block, verbatim:
---
**LEAD QUALIFICATION - NOT LEGAL, MARKETING-COMPLIANCE, OR DATA-PROTECTION ADVICE**
Before acting on this qualification, the user must:
1. Confirm contact and signal data was sourced via OSINT or official platform APIs only - not scraped from LinkedIn (§8.2), Glassdoor, G2, Capterra, or Crunchbase free-tier.
2. Treat champion / economic-buyer identifications as evidence-based hypotheses; never name a person as a relationship contact without confirmed evidence.
3. Personal data of identified individuals (EU/UK / California persons) triggers GDPR / CCPA processing obligations downstream - confirm a lawful basis under GDPR Art. 6 and satisfy Art. 14 indirect-collection notice within one month if data came via broker.
4. Outreach derived from this qualification inherits sales-outreach Phase 0 jurisdiction gate - refuse cold to DE/AT/CH, refuse without sender postal address for US (CAN-SPAM §5(a)(5)), refuse Framework 4 / mutual-connection without documented referrer permission.
Generated by Wayland business-sales plugin. No warranty, express or implied. Wayland and the plugin authors disclaim all liability for use of this report.
Templates and analytical tools only - not legal, marketing-compliance, or data-protection advice. OSINT only; respect platform ToS; satisfy GDPR / CCPA on downstream processing.