mcpField
M
mobile-apps-create

mobile-apps-create

github.com/forcedotcom开发1.1k4.8k 次安装1 天前更新
代码仓库

关于 mobile-apps-create

用于为 iOS 和 Android 应用项目选择 Salesforce Mobile SDK 或 Agentforce SDK 技能的路由技能。它会厘清应用的 SDK 与平台需求,再将实现工作交给对应的子技能。

主要功能

  1. 01区分 Mobile SDK 与 Agentforce SDK 需求
  2. 02按 iOS 或 Android 平台路由
  3. 03厘清何时需要两类 SDK
  4. 04安排组合 SDK 工作流顺序
  5. 05加载对应的子技能

适用场景

  1. 01为连接 Salesforce 的应用选择 SDK
  2. 02规划嵌入 Agentforce Agent 的应用
  3. 03分别路由 iOS 和 Android 实现

安装

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

$npx skills add https://github.com/forcedotcom/sf-skills --skill mobile-apps-create

安装后在 Claude Code 中输入/mobile-apps-create确认已加载。

详细介绍

Salesforce Mobile

将用户引导至合适的 SDK 系列技能,以构建连接 Salesforce 的移动应用。不要在此处实现功能;子技能负责场景判定和分步说明。

路由前

从两个维度进行区分:SDK 系列(Mobile SDK 与 Agentforce SDK)和平台(iOS 与 Android)。两者并非互斥——一个应用可以同时使用这两个 SDK。

如果用户的意图可能对应任一 SDK,请先询问,再进行路由。猜错会浪费用户的时间,因为子技能针对特定平台和 SDK。

路由——选择哪个 SDK 系列?

用户的情况SDK
对终端用户进行 Salesforce 身份验证、同步记录(MobileSync)、离线存储数据(SmartStore)、生物识别登录、推送通知、REST 集成Mobile SDK
嵌入 Agentforce Agent——聊天 UI、Agent 对话、以对话功能为主要界面Agentforce SDK
两者兼有(数据驱动型应用中嵌入 Agent)先使用 Mobile SDK,然后在其上叠加 Agentforce SDK
两者似乎都适用时的判断标准
  • Agent 是主要界面(以聊天为先的应用),还是数据驱动型应用中的一项功能?
    • 主要界面 → Agentforce SDK
    • 功能 → Mobile SDK;通过 Agentforce SDK 将 Agent 嵌入其中
  • 终端用户是否需要通过身份验证访问 Salesforce 数据?
    • 是 → 必须使用 Mobile SDK(也可以在其上添加 Agentforce SDK)。
    • 否 → 仅使用 Agentforce SDK 可能就足够了(它使用访客身份验证)。
  • 询问离线存储、同步、REST、推送或生物识别?→ Mobile SDK。
  • 询问 Agent 对话、聊天 UI 或流式响应?→ Agentforce SDK。

如果仍不明确,请直接询问用户。

路由——选择哪个平台?

平台Mobile SDK 技能Agentforce SDK 技能
iOS(Swift)ios-mobile-sdkintegrate-agentforce-ios
Android(Kotlin)android-mobile-sdkintegrate-agentforce-android

如果用户需要两个平台,分别路由至对应的子技能——它们彼此独立。

组合工作流(Mobile SDK + Agentforce SDK)

如果应用需要同时使用两者:

  1. 先路由至对应平台的 Mobile SDK 技能,以搭建应用框架并进行身份验证。
  2. 然后必须加载对应平台的 Agentforce SDK 技能(integrate-agentforce-ios 或 integrate-agentforce-android),以叠加 Agent 界面。不要手动编写 Agentforce 集成代码——无法凭空推断 SDK 的依赖项、产品和 API,手写代码也无法编译。
  3. 将每个子技能的说明视为其 SDK 的权威指南;不要合并它们的步骤。每个 SDK 都有各自的身份验证设置、依赖项安装顺序和初始化流程——交错执行会导致配置冲突和初始化顺序错误。

这是本技能负责的唯一多技能逻辑。其他所有内容都由子技能负责。

加载子技能

通过 harness 按名称调用子技能。如果本地没有该技能,请提示用户使用 npx skills add <repo> 安装。如果用户确认(或已预先授权安装),运行命令并加载子技能——不要让用户自行摸索如何继续工作流。如果用户拒绝,请停止并说明该子技能负责 SDK 的设置步骤,没有它就无法继续工作流。每个子技能都发布在公共仓库中:

技能仓库安装命令
ios-mobile-sdkforcedotcom/SalesforceMobileSDK-Templates → skills/ios-mobile-sdk/npx --yes skills add forcedotcom/SalesforceMobileSDK-Templates --skill ios-mobile-sdk --yes
android-mobile-sdkforcedotcom/SalesforceMobileSDK-Templates → skills/android-mobile-sdk/npx --yes skills add forcedotcom/SalesforceMobileSDK-Templates --skill android-mobile-sdk --yes
integrate-agentforce-iossalesforce/AgentforceMobileSDK-iOS → skills/integrate-agentforce-ios/npx --yes skills add salesforce/AgentforceMobileSDK-iOS --skill integrate-agentforce-ios --yes
integrate-agentforce-androidsalesforce/AgentforceMobileSDK-Android → skills/integrate-agentforce-android/npx --yes skills add salesforce/AgentforceMobileSDK-Android --skill integrate-agentforce-android --yes

安装后,加载子技能并让其接管。不要将子技能的内容内联——场景检测、前置条件和分步说明均由子技能负责。

评论

支持 Markdown