Private beta. Use of these skills is subject to Iterable's Beta Terms. This documentation may contain inaccuracies and may change during the beta.
Use these skills with Claude Code, Cursor, or Codex to integrate Iterable's native Android, native iOS, or React Native SDK. The workflows gather and prove the required external prerequisites before calling an integration complete.
The plugin runs under your coding assistant. The provisioning workflow asks before reading or changing scoped cloud resources.
| Skill | Purpose |
|---|---|
iterable-provision |
Produces and verifies Firebase, Apple, APNs, and Iterable prerequisites for the selected platform. |
iterable-android |
Integrates and troubleshoots Iterable's native Android SDK using version-pinned documentation. |
iterable-android-verify |
Independently verifies native Android and React Native Android integrations and push delivery. |
iterable-ios |
Integrates and troubleshoots Iterable's native iOS SDK using Iterable documentation and iOS lifecycle guidance. |
iterable-ios-verify |
Independently verifies a native iOS, React Native iOS, or Expo iOS integration, using no-app-edits behavioral proof by default and optional instrumented diagnostics. |
iterable-react-native |
Integrates and troubleshoots @iterable/react-native-sdk, including Expo projects. |
The skills can work independently. A new push integration normally follows:
iterable-provision → platform integration skill → matching platform verification skill
For a React Native app with both platforms in scope, the workflow finishes Android first, including a proved push, and then sets up iOS. The iOS setup reuses the Iterable keys, region, and feature scope from the Android setup.
Skills are model-invoked. Describe the outcome you want rather than running a skill by name. For example:
- "Set up Iterable push notifications in this app."
- "Integrate Iterable's React Native SDK."
- "Why isn't my push notification arriving?"
- "Verify that this integration works on my emulator."
- "Verify this existing iOS integration without changing the app."
- Native Android SDK integration.
- Native iOS SDK integration.
- React Native integration for Android and iOS, including Expo.
- Firebase provisioning and device-side push verification for Android.
- Apple/APNs prerequisite guidance and iOS push proof on the iOS Simulator.
- Push notifications, in-app messages, mobile inbox, embedded messaging, deep links, JWT authentication, event tracking, and user profiles.
- Unknown user activation for native Android and native iOS.
Web SDK integration is not included.
- An Iterable project, and an Iterable role that can create API keys and mobile apps. The provisioning skill can guide you through creating the required Iterable API keys and mobile configuration.
- A Google account with access to a Firebase project, or permission to create one, when setting up Android push. The account must be able to enable APIs, add Firebase, and create a service account and its key.
- Apple Developer Program access to the app's team when setting up native iOS push. Registering the App ID, enabling Push Notifications, and creating an APNs key require the Account Holder or Admin role. The workflow cannot replace Apple sign-in, 2FA, agreements, or the one-time download of a newly created APNs private key.
You authenticate with Google, Apple, and Iterable yourself. The plugin does not ask for or handle your account passwords.
The provisioning and verification workflows require these non-standard tools:
node --version
gcloud --version
adb --version
xcodebuild -version| Tool | Used for | Installation |
|---|---|---|
gcloud |
Google authentication, Firebase projects, service accounts, IAM, and key creation | Google Cloud CLI or brew install --cask gcloud-cli |
adb |
Selecting an Android device and reading the installed app, SDK registration, and arriving notification | Android Studio's SDK Manager or brew install --cask android-platform-tools |
| Xcode 14 or later | Building, signing, installing, and observing native iOS apps | Install the full Xcode app, not only the Command Line Tools, then select it with xcode-select |
| Node.js | Parsing command and API output | nodejs.org or brew install node |
The scripts also use Bash, curl, and standard Unix utilities. They do not
install or modify your JDK, Gradle, Android SDK, or Node.js toolchain. During
integration, your coding assistant may run your project's existing build and
install commands with your approval.
If a required tool is missing, the workflow reports which tool is needed and stops without attempting to install it.
Device-side verification requires a connected Android device or a running emulator with Google Play services. You select the target device, even when only one is connected, so the proof is performed on the device you intend to test.
For native iOS, development push can be proved on an eligible booted iOS 16+ Simulator or a signed physical iPhone. A Simulator receives real APNs sandbox pushes only on macOS 13 or later with Xcode 14 or later, on a Mac with Apple silicon or a T2 chip. Production/TestFlight proof requires a physical iPhone.
React Native and Expo apps are proved on iOS with a Release build, which embeds
the JavaScript bundle and runs without Metro. Expo apps need a development
build (expo-dev-client); Expo Go cannot load the SDK's native module.
During native iOS push setup, the developer chooses whether to reuse an existing Apple configuration, follow a guided Account Holder or Admin handoff, or let an App Store Connect Team API key register the App ID and Push Notifications after an approved plan. The imported APNs key is checked with one APNs sandbox probe. No extra tools are needed beyond Node, curl, and Xcode.
/plugin marketplace add Iterable/iterable-sdk-skill
/plugin install iterable-sdk@iterable
Run /reload-plugins, or start a new Claude Code session, to load the skills.
To receive updates automatically, open /plugin, select Marketplaces,
select iterable, and select Enable auto-update.
Cursor requires version 3.9 or later. Install the skills as a plugin:
- Open Customize in the sidebar.
- Select + Add, then From GitHub Repository.
- Enter
https://github.com/Iterable/iterable-sdk-skill. - Find iterable-sdk, select Install, and choose the project or user scope.
The plugin installs the skills, the scripts they run, and the Context7 MCP server. Team admins can also add the repository as a team marketplace.
To test a local checkout, clone it into Cursor's local plugin folder:
git clone https://github.com/Iterable/iterable-sdk-skill.git ~/.cursor/plugins/local/iterable-sdkRun Developer: Reload Window, then confirm the skills in Customize. Cursor skips a symlink in that folder that points to a clone elsewhere. On Teams and Enterprise plans, an admin must allow local plugin imports.
If you can't install plugins, clone the repository and link the skill directories. This installs the skills without the Context7 MCP server:
git clone --depth 1 https://github.com/Iterable/iterable-sdk-skill.git ~/iterable-skills
mkdir -p ~/.cursor/skills
for skill in iterable-provision iterable-android iterable-android-verify iterable-ios iterable-ios-verify iterable-react-native; do
ln -sfn ~/iterable-skills/$skill ~/.cursor/skills/$skill
doneKeep the clone in place, because the skills run scripts from it. Run Developer: Reload Window, then start a new Agent chat.
codex plugin marketplace add Iterable/iterable-sdk-skill
codex plugin add iterable-sdk@iterableStart a new Codex session, then use codex plugin list to confirm that the
plugin is installed.
For local development, use the repository checkout as the marketplace source:
codex plugin marketplace add .
codex plugin add iterable-sdk@iterable- The integration skill inspects the application and agrees the integration scope with you.
- If Firebase or Iterable prerequisites are missing, the provisioning skill explains what it needs to read and asks for permission before continuing.
- The workflow creates or selects the Firebase resources and service account.
- It guides you through the Iterable dashboard actions that do not have a public API: API keys, the mobile app, the Firebase push integration (with FCM type Data notifications), and the test user's email address.
- The integration skill adds the SDK configuration, and your coding assistant builds and installs the application using the project's existing toolchain.
- The workflow opens the selected application's launcher activity. You sign in as the test user and respond to any Android permission prompts.
- The verification skill sends a proof notification and checks Android's notification service to confirm that it arrived.
The component that performs an action does not verify its own result. For example, the sender records which proof notification it sent, while a separate read-only verifier checks the device for that notification.
- The integration skill inspects the application and agrees the scope and the user identity with you, once. Provisioning reuses these answers.
- If Apple prerequisites are missing, the provisioning skill guides you through Apple Developer one step at a time: the App ID, Push Notifications, and the APNs key. It checks the APNs key with one sandbox probe.
- It guides you through the Iterable Mobile and Server-side API keys and the iOS app with its APNs credential, and checks the keys with live calls.
- The integration skill writes the SDK code. Your coding assistant builds the app and installs it on the Simulator.
- You sign in to the app and allow notifications.
- The verification skill confirms that Iterable holds the Simulator's device token, sends one marked proof notification, and reads its arrival from the Simulator's own notification records.
If the app already sends its own push notifications, the integration skill asks whether to keep them alongside Iterable's or use Iterable notifications only. Iterable's proof completes the integration; checking the app's own notifications afterwards is optional.
- The repository's scripts run locally and make authenticated HTTPS requests to Google, Firebase, Apple, and Iterable.
- Push proof creates or updates one proof template in your Iterable project and sends it only to the test user. The test identity becomes a real user profile in that project.
- The plugin also adds the Context7 MCP server (no API key) for documentation lookups and, in Claude Code, five helper subagents.
- You authenticate in your own browser or
gcloudsession. The scripts do not collect account passwords or attempt to bypass sign-in, CAPTCHA, or terms-of-service screens. - Secrets are designed to move through protected files, environment variables, or the local clipboard workflow rather than through chat, logs, or command arguments.
- The generated
.iterable/workspace is kept inside your project and gitignores itself. It can contain credentials and should be treated as sensitive. - The verification gates only read application and notification state. Separate actors can open or foreground the selected app or system surface, but they do not tap, type, sign in, or answer permission prompts.
Your coding assistant runs with your local privileges. Its handling of source code and conversation data is governed by the assistant provider and your organization's configuration. Install plugins only from sources you trust.
- Firebase provisioning is Android-specific. Native iOS uses Apple/APNs prerequisite guidance and supports Simulator or physical-device proof within the documented environment limits.
- Creating Iterable API keys, mobile apps, and push integrations requires dashboard interaction because these actions do not have public APIs.
- Android push proof needs a Mobile API key with Require JWT turned off. On iOS, core verification can run for a JWT-enabled integration, but the app's JWT backend behavior requires separate feature-specific evidence.
- Some bundled source articles cover multiple mobile platforms and may include snippets that are not relevant to the current application.
- These skills focus on SDK integration. To work with campaign or user data, use Nova Agent in Iterable or Iterable's MCP Server.
For Claude Code, update the marketplace before updating the plugin. Run these commands in a terminal:
claude plugin marketplace update iterable
claude plugin update iterable-sdk@iterableThen run /reload-plugins, or start a new session. With auto-update enabled,
Claude Code may ask you to reload plugins after a newer version is downloaded.
For Codex:
codex plugin marketplace upgrade iterableThen start a new Codex session.
For Cursor, manage the installed plugin from Customize. For a local
plugin checkout, run git pull in ~/.cursor/plugins/local/iterable-sdk and
reload the window. For the clone-and-link fallback:
cd ~/iterable-skills
git pullThen run the link loop again so that new skills are linked, reload the Cursor window, and start a new Agent chat.
# Claude Code (add --scope project or --scope local if you installed there)
claude plugin uninstall iterable-sdk@iterable
claude plugin marketplace remove iterable
# Codex
codex plugin remove iterable-sdk@iterable
codex plugin marketplace remove iterableFor Cursor, uninstall the plugin from Customize, or delete
~/.cursor/plugins/local/iterable-sdk for a local checkout. For the
clone-and-link fallback, delete the links in ~/.cursor/skills/ and the
~/iterable-skills clone.
Uninstalling the plugin leaves cloud resources in place. Before you uninstall,
run .iterable/teardown from your project to remove the Google service account,
its role binding and keys, and the local artifacts that Android setup created.
Apple resources and your APNs key are not removed.
Repository-maintenance commands are documented in
CONTRIBUTING.md. In particular, Docs team members can use
the copy-review workflow there to render onboarding questions without
credentials, network access, or a connected device.
Engineering references:
bin/README.md— onboarding program architecture.INTENDED-FLOW.md— authoritative onboarding sequence.REVIEW.md— how to review refreshed SDK reference docs.