A high-level decision engine and implementation roadmap for sequencing Fullstory React Native skills. Ensures that data capture follows a logical sequence (Compliance -> Identity -> Navigation -> Interaction -> Diagnostics) and provides guidance on when and in what order to utilize the React Native skills library.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: mobile-rn-orchestrator version: 1.0.0 description: A high-level decision engine and implementation roadmap for sequencing Fullstory React Native skills. Ensures that data capture follows a logical sequence (Compliance -> Identity -> Navigation -> Interaction -> Diagnostics) and provides guidance on when and in what order to utilize the React Native skills library. related_skills:
- meta-mobile-instrumentation
- mobile-react-native-pages
- mobile-react-native-privacy
- mobile-react-native-identity
- mobile-react-native-track
- mobile-react-native-element-attributes
- mobile-react-native-errors
Mobile React Native Orchestrator
Overview
The mobile-rn-orchestrator skill provides the logic for "When" and "In what order" to utilize the React Native skills library. It ensures that data capture follows a logical sequence: Compliance → Identity → Navigation → Interaction → Diagnostics.
Core Concepts
The Implementation Timeline
Instrumentation must follow a specific sequence to ensure data integrity and user privacy.
[ STAGE 1: INIT ] -> [ STAGE 2: AUTH ] -> [ STAGE 3: NAV ] -> [ STAGE 4: ACTION ]
| | | |
v v v v
+--------------+ +--------------+ +--------------+ +--------------+
| Privacy | | Identity | | Pages | | Track |
| (Masking) | | (UID/Vars) | | (Lifecycles) | | (Events) |
+--------------+ +--------------+ +--------------+ +--------------+
| | | v
+-------------------/ | +--------------+
+----------> | Errors |
| (Catch/Track)|
+--------------+
The Decision Matrix
| Trigger | Primary Skill | Secondary Skill |
|---|---|---|
| Application Boot | mobile-react-native-privacy | mobile-react-native-identity |
| Successful Login | mobile-react-native-identity | mobile-react-native-track |
| Screen Transition | mobile-react-native-pages | mobile-react-native-element-attributes |
| User Interaction | mobile-react-native-track | mobile-react-native-element-attributes |
| Background Failure | mobile-react-native-errors | mobile-react-native-track |
Implementation Standards
✅ GOOD IMPLEMENTATION: The Sequential Flow
This example demonstrates the correct sequence of operations during a typical "Checkout" flow.
import React, { useEffect } from 'react';
import { View, TextInput } from 'react-native';
import FullStory from '@fullstory/react-native';
const CheckoutProcess = ({ user, orderData }) => {
useEffect(() => {
// STEP 1: Privacy (Set before page start to ensure data is masked immediately)
// Skill: mobile-react-native-privacy
// STEP 2: Page Lifecycle
// Skill: mobile-react-native-pages
const pageHandle = FullStory.page.start('Checkout Review', {
cart_value_num: orderData.total
});
return () => FullStory.page.end(pageHandle);
}, []);
const onConfirm = async () => {
try {
// STEP 3: Business Logic Event
// Skill: mobile-react-native-track
FullStory.track('Order Completed', { order_id_str: orderData.id });
} catch (e) {
// STEP 4: Error Capture
// Skill: mobile-react-native-errors
FullStory.track('API Error', { status_code_num: 500 });
}
};
return (
<View data-component="checkout-view">
{/* STEP 5: Element Naming (CUA Visibility) */}
<TextInput fs-mask={true} data-element="cc-input" />
</View>
);
};
❌ BAD IMPLEMENTATION: Out-of-Order Execution
Tracking interactions without establishing location or identity context.
// ❌ WRONG: Tracking an event without starting a page or identifying
const BadComponent = () => {
const handleTap = () => {
// ERROR: This event is "homeless" because no page.start() was called.
FullStory.track('Button Tapped', { label_str: 'Go' });
};
return <Button onPress={handleTap} title="Go" />;
};
Key Takeaways for Agent
-
Priority 1 (Privacy): Never track anything until privacy masking (baseline or advanced) has been applied to sensitive views.
-
Priority 2 (Identity): Ensure
identifyis called as soon as auth state is confirmed to avoid "anonymous" session segments. -
Priority 3 (Pages): Every
trackevent should exist within a definedpage.start()andpage.end()block. -
Diagnostic Safety: Ensure every
FS.trackfor an interaction is paired with a correspondingFS.trackfor a potential error in thecatchblock. -
Standard Check: Always verify the
meta-mobile-instrumentationskill before finalizing any code to ensure naming and suffixing compliance.
More by fullstorydev
View allAI assistant guide for generating test automation scripts from Fullstory-decorated codebases. This is the CORE skill that teaches discovery, analysis, and platform routing. For framework- specific patterns, see SKILL-WEB.md (Cypress, Playwright, Selenium) or SKILL-MOBILE.md (Detox, Espresso, XCUITest, Flutter, Appium, Maestro).
Decision engine and implementation roadmap for sequencing Fullstory mobile SDK instrumentation. Ensures data capture follows the correct sequence (Privacy → Identity → Navigation → Interaction → Diagnostics) across iOS, Android, Flutter, and React Native. Routes to platform-specific SKILL-MOBILE.md files for implementation details.
Core concepts for Fullstory's Analytics Events API (trackEvent). Platform-agnostic guide covering event naming, property types, rate limits, and best practices. See SKILL-WEB.md and SKILL-MOBILE.md for implementation examples.
Expert guidance for monitoring frontend component health, performance, and rendering stability within Fullstory. Framework-agnostic patterns for React, Vue, Angular, Svelte, and React Native.
