Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add forcedotcom/SalesforceMobileSDK-Templates --skill android-upgrade-mobile-sdk-13-to-14git clone --depth 1 https://github.com/forcedotcom/SalesforceMobileSDK-TemplatesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/forcedotcom/salesforcemobilesdk-templates/android-upgrade-mobile-sdk-13-to-14)<a href="https://agentmods.dev/skills/forcedotcom/salesforcemobilesdk-templates/android-upgrade-mobile-sdk-13-to-14"><img src="https://agentmods.dev/badge/skills/forcedotcom/salesforcemobilesdk-templates/android-upgrade-mobile-sdk-13-to-14/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/forcedotcom/salesforcemobilesdk-templates/android-upgrade-mobile-sdk-13-to-14"><img src="https://agentmods.dev/badge/skills/forcedotcom/salesforcemobilesdk-templates/android-upgrade-mobile-sdk-13-to-14.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00149 | $0.01027 |
| Opus 5.5 | $0.00060 | $0.00411 |
| Sonnet 5.5 | $0.00030 | $0.00205 |
| Haiku 4.5 | $0.00015 | $0.00103 |
Grade A, and why
android-upgrade-mobile-sdk-13-to-14 scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 16d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 57 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Android Salesforce Mobile SDK — Upgrade 13.x to 14.0
This skill upgrades an existing Android Kotlin app from Salesforce Mobile SDK 13.x to 14.0. It is consumed by autonomous coding agents — every reference file is self-contained and contains exact source-of-truth code, file paths, and CLI commands.
Scenarios
| Scenario | Reference | Preconditions |
|---|---|---|
| Upgrade SDK 13.x → 14.0 | references/upgrade-13-to-14.md |
SDK 13.x is already integrated; app is Kotlin |
Cross-cutting references:
| Topic | Reference |
|---|---|
| Removed APIs, changed signatures, new APIs | references/breaking-changes.md |
| Build / runtime / behavioral error symptoms | references/troubleshooting.md |
Detection Rules
Run these checks against the working directory before proceeding:
- Check
app/build.gradle.ktsforcom.salesforce.mobilesdk:with version string containing13.. - Check
libs.versions.tomlforsalesforceSDK = "13.version string. - If SDK 13 is detected AND
14.is NOT present anywhere in the same file → this skill applies.
Invariants
These hold regardless of the project shape (version catalog or inline dependencies):
- Do NOT recreate the Android project from scratch. Preserve all hand-maintained module configuration, signing config, and build variants.
- Do NOT rename or move app source files. Only SDK version identifiers and removed/renamed APIs change.
- Do NOT change
applicationId, signing config, or non-SDK build settings unless the upgrade explicitly requires it. minSdkMUST be raised to 31. SDK 14.0 requires Android 12 (API 31) as the minimum. This drops support for Android 9, 10, and 11 — confirm the app's Play Store minimum version policy before applying.compileSdkandtargetSdkmust be at least 36. The SDK 14.0 library itself targetscompileSdk = 36(libs/SalesforceSDK/build.gradle.ktshas an explicit// TODO: MSDK 14 will remain on 36. The next increment will be in MSDK 15.), so an app on 36 is fully compatible — this matches theandroid-mobile-sdkskill, which generates apps at 36.37also builds but is not required; it comes only from sample apps. Do not force a bump to 37.- Gradle wrapper MUST be updated to 9.4.1; AGP MUST be updated to 9.1.1.
- Reconcile the Kotlin plugin with the
android.builtInKotlinflag. Two valid configurations exist: with AGP built-in Kotlin active (android.builtInKotlintrue/unset) removeid("org.jetbrains.kotlin.android")fromplugins { }, since leaving it in conflicts; or setandroid.builtInKotlin=falseingradle.propertiesand keep the plugin. (The Mobile SDK library itself setsbuiltInKotlin=false, but that is the library's internal build choice and does not propagate to consuming apps via Maven — a consuming app on AGP 9 gets built-in Kotlin by default, so prefer Path A and choose Path B only deliberately.) Do not remove the plugin without confirming the flag. Seereferences/upgrade-13-to-14.mdStep 4. - Build target:
./gradlew assembleDebugfrom the project root unless there is reason to use a different variant.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 16d ago Changed 938dbaf051d2
- 18d ago Changed 88e0a5ea02d1
- 23d ago First seen · 57 lines · 149 tokens per session scan A 50365c139f96
android-upgrade-mobile-sdk-13-to-14 is a skill published in the GitHub repository forcedotcom/SalesforceMobileSDK-Templates (58 stars, last pushed 11d ago), licensed BSD-3-Clause. It adds 149 tokens to every session and 1,027 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-24.
Other skills, from other repositories
kotlin-specialist
Provides idiomatic Kotlin implementation patterns including coroutine concurrency, Flow stream handling, multiplatform architecture, Compose UI construction, Ktor server setup, and type-safe DSL design. Use when building Kotlin applications requiring coroutines, multiplatform development, or Android with Compose.…
wear-compose-m3
Guidance for Wear OS Compose Material3 (Wear Compose Material 3 / Wear Compose Material3) watch and wearable apps. Covers creating, updating, and migrating projects (Material 2.5 and Horologist migration) using androidx.wear.compose.material3, androidx.wear.compose.foundation, and androidx.wear.compose.navigation3…
build-android-binary
Compile a PAM control's Android Kotlin module into the runtime-loadable DEX for a .ppmplugin. Creates a staged Gradle build with the pinned wrapper and react-android compile dependency, verifies manifest/module/package alignment and runtime-loading constraints, builds the release AAR, then runs d8 --min-api 24. Writes…
swiftui-dev
Use this skill for SwiftUI development, architecture, structure, performance, and Apple native app profiling. It combines.
android-navigation-3
Install and migrate to Jetpack Navigation 3. Use when implementing Navigation 3 patterns including NavDisplay, NavKey routes, deep links, multiple backstacks, scenes (dialogs, bottom sheets), or migrating from Navigation 2.
ios-slim-bindings
Create iOS slim bindings for MAUI. USE FOR: slim iOS binding, Native Library Interop, Swift/Objective-C wrappers, XcodeGen project.yml, Podfile, CocoaPods static linking, BUILDLIBRARYFORDISTRIBUTION, XcodeProject MSBuild, @objc/[Export] selector crashes, async completion handlers. DO NOT USE FOR: Android bindings…