Skip to content
Agentmart
Submit a tool

lsc-briefings

Guides Briefings (Daily Podcasts) configuration and troubleshooting.

Skill by SalesforceLabs

IndexedApache-2.0★ 7
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/salesforcelabs-lsc-briefings

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Guides Briefings (Daily Podcasts) configuration and troubleshooting. Use when user asks about Briefings, Field Insights, Daily Podcasts, audio briefings, Kokoro TTS, PresentationContent, podcast text generation, or on-device audio.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/lsc-briefings

What's inside

Skill name
lsc-briefings
Description
Guides Briefings (Daily Podcasts) configuration and troubleshooting. Use when user asks about Briefings, Field Insights, Daily Podcasts, audio briefings, Kokoro TTS, PresentationContent, podcast text generation, or on-device audio.
License
Apache-2.0
Instructions
184 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

## How to Answer Briefings Questions

**Always call MCP tools to get sourced documentation.** Do not answer from general knowledge alone.

| User asks about... | Call this tool |
|---------------------|---------------|
| Briefings overview, setup steps, how it works | `search_lsc_knowledge({ query: "Briefings Daily Podcasts setup" })` |
| Briefings documentation | `get_lsc_module_docs({ module: "briefings" })` |
| Check if Briefings is configured | `check_briefings_config()` |
| Check a specific user's access | `check_briefings_config({ username: "user@org.com" })` |
| DB Schema / mobile cache for Briefings | `list_db_schema({ filter: "PresentationContent" })` |
| Mobile cache status | `check_mobile_cache_status()` |
| Permission sets for Briefings | `list_permission_sets()` |
| Troubleshoot why Briefings isn't working | `check_briefings_config()` then `diagnose_lsc_issue({ symptom: "<error>" })` |

---

## Configuration Mode

When the user asks about Briefings configuration, **ask them which mode they prefer**:

1. **Show me the documentation** — call `search_lsc_knowledge({ query: "Briefings setup" })` and present the relevant sections
2. **Walk me through it** — configure it directly in their org step-by-step (guided setup below)

Default to **guided setup** when connected to an org, or documentation mode if no org is connected.

### Guided Setup Workflow

#### Step 1: Run Comprehensive Check
```
check_briefings_config()
```

#### Step 2: Report Findings
Present the diagnostic results. Highlight FAIL items that need attention.

#### Step 3: Fix Issues
For each issue found, use the appropriate tool:

| Issue | Fix With |
|-------|----------|
| Briefings toggle OFF | Guide user to Setup → Life Sciences for Customer Engagement Setup → Configure Briefings → Toggle ON |
| Missing permission sets | `assign_permission_set({ label: "...", usernames: [...] })` |
| Missing Briefings permission (PermissionsStoriesUser/PermissionsStoriesAdmin) | Guide user through clone + enable "Use Briefings" or "Manage Briefings" system permission |
| Account Summarization not configured | Guide to Setup → Configure Account Summarization |
| No Content Definition | Guide to Configure Briefings → Manage Assignments |
| Scheduling flow not cloned | Guide through clone + activate flow |
| Missing DB Schema configs | `create_db_schema({ objectName: "PresentationContent" })` etc. |
| Stale mobile cache | `generate_mobile_metadata_cache({ profileNames: [...] })` |

#### Step 4: Verify
Re-run `check_briefings_config()` to confirm all issues are resolved.

---

## Key Technical Details

### Correct Object Names
- `PresentationContent` — generated briefing records
- `PrstContentDefinition` — content definition (NOT `PresentationContentDefinition`)
- `PrstCntntDefAssignment` — profile assignments (NOT `PresentationContentDefinitionAssignment`)
- `PrstCntntUsageSummary` — usage tracking (NOT `PresentationContentUsageSummary`)
- `PrvdAccountTerritorySummary` — account summarization output

### System Permissions (queryable via boolean fields on PermissionSet)

The feature shipped as **Briefings** in production (262). The API/XML names use the legacy **Stories** naming — they were not renamed when the feature was rebranded. Both are correct.

| UI Label (Setup) | SOQL field on PermissionSet | XML `<name>` in metadata | Who needs it |
|---|---|---|---|
| **Manage Briefings** | `PermissionsStoriesAdmin` | `StoriesAdmin` | Admins |
| **Use Briefings** | `PermissionsStoriesUser` | `StoriesUser` | End users (reps) |

- Query: `SELECT Id, Label FROM PermissionSet WHERE PermissionsStoriesAdmin = true AND IsCustom = true`
- Query: `SELECT Id, Label FROM PermissionSet WHERE PermissionsStoriesUser = true AND IsCustom = true`
- Do NOT search by perm set label — admins can name them anything

### Programmatic Creation of Cloned Permission Sets

Cloned perm sets can be created via metadata deploy (`sf project deploy start`). **Do NOT include a `<license>` element** — it causes deploy failures.

**Admin perm set (StoriesAdmin):**
```xml
<?xml version="1.0" encoding="UTF-8"?>
<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
    <label>Life Sciences Commercial Admin - Briefings</label>
    <hasActivationRequired>false</hasActivationRequired>
    <userPermissions>
        <enabled>true</enabled>
        <name>StoriesAdmin</name>
    </userPermissions>
</PermissionSet>
```
- Auto-assign to the currently authenticated admin user (the user running this configurator)

**End user perm set (StoriesUser):**
```xml
<?xml version="1.0" encoding="UTF-8"?>
<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
    <label>Life Sciences [Role] - Briefings</label>
    <hasActivationRequired>false</hasActivationRequired>
    <userPermissions>
        <enabled>true</enabled>
        <name>StoriesUser</name>
    </userPermissions>
</PermissionSet>
```

**Determining which base role to name the cloned set after:**
1. Ask the user which end user(s) will receive Briefings — never auto-assign
2. Query those users' profiles: `SELECT Id, Profile.Name FROM User WHERE Username = '<username>'`
3. Map profile to role name for the label:

| End User Profile | Base Perm Set (reference) | Suggested Cloned Label |
|-----------------|--------------------------|----------------------|
| Field Sales Representative | `LifeSciencesFieldSalesRepresentative` | "Life Sciences Field Sales Rep - Briefings" |
| Key Account Manager | `LifeSciencesKeyAccountManager` | "Life Sciences KAM - Briefings" |
| Medical Science Liaison | `LifeSciencesFieldMedical` | "Life Sciences MSL - Briefings" |

From SalesforceLabs/lsc-for-claude, Apache-2.0.

More from SalesforceLabs/lsc-for-claude

Signals

Stars
7
Forks
2
Open issues
0
Last commit (this folder)
Oct 13, 2026 (15 days ago)
Last release
Oct 22, 2026 (6 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from SalesforceLabs

Cite this page

lsc-briefings skill. Agent Mart. https://agentmart.dev/skills/salesforcelabs-lsc-briefings (last updated 2026-10-24)