Hlzd customer profile
Skill Alexxiang2008/hlzd-b2b-export-skills/skills/hlzd-customer-profile
Agent Skills for B2B industrial exporters — market research (HS code, UN Comtrade, Google Trends, tender), buyer finding (Alibaba + Volza customs), inquiry qualification, voice-contract HTML reports. By HLZD (海联智达).
npx -y skills add Alexxiang2008/hlzd-b2b-export-skills --skill hlzd-customer-profileAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 22 days oldThe repository was created 22 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
B2B 客户 360° 画像 —— 4 层字段模型(基础/交易/行为/画像)+ AI 跟进建议 + AI 客群聚合 + 5 维评级(A/B/C/D)。与 hlzd-customer-due-diligence 互补:due-diligence = 合规粗筛,customer-profile = 深度画像。
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
16.2 KB, ~5.0k tokens by cl100k_base, as published. Nobody here has run it
HLZD 客户画像 v0.2
v0.2 升级说明(基于 GitHub 调研 6 个开源项目):
- 借鉴 Tracardi CDP(646 stars)的 4 层字段分类(核心/基础/行为/自定义)
- 借鉴 Twenty CRM(52,256 stars)的字段类型化(enum/decimal/datetime/composite)
- 借鉴 1688 客户运营(837 stars)的 AI 客群聚合 + 跟进建议生成
- 保留 v0.1 的 5 层 25 项业务维度(基础/需求/痛点/偏好/分层)
定位
| 对比项 | 通用工具(CRM/Excel) | HLZD-客户画像 v0.2 |
|---|---|---|
| 字段模型 | flat 字段表 | 4 层分类(核心/基础/行为/自定义,借鉴 Tracardi) |
| 字段类型 | 字符串混杂 | 类型化(enum/decimal/datetime/composite,借鉴 Twenty) |
| 客户分群 | 人工分类 | AI 自动客群聚合(借鉴 1688) |
| 跟进建议 | 经验主义 | AI 跟进建议生成(借鉴 1688) |
| 多维度评分 | 单一分数 | 7 维度加权评分(v0.1) |
| 跨 skill 共享 | 各 skill 自定义 | 统一 schema + SQLite(v0.1) |
核心原则:客户画像不是"数据库表",是"业务员和 AI 协同决策的事实源"。
数据源借鉴(GitHub 调研)
| 借鉴项目 | Stars | 借鉴内容 |
|---|---|---|
| Tracardi/tracardi | 646 | 4 层字段分类(核心/基础/行为/自定义)+ PII 哈希 |
| Twenty/twentyhq | 52,256 | 字段类型化(Address/Email/Phone/FullName/Currency) |
| 1688-customer-opportunity | 837 | AI 客群分类 + 跟进建议 + 客户机会监控 |
| PostHog/posthog | 35,350 | 单一栈整合 + Feature Flag |
| Frappe/crm | 2,924 | 完整业务实体设计 |
| Monica | 24,837 | 简单关系模型 |
v0.2 核心架构 — 4 层字段模型(借鉴 Tracardi)
字段分类总览
┌─────────────────────────────────────────────────────────────┐
│ Layer 0: 核心标识 (Core Identity) │
│ - customer_id (主键) │
│ - ids (多 ID 合并列表) │
│ - metadata (created_at / updated_at / confidence) │
├─────────────────────────────────────────────────────────────┤
│ Layer 1: 基础档案 (Basic Profile) │
│ - 公司信息 / 联系人 / 工商信息 │
│ - 借鉴 Tracardi 的 `data` 字段 │
├─────────────────────────────────────────────────────────────┤
│ Layer 2: 行为画像 (Behavioral) │
│ - stats: 订单/询盘/响应次数 │
│ - interests: 兴趣度评分 │
│ - preferences: 偏好 │
│ - pain_points: 痛点 │
│ - 借鉴 Tracardi 的 `stats/interests/consents` │
├─────────────────────────────────────────────────────────────┤
│ Layer 3: 业务自定义 (Custom) │
│ - tier: 分层评级 │
│ - traits: HLZD 自定义属性 │
│ - tags: 多维度标签 │
│ - aux: 辅助数据(授权状态) │
│ - 借鉴 Tracardi 的 `traits/aux/trash` │
└─────────────────────────────────────────────────────────────┘
完整 schema v0.2(借鉴 Tracardi + Twenty)
# ~/.claude/skills/hlzd-customer-persona/config/schema.yaml
# 客户画像标准 schema —— 所有 skill 都按这个读
customer_persona_schema_v2:
# ===== Layer 0: 核心标识 (借鉴 Tracardi ids/metadata) =====
customer_id:
type: uuid
primary_key: true
description: "客户唯一标识"
ids:
type: list[string]
description: "多 ID 合并列表(邮箱哈希/电话哈希/工商注册号/海关编码)"
created_at:
type: datetime
updated_at:
type: datetime
updated_by:
type: enum[string]
options: ["业务员手动", "AI 自动推断", "客户主动更新"]
default: "AI 自动推断"
confidence:
type: float
range: [0.0, 1.0]
description: "画像可信度(初始低,每次互动 +0.05,最高 0.95,业务员确认 = 1.0)"
# ===== Layer 1: 基础档案 (借鉴 Tracardi data) =====
basic:
company_name_cn:
type: string
description: "公司中文名"
company_name_en:
type: string
description: "公司英文名"
country:
type: enum[string]
source: "ISO 3166"
description: "国家代码(影响银行风险评级)"
industry:
type: enum[string]
options: ["机械", "设备", "建材", "化工", "电子", "汽车", "纺织", "其他"]
annual_revenue_usd:
type: decimal
description: "年营收(美元)"
contact_persons:
type: list[contact]
structure:
name: string
title: enum[string] # 决策人/影响人/使用人/财务
email: email
phone: phone
whatsapp: phone
preferred_contact_method: enum[string]
# ===== Layer 2: 行为画像 (借鉴 Tracardi stats/interests) =====
# 2.1 stats(借鉴 Tracardi stats)
stats:
order_count: int
inquiry_count: int
email_count: int
im_count: int
phone_count: int
avg_response_time_hours: decimal
payment_on_time_rate: float # 0-1
last_contact_date: datetime
last_order_date: datetime
# 2.2 interests(借鉴 Tracardi interests,命名兴趣度评分)
interests:
type: dict[string, float] # 产品类别 → 兴趣度 0-1
example:
"石油套管": 0.85
"阀门": 0.30
"建材": 0.10
# 2.3 preferences(v0.1 保留)
preferences:
communication:
channel: enum[string] # 邮件/微信/WhatsApp/电话
time: enum[string] # 北京时间/客户当地时间
language: enum[string] # 中/英/俄/阿/西
response_speed_hours: int
decision:
chain_length: enum[int] # 1 人 / 3-5 人 / 委员会
speed: enum[string] # 快/慢/极慢
quote_format:
format: enum[string] # PDF/Excel/微信截图/视频会议
detail_level: enum[string] # 只报最低/多档对比/详细拆解
validity_days: int
cultural:
holidays: list[string]
communication_style: enum[string] # 直接/委婉/数据驱动/关系导向
taboos: list[string]
# 2.4 pain_points(v0.1 保留)
pain_points:
business_pain: list[string]
relationship_pain: list[string]
decision_maker_kpi: string
# ===== Layer 3: 业务自定义 (借鉴 Tracardi traits/aux/tags) =====
# 3.1 tier(v0.1 保留)
tier:
grade:
type: enum[string]
options: ["VIP", "A", "B", "C", "BLACKLIST"]
score:
type: int
range: [0, 100]
description: "7 维度加权评分"
tags: list[string] # 多维度标签
# 3.2 traits(借鉴 Tracardi traits - 开放键值对)
traits:
type: dict[string, any]
description: "HLZD 自由扩展字段(如行业 KPI/特殊要求)"
# 3.3 aux(借鉴 Tracardi aux - 辅助数据)
aux:
type: dict[string, any]
description: "授权状态/系统元数据"
# ===== 借鉴 Twenty 的字段类型化 =====
field_types:
email: r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
phone: r"^\+?[0-9\s\-\(\)]{7,20}$"
uuid: r"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
decimal: r"^-?\d+(\.\d+)?$"
datetime: r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})?$"
v0.2 新增 — AI 跟进建议生成(借鉴 1688 客户运营)
scripts/generate_followup_advice.py
"""
借鉴 1688-customer-opportunity 项目的"买家成交机会"功能
输入: 客户画像
输出: 3-5 条跟进建议
"""
from customer_persona import Persona
def generate_followup_advice(customer_id: str) -> list[dict]:
persona = load_persona(customer_id)
advice_list = []
# 1. 联系时机建议
last_contact = persona.stats.last_contact_date
days_since = (now() - last_contact).days
if days_since > 7:
advice_list.append({
"type": "TIMING",
"priority": "HIGH",
"advice": f"客户上次联系是 {days_since} 天前,建议 24h 内主动联系",
})
# 2. 报价档位建议(基于客户等级)
quote_tier_map = {
"VIP": "最高档 + 特别折扣",
"A": "标准档 + 阶梯折扣",
"B": "标准档",
"C": "基础档",
}
advice_list.append({
"type": "QUOTE_TIER",
"priority": "HIGH",
"advice": f"客户等级 {persona.tier.grade},建议报价档位: {quote_tier_map[persona.tier.grade]}",
})
# 3. 沟通风格建议(基于偏好)
advice_list.append({
"type": "COMMUNICATION",
"priority": "MEDIUM",
"advice": f"客户偏好 {persona.preferences.communication.channel} + "
f"{persona.preferences.communication.language},"
f"按此风格起草沟通内容",
})
# 4. 报价单格式建议
advice_list.append({
"type": "QUOTE_FORMAT",
"priority": "MEDIUM",
"advice": f"客户偏好 {persona.preferences.quote_format.format} + "
f"{persona.preferences.quote_format.detail_level} 详细度",
})
# 5. 文化敏感建议
if persona.preferences.cultural.holidays:
advice_list.append({
"type": "CULTURAL",
"priority": "LOW",
"advice": f"避免在客户节日 {persona.preferences.cultural.holidays} 提涨价",
})
return advice_list
v0.2 新增 — AI 客群聚合(借鉴 1688 客群列表)
scripts/aggregate_segments.py
"""
借鉴 1688-customer-opportunity 项目的"AI 客群列表"功能
输入: 所有客户画像
输出: 按维度聚合的客户群体洞察
"""
from collections import defaultdict
from customer_persona import list_all_personas
def aggregate_segments() -> dict:
"""按国家/行业/客户等级聚合客户"""
personas = list_all_personas()
segments = defaultdict(lambda: {
"count": 0,
"common_traits": [],
"common_pain_points": [],
"common_preferences": [],
"avg_order_amount_usd": 0,
"conversion_rate": 0,
"total_orders": 0,
})
for p in personas:
# 按国家聚合
country = p.basic.country
segments[country]["count"] += 1
# ... 累计各项指标
# 计算群体洞察
for seg_key, seg in segments.items():
seg["common_traits"] = find_common(seg["members"], field="traits")
seg["common_pain_points"] = find_common(seg["members"], field="pain_points")
seg["common_preferences"] = find_common(seg["members"], field="preferences")
return dict(segments)
客群聚合示例输出
# 飞书卡片展示
中东客户群体:
客户数: 23
共性特征:
- 普遍要 DAP 报价
- 偏好 30% TT + 70% LC at sight
- 节日: 开斋节(Ramadan 后 1 周)
- 忌讳: 政治话题
平均订单金额: 45000 USD
成交率: 68%
建议话术: "强调 INCOTERMS DAP 和发货前 SGS 检验"
俄罗斯客户群体:
客户数: 8
共性特征:
- 因制裁偏好中欧班列运输
- 偏好 EXW 报价(避免俄罗斯清关风险)
- 关注银行制裁风险
平均订单金额: 32000 USD
成交率: 45% (制裁导致拒付率高)
建议话术: "提示客户走欧洲银行保兑"
评级算法 v0.2(保留 v0.1)
def calculate_score_v2(persona) -> int:
"""v0.2 评级算法(保留 v0.1 7 维度加权)"""
score = 0
# 购买力(30 分)
annual_order = persona.basic.annual_revenue_usd
if annual_order > 1_000_000: score += 30
elif annual_order > 300_000: score += 22
elif annual_order > 100_000: score += 15
elif annual_order > 30_000: score += 8
else: score += 3
# 合作年限(10 分)
years = (now() - persona.basic.first_contact_date).days / 365
score += min(int(years * 2), 10)
# 付款准时率(15 分)
score += int(persona.stats.payment_on_time_rate * 15)
# 沟通响应(10 分)
response_hours = persona.stats.avg_response_time_hours
if response_hours < 24: score += 10
elif response_hours < 72: score += 6
else: score += 3
# 增长趋势(15 分)
growth = persona.aux.get("growth_trend", 0)
if growth >= 0.5: score += 15
elif growth >= 0: score += 8
else: score += 2
# 信用记录(10 分)
if persona.tier.tags and "信用良好" in persona.tier.tags:
score += 10
elif persona.tier.tags and "信用一般" in persona.tier.tags:
score += 5
# 推荐价值(10 分)
referral_count = persona.aux.get("referral_count", 0)
score += min(referral_count * 2, 10)
return min(score, 100)
scripts/ 设计 v0.2
scripts/
├── schema.py # schema 定义(借鉴 Tracardi 4 层)
├── database.py # SQLite + 统一 schema
├── crud_persona.py # 增删改查
├── grade_customer.py # 7 维度加权评分(保留 v0.1)
├── generate_followup_advice.py # ⭐ v0.2 新增: AI 跟进建议(借鉴 1688)
├── aggregate_segments.py # ⭐ v0.2 新增: AI 客群聚合(借鉴 1688)
├── cross_validate_quote.py # 关联 HLZD-智能报价
├── cross_validate_inquiry.py # 关联 HLZD-询盘响应
├── cross_validate_shipment.py # 关联 HLZD-物流装箱
├── cross_validate_lc.py # 关联 HLZD-信用证审单
├── search_history.py # 客户历史搜索
└── orchestrator.py # 主调度
references/ 设计 v0.2
references/
├── schema_specification.md # 完整 schema 规范(借鉴 Tracardi)
├── field_types.md # 字段类型定义(借鉴 Twenty)
├── followup_advice_playbook.md # 跟进建议规则库(借鉴 1688)
├── segment_patterns.md # 客群聚合模式(借鉴 1688)
├── tier_definitions.md # 分层评级标准
├── cultural_calendar.md # 文化日历(俄罗斯/中东/拉美节日)
├── banned_countries.md # 制裁名单
└── examples/
├── case_vip_customer.md # VIP 客户画像完整样例
├── case_segment_middle_east.md # 中东客户群体洞察样例
├── case_followup_advice.md # 跟进建议样例
└── case_cross_skill_query.md # 跨 skill 查询样例
错误地图
更多细节
完整设计文档(v0.1.x 实现细节 + 错误地图 + 性能目标)见 references/deep-dive.md。