Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Afls Mobile Validation

ASecurity

Validates AFLS Mobile app configuration to prevent issues. Use when user is preparing for mobile deployment, troubleshooting mobile sync issues, or asking about DB Schema / mobile cache configuration.

2 stars
0 votes
0 copies
0 views
Added 9/19/2026
ai-agentsgosqldocumentation

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add SalesforceLabs/afls-for-claude --skill afls-mobile-validation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Afls Mobile Validation?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Afls Mobile Validation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/salesforcelabs-afls-mobile-validation/badge)](https://www.skillsdirectory.com/skills/salesforcelabs-afls-mobile-validation)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: afls-mobile-validation
description: Validates AFLS Mobile app configuration to prevent issues. Use when user is preparing for mobile deployment, troubleshooting mobile sync issues, or asking about DB Schema / mobile cache configuration.
---

For mobile validation rules and guidance, call `search_afls_knowledge({ query: "mobile validation configuration" })` to get sourced documentation.


# AFLS Mobile Configuration Validator

You help validate AFLS mobile app configuration to prevent sync and functionality issues.

## Automated Validation

**IMPORTANT:** When validating mobile configuration, use the `audit_mobile_config` tool to run automated checks. This tool validates against known common issues and provides specific resolution steps.

### Quick Validation Groups

| Scenario | Command |
|----------|---------|
| User can't log in | `audit_mobile_config({ group: 'mobile-login-check' })` |
| Before go-live | `audit_mobile_config({ group: 'pre-deployment' })` |
| Sync not working | `audit_mobile_config({ group: 'sync-troubleshooting' })` |
| Full health check | `audit_mobile_config({ group: 'full-mobile-audit' })` |

### Check Trigger Handlers & Admin Console Settings

If validation reveals missing features or misconfiguration:
- `list_trigger_handlers()` — Check if required trigger handlers are enabled
- `toggle_trigger_handler({ handlerName: "...", active: true })` — Enable/disable a handler
- `list_admin_settings({ category: "..." })` — View Admin Console settings for a category
- `update_admin_setting({ recordId: "...", fields: { IsActive: true } })` — Update a setting

### Diagnosing Specific Errors

If the user reports a specific error message, use `diagnose_afls_issue` to find matching validation rules:

```
diagnose_afls_issue({ symptom: 'Device sync transaction record was not found' })
```

---

## Mobile Cache Status

**USE THE `check_mobile_cache_status` TOOL** to check cache status. Do NOT write SOQL queries manually.

```
check_mobile_cache_status()
```

**Objects that DO NOT EXIST (never query these):**
- `MobileMetadataCache__c`, `MobileApplicationDetail`, `lsc4ce__MobileMetadataCache__c` - NONE OF THESE EXIST

The correct object is `LifeSciMobileMetadataRecord` but the tool handles this for you.

### Key Fields (for reference)

| Field | Description |
|-------|-------------|
| `Name` | Name of the DB Schema record |
| `ProfileId` | Profile this schema is assigned to |
| `Status` | Active, Inactive, New, Published, Processing, etc. |
| `IntegrationStatus` | Error, New, Ok, Pending |
| `IntegrationErrorCode` | Error code if sync failed |
| `IntegrationErrorMessage` | Error details if sync failed |

## Admin Console Location

**Admin Console > Mobile > Object Metadata Cache Configuration**

This is where admins create and manage DB Schema records through the UI.

> **Tip:** For managing individual DbSchema records (create, update, delete, SOQL filters), see the `afls-db-schema` skill.

## Required DB Schema Records by Feature

Each AFLS feature requires specific DB Schema records to be active for mobile:

### Field Email
- Email template records
- Email fragment records
- Consent/subscription records

### Next Best Action (NBA)
- NBA configuration records
- Action records

### Next Best Customer (NBC)
- NBC settings records
- Provider/Account related records

### Lists & Filters
- Actionable list records

### App Alerts/Notifications
- Alert configuration records

### Visit Management
- Visit records
- Product discussion records
- Sample records (if sampling enabled)

### Sample Management
- Sample limit records
- Sample inventory records
- Sample transaction records

## Validation Workflow

When validating mobile configuration:

1. **Check setup status:**
   ```
   Use check_afls_setup to verify org connection
   ```

2. **Query all mobile metadata records:**
   ```sql
   SELECT Id, Name, Status, IntegrationStatus, IntegrationErrorCode, IntegrationErrorMessage
   FROM LifeSciMobileMetadataRecord
   ORDER BY Name
   ```

3. **Identify issues:**
   - Records with `IntegrationStatus = 'Error'`
   - Records with `Status != 'Active'` and `Status != 'Published'`
   - Missing records for enabled features

4. **Check profile assignments:**
   ```sql
   SELECT Id, Name, Profile.Name, Status
   FROM LifeSciMobileMetadataRecord
   WHERE ProfileId != null
   ```

5. **Report findings:**
   - List all configured schemas
   - Flag any errors or inactive records
   - Identify potentially missing schemas based on enabled features

## Common Mobile Issues

### Data Not Appearing on Mobile
**Query to run:**
```sql
SELECT Id, Name, Status, IntegrationStatus
FROM LifeSciMobileMetadataRecord
WHERE Name LIKE '%<feature>%'
```
**Fix**: Ensure Status is Active/Published and IntegrationStatus is Ok

### Mobile Sync Failures
**Query to run:**
```sql
SELECT Id, Name, IntegrationErrorCode, IntegrationErrorMessage
FROM LifeSciMobileMetadataRecord
WHERE IntegrationStatus = 'Error'
```
**Fix**: Review error messages and correct configuration

### Feature Not Working for Specific Profile
**Query to run:**
```sql
SELECT Id, Name, Profile.Name, Status
FROM LifeSciMobileMetadataRecord
WHERE Profile.Name = '<profile_name>'
```
**Fix**: Ensure required schemas are assigned to the profile

## Mobile Sync Objects

For deeper sync troubleshooting, also query:

| Object | Purpose |
|--------|---------|
| `DeviceSyncSummary` | Summary of synced data per device |
| `DeviceSyncTransaction` | Individual sync transactions |
| `DeviceSyncTransactionLog` | Sync logs with details |
| `DeviceSyncTransactionRecord` | Individual synced records |

**Example - Recent sync errors:**
```sql
SELECT Id, Name, Status, ErrorDescription
FROM BatchJob
WHERE Status = 'Failed' OR Status = 'CompletedWithFailures'
ORDER BY StartTime DESC
LIMIT 10
```

Attribution

SalesforceLabsSalesforceLabs
View sourceMore from SalesforceLabs →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

693621 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →