A comprehensive collection of Agent Skills for expert-level Fullstory semantic decoration guidance.
The Fullstory Skills Repository (FSR) is a structured collection of AI Agent Skills that provide expert-level guidance for Fullstory semantic decoration for digital experiences (FSD). FSD enables AI coding assistants to decorate digital experiences with semantic meaning. This exposes behavioral digital experience usage to Computer Use Agents and unlocks high fidelity analytic measurement directly in the DOM or mobile app view tree:
- Guide developers through API implementation with good/bad examples
- Apply industry-specific privacy requirements automatically
- Reference regulatory compliance patterns (HIPAA, PCI, GDPR, etc.)
- Recommend the right API for each use case
All core skills and framework skills now use a three-file structure:
SKILL.mdβ Platform-agnostic core concepts, API parameters, best practices (START HERE)SKILL-WEB.mdβ JavaScript/TypeScript implementation for webSKILL-MOBILE.mdβ iOS (Swift), Android (Kotlin), Flutter (Dart), React Native
Always read SKILL.md first for concepts, then the platform-specific file for implementation code.
The skills repository covers API usage (how to identify users, track events, etc.). For SDK installation, see official Fullstory documentation:
- Web: Getting Started with Web
- Mobile: See
meta/fullstory-getting-started/SKILL.mdfor links to all mobile platform installation guides
The new mobile-instrumentation-orchestrator skill provides sequencing logic for mobile SDK implementation:
- Privacy β Identity β Navigation β Interaction β Diagnostics
- Routes to appropriate
SKILL-MOBILE.mdfiles for each platform
The stable selectors skill now covers both web and mobile:
- Web:
data-component,data-element,data-actionattributes - iOS:
accessibilityIdentifier - Android:
testTag,contentDescription - React Native:
testID - Flutter:
Key,Semantics
- Private by Default Mode: Complete documentation for Fullstory's privacy-first capture mode
- First-Party Cookie Architecture:
fs_uidcookie behavior, session merging, and identity persistence - Anonymous User Support: Clarified that user properties work before identification
| Industry | New Content |
|---|---|
| Banking | Open Banking/PSD2 requirements |
| Healthcare | HIPAA de-identification standards (18 Safe Harbor identifiers) |
| E-commerce | Marketplace/multi-vendor considerations |
| Gaming | Fraud detection (7 types), game iframe decoration, responsible gaming compliance |
| SaaS | AI/ML feature tracking patterns |
| Travel | TSA Secure Flight requirements |
| Media | Accessibility feature tracking (WCAG compliance) |
We welcome contributions to expand and improve the Fullstory Skills Repository! Here's how to add or update skills:
-
Choose the right category:
core/- For specific Fullstory API implementationsmeta/- For strategic guidance and decision frameworksindustry/- For industry-specific semantic decoration guidanceframework/- For frontend framework integration patterns
-
Create the folder and file:
skills/[category]/[skill-name]/SKILL.md -
Use the standard skill template:
---
name: fullstory-your-skill-name
version: v2
description: Clear, comprehensive description of what this skill covers and when to use it.
related_skills:
- fullstory-related-skill-1
- fullstory-related-skill-2
---
# Fullstory [Skill Title]
> β οΈ **LEGAL DISCLAIMER** (for industry skills only): This guidance is for educational purposes only...
## Overview
Brief explanation of what this skill covers and when developers should use it.
## Core Concepts
Key principles with visual diagrams (use ASCII art for compatibility):
βββββββββββββββββββββββββββββββ β Visual concept diagrams β β help Agent understand β βββββββββββββββββββββββββββββββ
## API Reference
### Basic Syntax
\`\`\`javascript
FS('methodName', {
param1: 'value',
param2: 'value'
});
\`\`\`
### Parameters
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `param1` | string | **Yes** | What it does |
| `param2` | object | No | Optional parameter |
---
## β
GOOD IMPLEMENTATION EXAMPLES
### Example 1: [Descriptive Title]
\`\`\`javascript
// GOOD: Explanation of why this is good
[code example]
\`\`\`
**Why this is good:**
- β
Reason 1
- β
Reason 2
---
## β BAD IMPLEMENTATION EXAMPLES
### Example 1: [What's Wrong]
\`\`\`javascript
// BAD: Explanation of what's wrong
[bad code example]
\`\`\`
**Why this is bad:**
- β Problem 1
- β Problem 2
**CORRECTED VERSION:**
\`\`\`javascript
[corrected code]
\`\`\`
---
## TROUBLESHOOTING
### [Common Issue Title]
**Symptom**: What the developer sees
**Common Causes**:
1. Cause 1
2. Cause 2
**Solutions**:
- β
Solution 1
- β
Solution 2
---
## KEY TAKEAWAYS FOR AGENT
When helping developers with [this topic]:
1. **Always emphasize**:
- Key point 1
- Key point 2
2. **Common mistakes to watch for**:
- Mistake 1
- Mistake 2
3. **Questions to ask developers**:
- Question 1?
- Question 2?
---
## REFERENCE LINKS
- **Official Docs**: https://developer.fullstory.com/...
- **Help Center**: https://help.fullstory.com/...
---
*This skill document was created to help Agent understand and guide developers...*
Before submitting your skill:
- YAML front matter includes
name,version: v2,description, andrelated_skills - Overview section clearly explains the skill's purpose
- Core Concepts include visual diagrams where helpful
- API Reference matches official Fullstory documentation
- At least 3 GOOD examples with explanations
- At least 3 BAD examples with corrections
- Troubleshooting section covers common issues
- "Key Takeaways for Agent" section summarizes guidance
- Reference Links point to valid, official URLs
- Cross-references added to related skills (update their
related_skillstoo!) - Legal disclaimer included (for industry skills)
- Build tool warnings included (for CSS class-based features)
- Always verify API syntax against official documentation first
- Add examples for new use cases or patterns
- Update
related_skillsif new relevant skills exist - Check reference links are still valid
- Test examples to ensure they work correctly
- Use clear, descriptive section headers
- Include both code AND explanations
- Use tables for parameter documentation
- Use ASCII diagrams for visual concepts
- Use β /β emojis in good/bad examples
- Keep examples realistic and industry-relevant
- Avoid hallucinating API features - verify everything!
Technical implementation guides for each Fullstory API. Each skill has three files:
| File | Content |
|---|---|
SKILL.md |
Core concepts, API parameters, best practices (platform-agnostic) |
SKILL-WEB.md |
JavaScript/TypeScript implementation |
SKILL-MOBILE.md |
iOS, Android, Flutter, React Native implementation |
| Skill | Purpose | Platforms |
|---|---|---|
fullstory-identify-users |
Link sessions to users | Web + Mobile |
fullstory-anonymize-users |
End identified sessions | Web + Mobile |
fullstory-user-properties |
Set user attributes | Web + Mobile |
fullstory-page-properties |
Set page/screen context | Web + Mobile |
fullstory-element-properties |
Capture interaction-level data | Web + Mobile |
fullstory-analytics-events |
Track discrete business events | Web + Mobile |
fullstory-privacy-controls |
Implement masking/exclusion | Web + Mobile |
fullstory-user-consent |
GDPR/CCPA consent management | Web + Mobile |
fullstory-capture-control |
Pause/resume recording | Web + Mobile |
fullstory-observe-callbacks |
Session URL and lifecycle events | Web only* |
fullstory-logging |
Error and debug logging | Web + Mobile |
fullstory-async-methods |
Promise-based API patterns | Web only* |
*Web-only APIs have mobile equivalent patterns documented in their SKILL-MOBILE.md files.
Strategic guidance for implementation planning. Meta skills orchestrate which core skills to use and in what order.
| Skill | Purpose |
|---|---|
fullstory-getting-started |
THE definitive entry point β skill architecture, platform routing, SDK installation links |
fullstory-privacy-strategy |
Decision framework for data privacy |
universal-data-scoping-and-decoration |
Where to put data (user vs page vs element vs event) |
mobile-instrumentation-orchestrator |
Sequencing logic for mobile SDK implementation (Privacy β Identity β Navigation β Events) |
Tailored guidance for specific verticals:
| Industry | Skill | Key Focus Areas |
|---|---|---|
| Banking & Financial Services | fullstory-banking |
PCI DSS, GLBA, SOX; transaction masking; MFA flows |
| E-commerce & Retail | fullstory-ecommerce |
Conversion funnels; cart abandonment; product tracking |
| Gaming | fullstory-gaming |
Fraud detection; responsible gaming compliance; game iframe decoration; KYC/AML |
| Healthcare | fullstory-healthcare |
HIPAA; PHI exclusion; BAA requirements |
| B2B SaaS | fullstory-saas |
Feature adoption; onboarding; churn prediction |
| Travel & Hospitality | fullstory-travel |
Booking funnels; ancillaries; passport/ID exclusion |
| Media & Entertainment | fullstory-media-entertainment |
Video tracking; subscriptions; COPPA compliance |
| Skill | Purpose |
|---|---|
fullstory-stable-selectors |
Universal pattern for stable identifiers across ALL platforms |
fullstory-test-automation |
Test script generation leveraging Fullstory decoration |
File Structure (same three-file pattern as core skills):
| File | Content |
|---|---|
SKILL.md |
Core concepts (platform-agnostic) |
SKILL-WEB.md |
Web implementation (JavaScript/TypeScript) |
SKILL-MOBILE.md |
Mobile implementation (iOS, Android, Flutter, React Native) |
Why Stable Selectors? Modern build tools generate dynamic identifiers that change every buildβCSS class hashes on web, auto-generated view IDs on mobile. Stable semantic identifiers ensure Fullstory searches, defined elements, and click maps work reliably across deployments.
The stable selectors skill prepares your application for AI-driven automation:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Without Stable Selectors (Brittle) β
β Web: <button class="sc-abc123 xyz789"> β
β iOS: UIButton at 0x7f8b4c0123a0 β
β β Identifiers change every build/launch, AI navigation breaks β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β With Stable Selectors (Resilient) β
β Web: <button data-component="Checkout" data-element="pay"> β
β iOS: accessibilityIdentifier = "Checkout.pay" β
β β Semantic, stable, machine-readable forever β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Platform | Stable Identifier Mechanism |
|---|---|
| React / Next.js / Vue / Angular | data-component, data-element attributes |
| Svelte / Solid / Astro | data-component, data-element attributes |
| iOS (Swift / SwiftUI) | accessibilityIdentifier |
| Android (Kotlin / Compose) | contentDescription, testTag |
| React Native | testID |
| Flutter | Key, Semantics |
No external plugins requiredβuse native platform mechanisms with consistent naming conventions.
Different industries have vastly different requirements for Fullstory implementation:
Fullstory offers a Private by Default mode that inverts the capture defaultβeverything is masked unless explicitly unmasked. This is the recommended approach for high-sensitivity industries:
| Industry | Private by Default? | Rationale |
|---|---|---|
| Banking | β Highly recommended | Financial data, regulatory requirements |
| Healthcare | β Required | HIPAA PHI protection |
| SaaS (Enterprise) | Customer data in multi-tenant apps | |
| Gaming | Financial + responsible gaming data | |
| Travel | Passport, payment data | |
| E-commerce | β Usually not needed | Product data should be visible |
| Media | β Usually not needed | Content data is the analytics |
Enable Private by Default: Contact Fullstory Support or select during account setup.
Reference: Fullstory Private by Default
| Industry | Default Privacy Mode | Financial Data | User Content | Conversion Tracking | Primary Concern |
|---|---|---|---|---|---|
| Banking | Exclude | Exclude (ranges only) | Exclude | Limited | Regulatory (PCI, GLBA) |
| E-commerce | Unmask | Capture (orders) | Mostly capture | Rich | Conversion optimization |
| Gaming | Mixed | Exclude (ranges only) | Exclude | Careful | Responsible gaming |
| Healthcare | Exclude | Exclude | Exclude | Very limited | HIPAA compliance |
| SaaS | Unmask | Usually OK | Mask/Consider | Rich | Feature adoption |
| Travel | Unmask | Capture (bookings) | Mask | Rich | Booking optimization |
| Media | Unmask | N/A | Capture | Rich | Engagement metrics |
| Data Type | Banking | E-commerce | Gaming | Healthcare | SaaS | Travel | Media |
|---|---|---|---|---|---|---|---|
| User names | β | β | |||||
| β | β | ||||||
| Product/content names | N/A | β | β | N/A | β | β | β |
| Prices/amounts | β Ranges | β | β Ranges | β | β | β | β |
| Account balance | β | N/A | β | N/A | N/A | N/A | N/A |
| Transaction details | β | β | β | β | β | β | β |
| Search queries | β | β | β | β | β | ||
| Payment cards | β | β | β | β | β | β | β |
| Government IDs | β | β | β | β | β | β | β |
Legend: β
= Capture,
| Industry | Primary Regulations | Fullstory Requirements |
|---|---|---|
| Banking | PCI DSS, GLBA, SOX | Exclude all financial data; use ranges |
| E-commerce | PCI DSS, CCPA, GDPR | Exclude payment fields; consent for EU |
| Gaming | Gaming licenses, AML/KYC | Never analyze gaming patterns; exclude amounts |
| Healthcare | HIPAA, HITECH | BAA required; exclude ALL PHI; masking insufficient |
| SaaS | SOC 2, GDPR | Enterprise privacy options; consent for EU |
| Travel | PCI DSS, GDPR | Exclude passport/ID numbers; payment exclusion |
| Media | COPPA, GDPR | Never track children's profiles; consent |
skills/
βββ README.md # This file
β
βββ core/ # 12 Core API Skills (36 files)
β βββ fullstory-analytics-events/
β β βββ SKILL.md # Core concepts (platform-agnostic)
β β βββ SKILL-WEB.md # JavaScript/TypeScript implementation
β β βββ SKILL-MOBILE.md # iOS, Android, Flutter, React Native
β βββ fullstory-anonymize-users/
β β βββ SKILL.md
β β βββ SKILL-WEB.md
β β βββ SKILL-MOBILE.md
β βββ fullstory-async-methods/ # (web-only API)
β βββ fullstory-capture-control/
β βββ fullstory-element-properties/
β βββ fullstory-identify-users/
β βββ fullstory-logging/
β βββ fullstory-observe-callbacks/ # (web-only API)
β βββ fullstory-page-properties/
β βββ fullstory-privacy-controls/
β βββ fullstory-user-consent/
β βββ fullstory-user-properties/
β
βββ meta/ # 4 Meta/Strategy Skills
β βββ fullstory-getting-started/
β βββ fullstory-privacy-strategy/
β βββ mobile-instrumentation-orchestrator/ # Mobile SDK sequencing
β βββ universal-data-scoping-and-decoration/
β
βββ industry/ # 7 Industry-Specific Skills
β βββ fullstory-banking/
β βββ fullstory-ecommerce/
β βββ fullstory-gaming/
β βββ fullstory-healthcare/
β βββ fullstory-media-entertainment/
β βββ fullstory-saas/
β βββ fullstory-travel/
β
βββ framework/ # 2 Framework Integration Skills (6 files)
βββ fullstory-stable-selectors/
β βββ SKILL.md # Core concepts (platform-agnostic)
β βββ SKILL-WEB.md # Web: data-* attributes
β βββ SKILL-MOBILE.md # Mobile: accessibilityIdentifier, testID, Key
βββ fullstory-test-automation/
βββ SKILL.md # Core concepts (platform-agnostic)
βββ SKILL-WEB.md # Web test generation
βββ SKILL-MOBILE.md # Mobile test generation
Core skills use a three-file structure for platform-specific implementation:
fullstory-[skill-name]/
βββ SKILL.md # Core concepts (platform-agnostic)
βββ SKILL-WEB.md # Web implementation (JavaScript/TypeScript)
βββ SKILL-MOBILE.md # Mobile implementation (iOS, Android, Flutter, RN)
SKILL.md Frontmatter:
---
name: fullstory-skill-name
version: v3
description: Core concepts for...
platforms: [web, ios, android, flutter, react-native]
implementation_files: [SKILL-WEB.md, SKILL-MOBILE.md]
related_skills:
- other-skill-1
---SKILL-WEB.md / SKILL-MOBILE.md Frontmatter:
---
name: fullstory-skill-name-web # or -mobile
version: v3
platform: web # or platforms: [ios, android, flutter, react-native]
parent_skill: fullstory-skill-name
related_skills:
- other-skill-1
---SKILL.md (Core):
- Overview - What the API/concept does
- Core Concepts - Key principles (platform-agnostic)
- API Parameters - Parameters, types, limits
- Best Practices - Universal guidance
- Troubleshooting - Common issues
- Key Takeaways for Agent - Platform routing logic
- Reference Links - All platform docs
SKILL-WEB.md / SKILL-MOBILE.md (Implementation):
- Navigation blockquote - Links to sibling files
- API Reference - Platform-specific syntax
- β GOOD Examples - Correct implementations
- β BAD Examples - Anti-patterns with corrections
- Common Patterns - Framework-specific (React, Vue, etc. OR iOS, Android, etc.)
- Troubleshooting - Platform-specific issues
For any core skill, always read SKILL.md first for concepts, then the platform-specific file for implementation:
SKILL.mdβ Core concepts, API parameters, best practicesSKILL-WEB.mdβ JavaScript/TypeScript implementationSKILL-MOBILE.mdβ iOS, Android, Flutter, React Native implementation
- New to Fullstory? Start with
meta/fullstory-getting-started/SKILL.md - Know your industry? Jump to the relevant
industry/skill - Need specific API help? Read core skill's
SKILL.mdfirst, then platform file - Planning privacy? See
meta/fullstory-privacy-strategy/SKILL.md - Building mobile? See
meta/mobile-instrumentation-orchestrator/SKILL.mdfor sequencing
What do you need help with?
β
ββ "I'm just getting started"
β ββ β meta/fullstory-getting-started/SKILL.md (THE entry point)
β
ββ "Which API should I use?"
β ββ β meta/universal-data-scoping-and-decoration/SKILL.md
β
ββ "How do I identify users?"
β ββ β core/fullstory-identify-users/SKILL.md (concepts first)
β ββ Then β SKILL-WEB.md or SKILL-MOBILE.md (implementation)
β
ββ "What should I mask vs exclude?"
β ββ β core/fullstory-privacy-controls/SKILL.md (concepts first)
β ββ Then β SKILL-WEB.md or SKILL-MOBILE.md (implementation)
β
ββ "I work in [industry]"
β ββ β industry/fullstory-[industry]/SKILL.md
β
ββ "What order should I implement mobile SDK?"
β ββ β meta/mobile-instrumentation-orchestrator/SKILL.md
β (sequences which core SKILL.md files to read)
β
ββ "My CSS class names keep changing" (Web)
β ββ β framework/fullstory-stable-selectors/SKILL.md β SKILL-WEB.md
β
ββ "My view IDs are unstable" (Mobile)
ββ β framework/fullstory-stable-selectors/SKILL.md β SKILL-MOBILE.md
Skills are interconnected via the related_skills field in their YAML front matter. This enables Agent to:
- Navigate between related concepts
- Suggest additional relevant skills
- Build comprehensive implementation guidance
Example connections:
fullstory-identify-usersβfullstory-anonymize-users,fullstory-privacy-strategyfullstory-privacy-controlsβfullstory-banking,fullstory-healthcarefullstory-analytics-eventsβfullstory-ecommerce,fullstory-saas
| Category | Skills | Files | Focus |
|---|---|---|---|
| Core API | 12 | 36 | Technical implementation (SKILL.md + SKILL-WEB.md + SKILL-MOBILE.md) |
| Meta/Strategy | 4 | 4 | Planning, architecture, orchestration |
| Industry | 7 | 7 | Vertical-specific guidance |
| Framework | 2 | 6 | Stable selectors + test automation (SKILL.md + SKILL-WEB.md + SKILL-MOBILE.md) |
| Total | 25 | 53 | Complete Fullstory coverage across all platforms |
This repository documents Fullstory Browser API v2. Always verify API syntax against the official documentation as the API may evolve.
Official Documentation Links:
- Identify Users
- Anonymize Users
- Set User Properties
- Analytics Events
- Set Page Properties
- Capture Data (shutdown/restart)
- User Consent
- Callbacks and Delegates
- Logging
- Asynchronous Methods
- Privacy (Help Center)
All industry-specific skills contain regulatory guidance for educational purposes only. This guidance does not constitute legal advice. Regulations (PCI DSS, HIPAA, GDPR, GLBA, etc.) are:
- Complex and nuanced
- Jurisdiction-specific
- Subject to change
Always consult with your legal and compliance teams before implementing data capture solutions.
Modern CSS build tools (Tailwind, PostCSS purge, CSS Modules) may remove "unused" classes. Privacy classes like .fs-exclude, .fs-mask, .fs-unmask must be:
- Safelisted in your build configuration
- Verified in production HTML
- Tested in Fullstory to confirm they work
- Client-side hashing is NOT a security control - it's a privacy measure only
- CSS classes can be inspected by users
- Always use server-side processing for true security requirements
FSR - Enabling expert-level Fullstory semantic decoration guidance through Agent Skills