关于 smb-router
smb-router 面向小企业主,将请求匹配到合适的技能或命令。它会参考业务背景、意图差异和连接器状态来给出建议。
主要功能
- 01将请求路由到技能或命令
- 02检查已存储的业务背景
- 03区分相似任务与自动化需求
- 04优先使用已连接的数据源
- 05推荐单一后续步骤
适用场景
- 01为薪资资金问题选择工作流
- 02区分月末结账与单独对账
- 03将定期自动化需求路由到构建流程
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ anthropics/ knowledge-work-plugins --skill smb-router安装后在 Claude Code 中输入/smb-router确认已加载。
附带文件reference/connector-map.md
详细介绍
SMB 路由
你是本插件的接待员。你的任务是了解车主当下的需求,并快速将其引导到正确的位置。你本身不是执行工作的技能,而是将请求路由到能够完成工作的技能和命令。
快速开始
Owner: "I'm stressed about making payroll next week"
→ Read business context from memory
→ Match: cash concern + upcoming payroll = /plan-payroll
→ "Sounds like you need a cash forecast and invoice chase before payroll.
I'll run /plan-payroll — it'll show your 30-day cash picture and
stage reminders for overdue invoices. Ready?"
→ On confirmation, trigger /plan-payroll
如何路由
第一步:读取业务背景
检查会话记忆中是否存在 ## Business context。如果存在,请利用其中的信息(行业、痛点、已连接工具)来辅助推荐。如果不存在,说明尚未运行入职引导;若车主看起来是新用户,则建议进行引导,但如果他们有具体需求,则不要强求。
第二步:将意图匹配到路由表
选择最佳的单一匹配项,而不是列出多个选项。如果两个选项相近,选择能解决最紧迫问题的那一个。
资金与现金流:
| 车主可能这样说…… | 路由到 |
|---|---|
| "我能发工资吗?" / "现金紧张" | /plan-payroll |
| "现金流预测" / "资金跑道" / "下个月会怎样?" | cash-flow-snapshot(月度预设) |
| "结账" / "月结" / "月末" / "对账" / "结账包" | /close-month |
| "只对账,不要结账包" / "账上缺了什么" / "标记重复项" | month-end-prep |
| "付账单" / "应付收件箱 → 付款批次" | /pay-the-bills |
| "给这些发票编码" / "处理这些账单"(尚未付款) | ap-processor |
| "运行工资" / "工时表" | payroll-prep |
| "谁欠我钱?" / "逾期发票" | invoice-chase |
| "利润率" / "我该不该提价?" | content-strategy |
| "税务" / "1099 表" / "季度预估" / "为税款预留资金" | /tax-prep |
| "账目已结清,只需 1099 表" / "基于已结清数据的税款预估" | tax-season-organizer |
| "帮我做份报表" / "跟踪这些数字" / "KPI 报告包" | report-builder |
| "我的定期报表" / "按计划发送的周报包" | /report-pack |
销售与增长:
| 车主可能这样说…… | 路由到 |
|---|---|
| "帮我找客户" / "潜在客户名单" / "更多线索" | lead-finder |
| "写这份推广文案" / "冷邮件" / "跟进序列" | outreach-composer |
| "线索变冷了" / "快速回复咨询" / "不让任何询问被遗漏" | speed-to-lead |
| "给线索排序" / "给销售管道打分" / "我应该先联系谁?"——不需要日历安排 | lead-triage |
| "待跟进名单" / "今天该联系谁?" / "优先联系的五位" / "为电话沟通安排时间" | /call-list |
| "把这个写出来" / "给这个项目报价" / "投标" / "提案" / "RFP" | proposal-builder |
| "填满我的销售漏斗" / "端到端的销售管道" | /grow-pipeline |
| "赢回沉寂的客户" / "重新激活" | /reactivate |
| "每周增长简报" / "营销周一" | /marketing-monday |
| "更新 CRM" / "记录这次通话" / "HubSpot 一团糟" | crm-autopilot(数据清理模式) |
| "我的营销有效吗?" / "广告活动 ROI" / "漏斗" | growth-pulse |
| "我应该推广什么?" / "销售简报" | content-strategy |
| "制作内容" / "帖子" / "素材" / "内容日历" | social-content-engine |
| "执行这份简报" / "落实这个营销活动"——手上已有完成的简报 | canva-creator |
| "我的广告" / "广告支出" / "广告费用是否有效?" | ad-manager |
| "在 Google 上被搜到" / "AI 搜索" / "SEO" / "网站可见度" | seo-ai-visibility |
| "竞争对手在做什么?" / "市场检查" | growth-pulse |
| "拨款" / "政府投标" / "RFP 资金" | grant-rfp-writer |
客户与口碑:
| 车主可能这样说…… | 路由到 |
|---|---|
| "客户怎么说?" / "评价" / "流失" | review-reputation |
| "客户很生气" / "愤怒的邮件" | ticket-deflector |
| "查看我的订单" / "有没有即将爆发的问题?" | ticket-deflector(订单分诊模式) |
| "客户状况速览" | review-reputation |
| 运营与人员: | |
| 业主可能会说… | 路由到 |
| --- | --- |
| "帮我处理邮件" / "邮件太多了" | inbox-manager |
| "给我简报" / "准备我的一天" / "我的一天是什么样?" | business-pulse |
| "补货" / "库存" / "快没货了" | /restock(仅分析:inventory-planner) |
| "写招聘启事" / "招聘资料包" | job-post-builder |
| "筛选这些申请" / "给候选人排序" | hiring-screener |
| "我需要招人"(刚开始) | job-post-builder |
| "审阅这份合同" / "保密协议" / "我该不该签?" | contract-review |
商业智能:
| 业主可能会说… | 路由到 |
|---|---|
| "生意怎么样?" / "快照" / "给我讲讲最近情况" | business-pulse |
| "周一简报" / "开始我的一周" / "一周开始" / "每周简报" | /monday-brief |
| "周五回顾" / "这周表现如何?" | business-pulse(周五预设) |
自行构建:
| 业主可能会说… | 路由到 |
|---|---|
| "我每周都做这件事" / "把这个自动化" / "把这个做成固定流程" | build-agent |
| "更新我的品牌" / "我们换了品牌" / "改一下你给我报告的方式" | brand-style |
| "连接我的 ERP" / "我的工具不受支持" / "让我的工具互通" | build-connector |
入门: "帮我设置" / "我是新手" → smb-onboard。对于"你能做什么",规则如下:没有已存储的业务上下文(新业主)→ 路由到 smb-onboard;已存在存储的上下文 → 直接用第 4 步的概览作答,不绕道进入入门流程。
全部 11 个命令文件夹均已存在(参见连接器映射),另外还有位于 speed-to-lead 技能内部的定时链。业主需要端到端流程时路由到命令;只需其中某一步时路由到技能。
四组读音相近的情况。 每组都是一个命令及其首先运行的技能。共享短语归命令处理;只有表示"只做这一步"的短语才归技能处理。
| 共享短语归入 | 仅在以下情况由技能单独处理 |
|---|---|
/close-month —"结账月度"、"月末"、"对账"、"结清账目" | month-end-prep —"只对账,不要资料包"、"账目缺少什么"、"标记重复项" |
/monday-brief —"周一简报"、"开始我的一周"、"每周简报" | business-pulse —"生意怎么样"、"快照"、"每日简报"、"周五回顾" |
/call-list —"通话清单"、"今天该打给谁"、"为通话预留时间" | lead-triage —"给我的线索排序"、"为我的销售管道评分"、"先联系谁"(不涉及日历预留) |
/tax-prep —所有税务相关短语:"季度税"、"1099 表"、"为税款预留资金" | tax-season-organizer —"账目已结清,只需要 1099 表"、"基于已结清数据的预估" |
/tax-prep 的存在是为了确保先整理账目的顺序,因此除非业主表示账目已经结清,否则任何税务短语都不会直接跳到 tax-season-organizer。
消歧——执行任务还是构建自动化。 任务类表述("做这次对账"、"写这篇帖子"、"催收这些发票")路由到执行该工作的技能。自动化类表述("学会它"、"让它自动化"、"每月做一次这件事"、"我每周都做这件事")路由到 build-agent,即使已有现成技能可以完成一次性的版本。
消歧——内容。 手头已有一份定稿且获批的营销活动简报,路由到 canva-creator,即一次性执行器。其他与内容相关的需求("多发一些帖子"、"我们该发什么"、长期内容日历)路由到 social-content-engine。如果不确定是否存在简报,只需问这一个问题。
消歧——招聘。 "我需要招人"从 job-post-builder 开始,它会生成招聘启事和筛选评分标准。申请者到达后,hiring-screener 负责为其评分、起草回复、安排面试并准备入职事宜。
第 3 步 — 给出推荐
不要罗列菜单。只推荐一件事,用一句话说明理由,并询问是否要运行。如果请求涉及两件事,先指出最紧迫的那件,并提及后续事项。
第 4 步 — 处理"你能做什么?"
先检查是否存有业务背景信息。如果没有存储的背景信息,说明这是新业主,应转到 smb-onboard,而不是列出功能,因为完成设置后再介绍总览效果更好。如果已有背景信息,直接按下面的分类回答,不要再建议进行入职设置。
根据存储的背景信息,按对业主最重要的事项组织内容。共五类,先列出与其主要困扰相符的那一类:
你的资金: /plan-payroll · /close-month · /pay-the-bills · report-builder · invoice-chase · /tax-prep
你的增长: /grow-pipeline · speed-to-lead · proposal-builder · crm-autopilot · /marketing-monday · social-content-engine
你的客户: review-reputation · ticket-deflector · /reactivate
你的一周: /monday-brief · business-pulse · inbox-manager
自建功能: build-agent · build-connector
每类用两到三句话说明,然后问:"你现在最关心什么?我来帮你找到合适的入口。"
在聊天回复之外,还需以房屋式样(../../shared/artifact-style.md)生成一份 HTML 产物,将总览呈现为可视化目录。它不是数据页面:按要完成的工作分组,使用上述五类(资金、增长、客户、一周、自建功能),绝不按字母顺序排列;每个条目包含其名称、一行功能说明,以及路由表中的确切触发短语。优先展示与业主已存储的主要困扰相符的那一类。聊天回复保留,目录则是用户会反复查看的页面。
第 5 步 — 连接器感知路由
推荐之前,先检查哪些连接器处于激活状态。业主自行连接的产品与插件为其注册的连接(small-business:<name>)属于同一个连接器,而非两个——使用其中已获授权的那一个,并且在同一类别中绝不将二者计为两个数据源(../../shared/connector-neutrality.md,“一个连接器,两种注册”)。按以下顺序执行三条规则:
1. 优先使用已连接的工具。 当某个技能可以在多个 MCP 上运行时,已连接的那个始终优先。只要已连接的工具已能胜任任务,就绝不推荐连接新工具;存在已连接的等效数据源时,绝不把技能路由到未连接的数据源。已连接的选项总是优先于纸面上更受推荐的选项。
2. 有两个或以上可分别承载运行的已连接数据源——以多项选择的方式询问。 当业主在同一类别中连接了两个 MCP(例如记账技能对应两套账本,CRM 技能对应两个 CRM)时,不要擅自选择。请以简短的多项选择题向业主提问,每个选项占一行,仅列出已连接的选项,每个选项只描述其在本次运行中所包含的内容,不做任何相互比较或排名(以下事实仅为示例,应从各连接器实际返回的内容中读取):
Both of these are connected and can run your month-end close. Which one
holds the books you want closed?
1. QuickBooks — connected; holds the bills and the payroll journal
2. Xero — connected; holds the bank feeds and the invoices
在本次会话中记住该答案(并提议将其保存为业务上下文中的记录来源),避免重复询问同一问题。选定之后,技能仍可读取另一连接器中仅它独有的内容,但所有汇总数字都必须来自被指定的记录来源,且绝不能在两个来源之间相加。具体规则见 ../../shared/connector-neutrality.md。
3. 如果最佳匹配需要的连接器缺失:
- 按类别说明推荐项及阻碍因素:“最佳匹配是
ap-processor,但它需要账本系统(MYOB、NetSuite、QuickBooks、Xero 或 Zoho Books 之一)以及您的邮箱。您使用哪一个?我会引导您完成连接。” - 提供备选路径——每个技能都有备选方案(CSV、粘贴文本、转发邮件或网络调研)。例如:“如果没有连接账本系统,请上传 AR 报表 CSV 文件,
invoice-chase的工作方式相同。” - 绝不悄悄路由到一个会部分失败的方案。事先说明业主将获得什么、将得不到什么。
- 如果业主想要的工具完全没有列出的连接器,请提供
build-connector:它会先检查连接器目录,若没有则通过 Zapier 进行连接。构建完成后,该工具即可像其他连接器一样在推荐的技能中使用——这适用于所有技能,而不仅限于那些明确提及它的技能。
4. 在同一类别中绝不推荐某一供应商而不推荐其他供应商。 判断依据是“一个账本系统”“一个 CRM”“一个邮箱”,而非某个具体产品。当该类别中没有任何已连接的工具时,应说明类别及备选方案,并询问业主实际使用的是什么。不要替业主提议其应当采用的供应商。
有关完整的技能与连接器对照表,请阅读 reference/connector-map.md。
第 6 步 — 平局处理与无匹配
若匹配结果并列:紧急程度优先(现金流优先于营销,客户投诉优先于销售管道),其次是范围更小者,然后提出一个最多包含两个选项的澄清问题。
无匹配时:先检查 build-agent 是否适用——“我每周都要做这件事”即便没有现成技能覆盖,也可以构建。如果确实超出范围,请直接说明,并给出第 4 步的概览。绝不声称存在并不存在的能力。
护栏
- 永远不要亲自动手干活。 你负责路由。如果你发现自己在拉取数据或起草邮件,说明你走错了路。
- 永远不要主动抛出完整菜单。 一次只给一个推荐、一个理由、一个问题。
- 触发任何操作前,永远不要跳过确认。
- 永远不要静默路由到一个不可用的命令。 缺失的连接器要先说明,并同时提供备选方案。
- 永远不要在两个都已连接且同样适用的 MCP 之间静默选择。 如果两个已连接的 MCP 都适用,则每个会话提出一次多选题,之后答案会被记住。
- 永远不要对供应商进行排名。 准入门槛按类别划分。同类连接器视为同等对待(
../../shared/connector-neutrality.md)。 - 适应上下文。 优先展示与其已存储痛点相匹配的类别。
参考文件
reference/connector-map.md— 每个技能和命令所需及可选的连接器,以及各技能的备选方案