Skip to content
Back to skills

Lsc Performance Validation

ASecurity

Validates a Life Sciences Cloud (LSC) customer implementation against performance and scalability NFRs/SLAs. Use when the user asks about mobile sync performance, sync volume, how much data a rep will download, slow syncs, initial or delta sync times, device DB size, sync failure rate, DeviceSyncSummary telemetry, load or scalability checks, go-live performance readiness, or checking a configuration against NFRs.

  • 7 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentsgotestingapiperformancedocumentation

Works with

  • api

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add SalesforceLabs/lsc-for-claude --skill lsc-performance-validation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lsc Performance Validation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Lsc Performance Validation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/salesforcelabs-lsc-performance-validation-lsc-for-claude/badge)](https://www.skillsdirectory.com/skills/salesforcelabs-lsc-performance-validation-lsc-for-claude)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lsc-performance-validation
description: Validates a Life Sciences Cloud (LSC) customer implementation against performance and scalability NFRs/SLAs. Use when the user asks about mobile sync performance, sync volume, how much data a rep will download, slow syncs, initial or delta sync times, device DB size, sync failure rate, DeviceSyncSummary telemetry, load or scalability checks, go-live performance readiness, or checking a configuration against NFRs.
---

# LSC Performance & Scalability Validation

For QA and forward-deployed teams checking a customer configuration against performance NFRs before or after go-live. Every tool is **read-only** against the org and safe to run in production.

## Background docs

Explain *why* a table is heavy with sourced documentation instead of general knowledge:

| Topic | Call |
|-------|------|
| DB Schema filters and which objects sync | `search_lsc_knowledge({ query: "DB Schema mobile object sync SOQL filter" })` |
| Metadata cache | `get_lsc_module_docs({ module: "mobile-metadata-cache" })` |
| Territory alignment (it drives `{ACCOUNT.IDS}` / `{OT2A.OBJ.IDS}`) | `search_lsc_knowledge({ query: "territory alignment account assignment" })` |

## Which tool

| Question | Tool |
|----------|------|
| "How much will this rep sync?" / "Which tables are heavy?" / "Will this filter work on device?" | `profile_sync_volume({ users: [...] })` |
| "How are syncs performing in the field?" / "Are syncs failing?" | `analyze_sync_telemetry({ days: 30, users?, profileName? })` |
| "Does this config meet the customer's NFRs?" | `run_perf_assessment({ profilePath })`, or `/lsc:perf-assessment` |

## Workflow

1. **Get the NFRs.** Ask for the customer's NFR/SLA targets. Never invent thresholds. If there aren't any, run the tools anyway and present the measurements as a baseline, labelled "no threshold". The only built-in default is metadata download p95 (warn 5s / fail 10s, from the lsc-metadata-svc SLO).
2. **Pick personas.** For each role (rep, KAM, MSL, manager), choose the 2–3 *heaviest* real users: largest territory, most accounts, most permission sets. Averages hide the users who will actually hit the limits. `list_users` helps find them. Or give the persona `select: { profile, count }` instead of `users`, and each run tests that profile's `count` (1–10, default 3) heaviest active users — most territories in the active model first; listed `users` are tested first and the selection fills in. Add `preferSynced: true` to pick users who synced in the telemetry window first — field-telemetry metrics come only from the tested users' own `DeviceSyncSummary` rows, so users who haven't synced report **No data**.
3. **Write the profile.** Copy `docs/perf-nfr-profile.example.yaml` and replace every example value.
4. **Run** `run_perf_assessment`. Pass `outputPath` to keep JSON for re-runs and CI comparisons.
5. **Explain the drivers.** For each WARN or FAIL, name the user, territory, and table, and say what to change:
   - Large table → tighten its DB Schema `WhereSoql` (date window, status filter), or remove it from the profile or permission set that doesn't need it (`update_db_schema`).
   - High device request count → the table filters on `{ACCOUNT.IDS}` / `{OT2A.OBJ.IDS}` over a very large territory; review the alignment or filter on a smaller id set.
   - `error` rows → the filter doesn't execute for that user. It will fail on device too, so fix it first.
   - Slow delta sync with normal volume → compare the network and app-version breakdowns before blaming configuration.

## Accuracy caveats (always tell the user)

- The person running a test is usually an admin, but the counts are for the **persona user**. Each user's own DB Schema tables, territories, and `{USER.*}` tags scope the filters, so user- or territory-scoped tables are counted as that user would download them. Tables whose filter isn't scoped to the user are counted org-wide: exact when the object's org-wide default lets everyone read it, and flagged as an **upper bound** when sharing is restricted (`Private`, `ControlledByParent`, …) or unknown. Point out flagged tables when they drive a warn/fail. `countAsOrg` (an alias logged in as the persona user) makes even those exact, but it is rarely worth the setup.
- Predicted volume is for an **initial** sync. Deltas depend on change rate, so use telemetry for those.
- Tables filtered by content tags (`{related.entities}`, `{cont.docs}`, `{attachments}`), `{STI.OBJ.IDS}`, or both `{ACCOUNT.IDS}` and `{OT2A.OBJ.IDS}` are reported as `not-estimated`.
- Telemetry measures real devices, so slow hardware or networks show up in the numbers. Read the by-network breakdown before attributing slowness to configuration.
- This does **not** load-test the org. Concurrency and API load testing need a full-copy sandbox and must follow Salesforce's performance-testing policy. Never run them against production.

## Follow-up

- `get_db_schema` / `update_db_schema` to inspect or tighten a heavy table's filter
- `check_territory_config` when territory size drives the volume
- `check_mobile_cache_status` / `/lsc:generate-metadata-cache` when metadata download is slow because the cache is stale

Attribution

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

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.