mcpField
C
crm-builder

crm-builder

github.com/customware-ai开发21.4k 次安装1 天前更新
代码仓库

关于 crm-builder

crm-builder 是指导构建 CRM 原型的技能,面向管理联系人、公司、交易及其关系的业务。它依据 DOMAIN.md 定义实体和工作流,并采用实体导航而非顺序步骤导航。

主要功能

  1. 01围绕联系人、公司和交易组织 CRM
  2. 02提供 Pipeline、Activities 等五类视图
  3. 03依据 DOMAIN.md 配置字段与阶段
  4. 04支持实体列表、详情及关联记录
  5. 05包含角色切换与活动归属规则

适用场景

  1. 01为销售团队制作交易 Pipeline 原型
  2. 02管理联系人、公司及其关联交易
  3. 03跟踪客户互动和后续活动

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/customware-ai/skills --skill crm-builder

安装后在 Claude Code 中输入/crm-builder确认已加载。

详细介绍

CRM 构建器技能

此技能的作用

此技能定义了如何构建 CRM 工具——一种用于管理联系人、公司、交易及其相互关系的系统。

CRM 在结构上与 CPQ 和 Trades 构建器不同:

  • CPQ / Trades = 一条记录依次经过各个阶段(步进导航)
  • CRM = 多种实体类型彼此关联(实体导航)

左侧边栏使用导航器模式(联系人、公司、交易、销售管道、活动),而非步进器。用户在不同实体视图之间切换,而不是依次经过各个阶段。

常见垂直领域: 销售团队、咨询公司、代理机构、专业服务、房地产、招聘、B2B 服务,以及任何需要跟踪关系和交易的企业。

构建器会读取此技能,读取 DOMAIN.md 中关于特定业务术语和销售管道阶段的内容,并使用客户实际的实体、字段和工作流生成可运行的原型。

何时使用此技能

当对话记录或 DOMAIN.md 中包含以下信号时,使用此技能:

信号示例
联系人/人员跟踪“客户数据到处都是”、“找不到之前联系过的人”、“联系人信息在电子表格里”
销售管道“交易”、“商机”、“销售管道”、“阶段”、“赢单/输单”
后续跟进跟踪“后续跟进总是被遗漏”、“没人知道上次是谁打的电话”
关系管理“转介绍”、“谁认识谁”、“客户管理”
线索管理“来自网站的线索”、“主动咨询”、“线索来源跟踪”

请勿在以下情况下使用此技能:

  • 带定价的产品配置 → 使用 cpq-builder
  • 建筑/工种项目跟踪 → 使用 trades-builder
  • 库存和存货管理 → 使用 erp-builder(未来推出)

模板约定

开始构建之前,请了解模板提供的内容,以及此技能要补充的内容。约定如下:

模板(app/layouts/MainLayout.tsx)自带:

  • SidebarProvider、Sidebar、SidebarContent、SidebarInset、SidebarTrigger — 已完成连接
  • SidebarContent 为空 — 这是你的填充区域
  • 页眉中有一个品牌栏位(徽标占位符 + 公司名称)
  • 页眉右侧区域有 ModeToggle 和用户菜单

此技能补充以下内容:

  • SidebarContent — 添加实体导航(销售管道、联系人、公司、交易、活动)、快捷筛选器和最近记录(见下文的布局模式)
  • 页眉中的品牌栏位 — 使用 DOMAIN.md 中客户的徽标和公司名称
  • 页眉右侧区域 — 在现有用户菜单前添加角色切换器 DropdownMenu,如果空间允许,再添加全局搜索输入框
  • <main> 中的 <Outlet /> — 通过各实体视图的路由组件实现(默认显示销售管道)

此技能不会:

  • 添加第二个 Sidebar 组件。这里只有一个侧边栏。
  • 在 SidebarContent 中放置品牌块。品牌仅位于页眉中。
  • 重新连接 SidebarProvider 或替换可折叠行为。使用现有配置。
  • 构建步进器。CRM 使用实体导航——并行视图,而非依次经过各个阶段。
  • 默认将详情视图折叠为弹出层或模态框。列表/详情采用整页模式(列表视图 → 点击 → 在主内容区域显示详情视图)。

如果你发现自己想要重构 MainLayout.tsx,请停下来——答案几乎总是填充 SidebarContent。


区块定义

CRM 工具有五个区块。与 CPQ/trades-builder 不同,这些区块不是依次经过的阶段,而是并行的实体视图。用户可以在它们之间自由切换。

