Install
openclaw skills install @its-how/bigdeal-supplier-finderUse when an agent needs to create an evidence-bound supplier discovery report for a product or sourcing brief, especially for global buyers, cross-border ecommerce, private label, OEM/ODM, manufacturer discovery, B2B platform search, trade show directory search, supplier directory research, query expansion, source map generation, or structured sourcing reports. Produces source maps, supplier candidates, evidence links, gaps, and next-search suggestions. Does not log in, bypass captcha, use paid APIs, scrape at scale, store databases, score supplier trustworthiness, recommend purchases, or perform live/external actions without explicit separate authorization.
openclaw skills install @its-how/bigdeal-supplier-finderUse this skill to help an agent discover where to search for suppliers and produce a structured, evidence-bound sourcing report. The skill is breadth-first: expand source surfaces, preserve raw signals, separate evidence from query fuel, and make uncertainty explicit.
This is a runtime-agnostic agent skill. It is not a crawler, not a supplier database, not a procurement recommendation engine, and not a trust or due-diligence score.
Do:
SearchResultSignal, SourceAttempt, SourceMapEntry, SupplierCandidate, QuerySuggestion, and Gap separately;Do not:
Ask for or infer:
search+fetch, search-only, or no-search;If live or credentialed actions are not explicitly authorized, operate in planning or deterministic fixture mode only.
This skill assumes the agent runtime has access to:
If search is unavailable, operate in no-search mode (fail-fast with metadata only).
If fetch is unavailable, operate in search-only mode (C-grade candidates only).
This skill does NOT assume: paid API access, authenticated sessions, CAPTCHA solving, JavaScript rendering, or database storage.
search+fetch, search-only, or no-search.no-search, return fail-fast metadata and empty arrays immediately.A Source Map entry is a discovery surface — a URL-backed page that lists, indexes, or aggregates multiple potential suppliers (e.g., a B2B platform category page, a trade show exhibitor list, a government supplier directory). It is NOT a specific supplier. If the page describes a single supplier with contact/location/product details, it is a Supplier Candidate, not a Source Map entry.
A Supplier Candidate is a specific supplier entity with name, region, and product match. It must come from a Source Map entry or directly from a search result target URL. If the same URL serves as both a discovery surface AND describes a specific supplier, classify it as a Supplier Candidate and do NOT duplicate it in Source Map.
no-search or a hard limit has already stopped external actions. If Supplier Candidates are fewer than 8 or source categories are fewer than 3, run at most one targeted expansion or record why it is not possible.references/contract.md.npm test, npm run fixture).Stop new external search/fetch actions only under these conditions:
Do not skip ROUND_1 through ROUND_3 because of diminishing returns or coverage saturation. When a hard limit fires before all rounds complete, record the stop reason in execution_metadata.stop_reason, stop new external actions, continue to ROUND_5 with existing evidence, and mark only blocked external actions as skipped in stage_records.
Search-only candidates may enter as C-grade only when they are snippet-derived, not fetched, use a non-search-page target URL, and include explicit provenance.
When a fetch attempt fails (status: failed, restricted, missing_fields, rejected):
source_attempts with the failure reason.gap entry referencing the source_attempt_id and describing what was missing.When a fetched page uses collapsible/expandable sections (accordions, "Show more", tabs), the visible content may not represent the full page. For each Supplier Candidate:
field_origin whether critical fields (name, region, product_match_summary) came from visible or potentially-hidden content.gap entry: { reason: "collapsible_container_coverage_gap", detail: "..." }.Load references/contract.md when writing or reviewing report fields, acceptance gates, runtime profiles, or evidence admissibility.
Every report must include:
Use these scripts from the repository root:
npm test
npm run check
npm run fixture
The fixture CLI lives at:
node bigdeal-supplier-finder/scripts/bsf-fixture.js bigdeal-supplier-finder/fixtures/sample-suite.json
Expected fixture CLI boundary:
evidence_scope is deterministic-fixture;live_reports is empty;cannot_prove includes real search breadth, supplier discovery quality, and live smoke readiness.Deterministic fixtures prove only local contract behavior. They do not prove live search breadth, supplier discovery quality, provider readiness, browser/session readiness, account state, credential safety, external site compatibility, or production readiness.
Before any live/provider phase:
Deterministic validation (npm test, npm run fixture) proves local contract
behavior only. The fixture runner intentionally does not validate live reports:
it emits evidence_scope: "deterministic-fixture" and keeps live_reports
empty.
For live reports:
evidence_scope: "live" and do not mix live reports with deterministic
fixtures.