client-finder/SKILL.md

3.0 KiB

name: client-finder description: "找客户、找买家、开发客户、cold outreach。当用户说"帮我找XX客户"、"找XX买家"、"开发XX客户"、"find clients for XX"时使用此 skill。通过 Google Maps 搜索目标行业的潜在客户,自动获取联系方式(邮箱/电话/网站),完成后自动触发邮件编写。"

Client Finder

Skill-credit + ecom run-flow: query expansion → /ecom/cold-outreach/run-flow. Execution mode is fire-and-return: start workflow fast and return accepted immediately; terminal callbacks are handled by backend webhook delivery.

Auth is handled automatically by auth-runtime via ~/.openclaw/.env.

Run Skill

<skill-dir>/scripts/cliet-finder.sh "office machine" "us"

Optional: provide LLM-generated query expansion JSON:

QUERY_EXPANSION_JSON='{"expandedQueries":["office machine supplier us","office equipment distributor us"],"primaryQuery":"office machine supplier us"}' \
<skill-dir>/scripts/cliet-finder.sh "office machine" "us"

Dry-run (no network calls):

<skill-dir>/scripts/cliet-finder.sh "office machine" "us" --dry-run

Required Inputs

  • query (string)
  • country (optional, default us)

Optional:

  • QUERY_EXPANSION_JSON (optional LLM expansion input)

Reference

Load and follow references/cliet-finder.md as the detailed workflow spec. For expansion behavior, also follow references/query-expansion-spec.md. For client onboarding and billing flow (Chinese), read how-to-use.md.

Execution Checklist

  1. Normalize input query.
  • Trim whitespace.
  • Remove leading cold-outreach: prefix (case-insensitive).
  1. Exchange runtime token.
  • Auth handled automatically by auth-runtime.
  1. Expand query.
  • Build candidate queries from skill logic (rule) or QUERY_EXPANSION_JSON (llm).
  • Select one primaryQuery.
  • Fallback policy: if expansion fails, use normalized raw query as primaryQuery and continue.
  1. Execute workflow.
  • Call POST /ecom/cold-outreach/run-flow with runtime accessToken:
    • query = primaryQuery
    • country
  • Require workflowId in response.
  1. Return accepted immediately.
  • Return JSON with workflowStatus = "accepted" and workflowId.
  • Backend pushes terminal callback to webhook bound on the client key.

Output Contract (Strict)

  • Final answer must be JSON only. No prose, no markdown table, no repeated preface.
  • Follow output_schema.json exactly.
  • error is null when success; short string when failed.
  • If fallback is used, populate:
    • expansionStatus = "failed"
    • expansionSource = "raw_query"
    • usedFallbackQuery = true
    • expansionError with short reason

Constraints

  • Use this skill for query expansion + /ecom/cold-outreach/run-flow orchestration only.
  • Do not trigger /mail/compose or any mail compose flow in this skill.
  • Do not implement local monitor, local finalize, or local hook event emission.