bitdriftlabs/bd-skills

bd-instrumentation

Mobile app instrumentation and Capture SDK setup for bitdrift in iOS, Android, and React Native apps, including new installs and extending existing integrations with screen tracking, network monitoring, logs, fields, and spans.

First seen May 9, 2026

Installation

$ npx skills add bitdriftlabs/bd-skills --skill bd-instrumentation

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from bitdriftlabs/bd-skills.

npx skills add bitdriftlabs/bd-skills

Browse all from bitdriftlabs/bd-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 13
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,708 B
  • docs SUMMARY.md 3,666 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 320 installs

SKILL.md

bitdrift Instrumentation

Guides integration of the bitdrift Capture SDK into mobile apps. The SDK logs everything locally on-device; the bitdrift control plane dynamically decides what to upload.

How this skill uses docs

Use $bd-docs to fetch live API details from docs.bitdrift.io at each step. The platform reference files indicate what to look up — $bd-docs handles the mechanics of discovery and fetching.

Workflow summary

Detect platform → Check if SDK is installed → Read platform reference → If new install: add dependency + Logger.start() → Add instrumentation categories the user needs.

Step 1 — Detect platform

Identify the target platform from the user's project:

Signal Platform
build.gradle, build.gradle.kts, .kt, .java, AndroidManifest.xml Android
.xcodeproj, .xcworkspace, Package.swift, Podfile, .swift, .m/.h iOS
package.json with react-native, metro.config.js, App.tsx/App.js React Native

If the project contains files for multiple platforms (e.g., both Android and React Native in a monorepo), ask the user which target to instrument.

Step 2 — Determine SDK status

Check whether the bitdrift Capture SDK is already installed by searching the project for:

Platform SDK already present if you find…
Android io.bitdrift:capture in build.gradle/build.gradle.kts, or import io.bitdrift.capture in source
iOS capture-ios in Package.swift or BitdriftCapture in Podfile, or import Capture in source
React Native @bitdrift/react-native in package.json, or import { init } from '@bitdrift/react-native' in source

Step 3 — Read the platform reference and proceed

Read the platform reference file, then follow the appropriate path:

Platform Reference file
Android (Kotlin/Java) references/android.md in this skill directory
iOS (Swift/Objective-C) references/ios.md in this skill directory
React Native references/react-native.md in this skill directory

Each reference file has two sections:

  • New installation — Add the SDK dependency and call Logger.start(). Follow this when the SDK is not yet present. Once the SDK is running, proceed to the instrumentation categories below.
  • Instrumentation categories — Standalone enhancements (log forwarding, network monitoring, screen views, TTI, fields, spans, etc.). Each is independent — jump directly to whichever one the user needs. These apply whether the user just finished a new install or already had the SDK set up.

Validation checklist (all platforms)

When asked to validate an integration, check all items and produce a report with PASS/FAIL/WARNING per check, plus concrete code fixes for failures.

# Check
1 SDK dependency present and up to date
2 Logger initialized early in app lifecycle
3 Session strategy configured
4 Network monitoring active
5 Screen tracking on every screen
6 TTI tracked
7 Crash reporter linked with session URL
8 Entity ID set after login via setEntityID / setEntityId (iOS/Android only; enables bd entity targeting)
8a User identity fields set after login via addField
9 dSYM/ProGuard mapping upload configured (if applicable)