第 1 节:销售管道

功能: 以可视化看板展示交易在各个阶段的推进情况。

显示内容:

  • 看板式列布局,每个销售管道阶段对应一列,阶段取自 DOMAIN.md
  • 如果 DOMAIN.md 未定义阶段,则使用:潜在客户 → 合格客户 → 提案 → 谈判 → 赢单 / 输单
  • 每笔交易显示:交易名称、公司、金额、负责人、处于该阶段的天数
  • 可在列之间拖放交易(或点击以变更阶段)
  • 每列上都有“添加交易”按钮
  • 按负责人、日期范围或交易金额筛选

如果 DOMAIN.md 中没有销售管道阶段,则使用上述默认阶段。客户在查看原型后可以进一步调整。

第 2 节:联系人

功能: 以列表/详情视图展示人员。

列表视图:

  • 联系人表格或精简列表
  • 列:姓名、邮箱、电话、公司、最近活动、标签
  • 搜索和筛选
  • “添加联系人”按钮

详情视图(点击联系人后):

  • 联系人详情:姓名、邮箱、电话、公司(可点击链接)、角色/职位、来源、备注
  • 下方显示活动时间线:电话、邮件、会议、备注——按最近时间优先排列
  • 关联交易:与此联系人关联的交易列表
  • “记录活动”按钮:快速添加电话、邮件、会议或备注,并填写日期和描述

DOMAIN.md 中的字段:

  • 实体注册表 → Contact 实体字段作为联系人详情字段
  • 术语表 → 使用准确的字段名称和标签
  • 如果 DOMAIN.md 未定义联系人字段,则使用:姓名、邮箱、电话、公司、角色、来源、备注
第 3 节:公司

功能: 以列表/详情视图展示组织。

列表视图:

  • 公司表格
  • 列:公司名称、行业、联系人数、交易数、交易总金额
  • 搜索和筛选
  • “添加公司”按钮

详情视图(点击公司后):

  • 公司详情:名称、行业、规模、网站、地址、备注
  • 联系人标签页:与此公司关联的人员列表
  • 交易标签页:与此公司关联的交易列表
  • 活动时间线:汇总此公司所有联系人的活动

DOMAIN.md 中的字段:

  • 实体注册表 → Company/Account 实体字段
  • 如果未定义,则使用:名称、行业、规模、网站、地址、备注
第 4 节:交易

功能: 以列表/详情视图展示交易/商机。

列表视图:

  • 交易表格
  • 列:交易名称、公司、联系人、金额、阶段(徽标)、预计成交日期、负责人
  • 按金额、阶段、预计成交日期排序
  • 按阶段、负责人筛选
  • “添加交易”按钮

详情视图(点击交易后):

  • 交易详情:名称、金额、阶段(可选择的下拉菜单)、预计成交日期、成交概率、负责人
  • 关联联系人和公司(可点击链接)
  • 此交易专属的活动时间线
  • 备注区
  • 处于最终阶段时显示“标记为赢单”/“标记为输单”操作按钮

阶段推进:

  • 交易阶段是一个 Select 下拉菜单,选项取自 DOMAIN.md 中的销售管道阶段
  • 更改阶段后,销售管道看板视图会自动更新
  • 赢单/输单是终止阶段——选中时显示赢单/输单原因字段
第 5 节:活动

功能: 按时间顺序展示 CRM 中的所有活动。

显示内容:

  • 时间线/动态视图,按最近时间优先排列
  • 每项活动显示:类型图标(电话/邮件/会议/备注)、描述、关联联系人、关联交易、日期、记录人
  • 按活动类型、日期范围、人员筛选
  • 顶部显示“记录活动”按钮

活动类型: 电话、邮件、会议、备注、任务。使用图标加以区分。

  • 如果 DOMAIN.md 定义了其他活动类型,则使用那些类型。

布局模式

CRM 工具默认采用双栏布局(左侧边栏 + 主内容区)。查看记录详情时,会根据需要显示右侧边栏。

这不是分步布局。 左侧边栏用于实体导航,而非按顺序展示阶段。

左侧边栏(始终可见,可折叠)

模板中已配置好 SidebarProvider、Sidebar、SidebarContent 和 SidebarTrigger,位于 app/layouts/MainLayout.tsx。SidebarContent 为空 — 此技能会在其中填入实体导航。不要重新配置边栏,不要添加第二个 Sidebar 组件,也不要在其中放置品牌标识。品牌标识只放在页眉中(见上文的模板约定)。

