关于 service-concierge-portal-generate
用于在新建或现有的 LWR Experience Cloud 站点部署 Agentforce Concierge,并将现有活跃 Agent 接入门户;此技能不负责创建 Agent。
主要功能
- 01部署到 LWR Experience Cloud
- 02连接现有活跃 Agent
- 03配置门户品牌与组件
- 04设置访客访问及 CORS/CSP
- 05委托配置消息渠道与嵌入服务
适用场景
- 01部署面向客户的 Concierge 门户
- 02将现有 Agent 接入门户
- 03配置门户消息渠道和嵌入服务
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill service-concierge-portal-generate安装后在 Claude Code 中输入/service-concierge-portal-generate确认已加载。
附带文件references/portal-deploy-runbook.md
详细介绍
service-concierge-portal-generate:部署 Agentforce Concierge 门户
在 LWR Experience Cloud 站点上部署 Agentforce Concierge 体验——一个以 Agent 为先的着陆页,包含欢迎语、提示栏、建议选项和完整聊天界面。这是一项渠道设置技能:它会将现有 Agent 接入新的或现有的门户站点;不会创建 Agent。
此技能存在的原因
Concierge 门户设置是一项包含 20 个步骤的工作流,且对步骤顺序有严格要求(捆绑包结构、路由接线、访客访问标记、CORS/CSP 记录)。将其作为独立技能,既可以从 service-helpagent-coordinate(检查点 3 → Help Portal 分支)调用,也可以在用户已有 Agent、只需设置门户时直接调用。
技能清单预检(操作前必须完成)
在向用户提问之前,请先确认此技能委派的所有技能均已安装:
for skill in service-digital-engagement-channel-configure service-digital-engagement-deployment-configure service-agentforce-channel-configure; do
[ -d ".claude/skills/$skill" ] && echo "OK: $skill" || echo "MISSING: $skill"
done
如果有任何技能缺失,请立即停止,并告知用户缺失技能的准确目录名称。缺失技能安装完成前,不要继续操作。
必需输入
| 输入 | 获取方式 |
|---|---|
目标组织别名($ORG) | 如果当前对话轮次中未提供,通过 AskUserQuestion 询问 |
Agent($BOT_ID、$BOT_DEV_NAME) | 始终查询组织;绝不要根据先前上下文推断 |
MessagingChannel($MESSAGING_CHANNEL_DEV_NAME、$MESSAGING_CHANNEL_ID) | 可选——如果调用技能已创建,则传入;否则在运行手册步骤 E 中委派给 service-digital-engagement-channel-configure |
EmbeddedServiceConfig($ESC_ID、$ESC_DEV_NAME) | 可选——如果调用技能已创建,则传入;否则在运行手册步骤 F.3 中委派给 service-digital-engagement-deployment-configure |
如果未提供 MESSAGING_CHANNEL_DEV_NAME 和 ESC_ID,此技能会将创建工作委派给相应技能(请参阅运行手册 §E 和 §F.3)。门户站点本身——DEB 捆绑包、品牌设置、组件、访客访问权限、CORS/CSP——始终由此技能配置。
工作流
阅读 references/portal-deploy-runbook.md 并从头到尾按其操作。运行手册是权威的分步指南;此 SKILL.md 仅负责路由和提供上下文。
入口
-
询问组织别名:
AskUserQuestion: question: "Which org should I deploy the Concierge portal to?" header: "Org alias" options: - label: "Enter alias" description: "Type the org alias (e.g. help-portal-dev, trailsignup)" -
查询活动 Agent(激活状态位于
BotVersion.Status = 'Active',而非BotDefinition上——未筛选的SELECT ... FROM BotDefinition会返回已停用/非活动的 Bot,操作手册无法为其配置,因此请明确筛选活动的BotVersion):sf data query --target-org $ORG --json \ --query "SELECT Id, DeveloperName, MasterLabel FROM BotDefinition WHERE Id IN (SELECT BotDefinitionId FROM BotVersion WHERE Status='Active') ORDER BY MasterLabel"- 零行(没有 Bot,或只有非活动/已停用的 Bot——配置时两者都视为零)→ 在同一轮中立即停止。不要加载操作手册,不要委派给
service-digital-engagement-channel-configure或service-digital-engagement-deployment-configure,不要伪造BOT_ID,也不要提供“先创建新 Agent”这一AskUserQuestion选项。告知用户,门户需要一个活动 Agent 才能进行配置,并引导用户使用agentforce-generate或service-helpagent-coordinate先创建 Agent,然后重新调用此技能。 - 一个或多个活动 Agent → 通过
AskUserQuestion将所有返回的 Agent 列为选项,并添加一个**“先创建新 Agent”**选项。不要假设用户想选唯一或第一个 Agent——务必明确询问。
如果用户选择**“先创建新 Agent”**:立即停止,并显示以下消息:
创建新 Agent 不在此技能的范围内。请运行
agentforce-generate技能(或运行service-helpagent-coordinate完整配置 Help Agent)来创建 Agent,然后重新调用 Concierge 门户技能。如果用户选择现有 Agent:记录
BOT_ID和BOT_DEV_NAME,然后继续。**长列表规则:**如果 Agent 超过 6 个,请分页显示——每次显示 6 个,并提供“显示更多”选项,不要一次性全部列出。
- 零行(没有 Bot,或只有非活动/已停用的 Bot——配置时两者都视为零)→ 在同一轮中立即停止。不要加载操作手册,不要委派给
-
加载
references/portal-deploy-runbook.md,并从上到下执行 §0。
返回值(供调用技能使用)
成功后,提供:
| 变量 | 值 |
|---|---|
NETWORK_ID | 已配置门户的 18 位 Network Id |
PUBLISHED_PORTAL_URL | 面向客户的线上 URL(用于 Incognito 验证) |
MESSAGING_CHANNEL_DEV_NAME | 已与 Agent 配置的 EmbeddedMessaging 渠道 |
ESC_ID | EmbeddedServiceConfig Id(身份验证路径) |
最终报告格式
完成后,总结已部署的内容,并在清晰标注的区块中提供上述四个返回值,以便用户(或调用技能)据此采取行动。如果活动 Agent 查询返回零行,则直接跳转到步骤 2 的停止消息——无需报告返回值。
规则/约束
| 规则 | 原因 |
|---|---|
| 在与用户交互前运行技能清单预检 | 委派给缺失的技能会导致部署中途失败,使门户处于不完整状态 |
| 开始前,Agent 必须存在且处于 Active 状态 | 配置非活动 Agent 会导致门户能够加载但无法响应 |
开始 §A 问题前,完整阅读 references/portal-deploy-runbook.md | 执行每个步骤时,操作手册的 §0 阶段表必须在上下文中 |
| 绝不在行内创建 MessagingChannel 或 EmbeddedServiceConfig——务必委派 | service-digital-engagement-channel-configure 和 service-digital-engagement-deployment-configure 负责这些对象;行内创建会绕过队列解析、升级配置和 ESD 验证 |
| 绝不跳过 §L.0 中的访客访问标记 | OptionsGuestChatterEnabled + OptionsGuestMemberVisibility 默认值为 False——不设置时,门户在 Incognito 中会显示空白 |
| 每次更改 DEB 标记后都要重新发布 | isRelaxedCSPLevel、authenticationType、headMarkup 只有在发布后才会生效 |
| 只允许暂停操作一次:§F.4 Agentforce Orchestrator 开关 | 其他每个步骤都应无界面执行——除非无界面路径返回不可恢复错误,否则绝不因 UI 操作而暂停 |
参考文件索引
| 文件 | 阅读时机 |
|---|---|
references/portal-deploy-runbook.md | 始终阅读——权威的 20 步部署操作手册 |