边栏标题: 使用类似“CRM”或“企业名称 + CRM”的上下文标签 — 不要使用工作流描述。如果企业名称较短,“[Business] CRM”读起来很自然;如果名称较长,只用“CRM”即可。标题应描述导航的性质。

组件内容
实体导航SidebarContent 内的垂直导航列表,包含五个版块:Pipeline、Contacts、Companies、Deals、Activities。每个导航项显示:图标、标签和记录数量徽标。点击后跳转到相应实体的视图。这是导航器,不是步骤条 — 不要显示步骤编号、完成状态,也不要采用顺序流程。
快捷筛选器在导航下方显示用户创建的已保存筛选器或视图。例如:“我的商机”“热门潜在客户”“本周跟进”。
最近访问的记录在筛选器下方显示最近访问的 3–5 条记录(任意实体类型),方便快速导航。每条记录显示名称和实体类型徽标。将此版块固定在边栏靠近底部的位置,以便无需滚动即可查看。
主内容区(中间 — 随版块变化)

根据选中的导航项渲染当前版块。 同一时间仅显示一个版块。

{activeSection === "pipeline" && <PipelineView />}
{activeSection === "contacts" && <ContactsView />}
{activeSection === "companies" && <CompaniesView />}
{activeSection === "deals" && <DealsView />}
{activeSection === "activities" && <ActivitiesView />}

各版块中的列表/详情模式:

  • 默认视图:根据实体类型显示列表、表格或轻量看板。
  • 点击记录:进入详情视图,显示全宽版块、活动时间线和关联记录。
  • 使用“返回列表”按钮或面包屑导航返回。
  • 这是标准的 Salesforce/HubSpot 模式。
右侧边栏(上下文信息 — 在详情视图中显示)

查看记录详情(联系人、公司或商机)时,右侧边栏可以显示:

  • 快速摘要 — 一目了然地查看关键字段
  • 关联记录 — 相关联系人、商机或公司
  • 即将进行的活动 — 下一次安排的电话/会议

此边栏对原型而言是可选的。如果主内容区空间充足,详情视图也可以采用单面板布局。只有当记录详情受益于同时显示上下文信息时,才添加右侧边栏。

RBAC 行为
  • 使用 DOMAIN.md 中的 User Roles 或 Stakeholder Map 角色为 localStorage 填充初始数据。
  • 角色切换器是页眉栏中的单个 DropdownMenu 下拉菜单。
  • 按分配对象筛选:启用某个角色后,可选择将 Pipeline 和 Deal 视图筛选为仅显示分配给该用户的记录。
  • 活动归属:记录的活动应归属于当前启用的角色。
  • 与 CPQ 相比,CRM 通常较少设置严格的权限限制 — 大多数用户都能查看所有内容,但只能管理分配给自己的记录。
价格/价值显示
  • 在 Pipeline 项、Deal 列表和 Deal 详情中显示商机金额。
  • 在 Pipeline 视图顶部显示各阶段的商机总金额。
  • 使用 DOMAIN.md 中指定的货币。
  • 格式:“$25,000”或“$25,000 CAD”,具体取决于 DOMAIN.md。
shadcn/ui 组件映射

将卡片视为例外,而不是默认布局元素。尽可能将内容直接放入页面主体。只有在确实需要强调、分隔、重复呈现或用于对话框/详情框架时,才使用卡片。不要构建卡片繁多的仪表板、卡片中套卡片,或由悬浮面板组成的通用网格。

CRM 元素shadcn 组件用法说明
实体导航项垂直堆叠的 Button variant="ghost"放在 SidebarContent 中。活动项使用强调色背景。包含图标、标签和计数徽章。
管道列列分区;交易较多时使用 ScrollArea列标题显示阶段名称、交易数量和总金额。只有在项目需要明确分隔时才使用卡片。
交易项(管道中)紧凑的可点击行或低调的项目块交易名称、公司、金额、负责人头像。
联系人/公司列表Table可排序列,上方放置搜索输入框。
记录详情带 Separator 的全宽分区详情直接放在页面主体中。
活动时间线带图标的自定义列表每项包含:类型图标、描述、日期、关联记录。人物使用 Avatar。
阶段徽章Badge按阶段使用颜色:潜在客户=灰色、已确认=蓝色、提案=琥珀色、谈判中=紫色、已赢单=绿色、已输单=红色。
交易金额text-lg font-semibold在管道项目和详情视图中突出显示。
负责人下拉框Select使用 DOMAIN.md 中的利益相关者姓名填充。不能使用自由文本。
活动类型选择器Select 或 RadioGroup电话、电子邮件、会议、备注、任务。
搜索输入框带搜索图标的 Input放在每个列表视图的顶部。
操作按钮Button主要操作:“添加联系人”“记录活动”。破坏性操作:“删除”“标记为已输单”。
关联记录标签Badge variant="outline"可点击,可导航至关联记录。
快速添加表单Dialog 或内联表单使用模态框快速添加联系人/交易,无需离开当前视图。
空状态居中显示文本和操作的内联空状态块“暂无联系人。添加您的第一位联系人。”
确认对话框AlertDialog删除记录、将交易标记为已输单。
Toast 通知Sonner / toast()创建、更新、删除或记录活动后显示。

确定性映射规则

实体 → CRM 记录映射
DOMAIN.md 实体模式映射到所属分区
联系人/人员/潜在客户/客户联系人记录联系人
公司/账户/组织/企业公司记录公司
交易/商机/销售/潜在客户交易记录交易 + 管道
活动/电话/会议/电子邮件/备注活动条目活动 + 记录时间线
管道/阶段/状态管道阶段列管道
推荐/来源/潜在客户来源联系人或交易上的来源字段联系人/交易详情
关系映射
DOMAIN.md 关系实现方式
联系人隶属于公司联系人设有公司字段(Select 下拉框)。公司详情显示关联联系人。
交易关联联系人交易设有联系人字段(Select 下拉框)。联系人详情显示关联交易。
交易关联公司交易设有公司字段(从联系人的公司自动填充,可编辑)。
活动关联联系人/交易活动设有联系人和交易字段(Select 下拉框)。
业务规则 → 行为映射
DOMAIN.md 规则模式实现方式
“管道阶段:X、Y、Z”管道列使用这些确切名称
“只有[角色]可以关闭交易”在“标记为已赢单/已输单”按钮上实施 RBAC 限制
“在 X 天内跟进”对近期没有活动的联系人/交易显示逾期徽章
“金额超过 $X 的交易需要审批”在高金额交易上显示审批要求说明
“跟踪推荐来源”联系人设有来源字段,使用预定义的下拉选项
货币/税费/条款在交易金额和所有开票视图中显示
流水线阶段默认值

如果 DOMAIN.md 未定义流水线阶段,请使用以下默认值:

阶段颜色含义
潜在客户灰色尚未确认资格的新咨询
已确认蓝色已确认是真实商机
提案琥珀色已发送提案或报价
谈判中紫色正在讨论并敲定条款
已赢单绿色已签约并确认收入
已丢单红色交易未能达成

这些默认值可以被 DOMAIN.md 中的状态模型覆盖。

真实 CRM 的关键用户体验模式

这些模式参考了 Salesforce、HubSpot、Pipedrive 和 Freshsales。遵循这些模式,打造让 CRM 用户倍感熟悉的原型:

1. 所有内容彼此关联

联系人关联到公司。交易关联到联系人和公司。活动关联到联系人和交易。每个关联名称都可点击——点击后会跳转到对应记录的详情视图。

2. 活动时间线是核心

每条记录(联系人、公司、交易)都会显示活动时间线。最近的互动最为重要。“我们上次什么时候和这个人交谈?”应当一目了然。

3. 流水线是首页

流水线看板视图是默认的着陆页。销售团队日常都在这里工作。每个阶段的流水线总金额会显示在顶部。

4. 随处可快速添加

“记录通话”和“添加交易”应能从任何视图访问——通过悬浮操作按钮,或在页眉中始终显示“快速添加”。用户不必离开当前页面就能记录互动。

5. 搜索覆盖全局

使用一个搜索栏,按名称查找联系人、公司和交易。搜索结果按实体类型分组。

6. 空状态引导用户采取行动

当某个部分没有记录时,显示有帮助的空状态提示:“还没有交易。添加第一笔交易,开始跟踪流水线进展。”同时提供主要操作按钮。

参考文件

此技能要求存在以下文件:

文件用途
DOMAIN.md 或 .tasks/domain.md业务术语、实体、流水线阶段、角色和品牌数据

编写任何代码前,构建者都应先读取 DOMAIN.md 或 .tasks/domain.md。

评论

支持 Markdown