inapp-framework

Maintains the In-App Learning framework integration for Revenue Cloud Foundations builds.

33|12|Updated Sep 24, 2024
One-click install
npx skills add https://github.com/bgaldino/rlm-base-dev --skill inapp-framework-bgaldino
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: inapp-framework
Source: https://github.com/bgaldino/rlm-base-dev/tree/main/.cursor/skills/inapp-framework
Command: npx skills add https://github.com/bgaldino/rlm-base-dev --skill inapp-framework-bgaldino

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Maintaining the In-App Learning integration in Revenue Cloud Foundations requires coordinating a legacy SQL-to-SFDMU converter, per-release content remaps, strict RLM_Learning_* naming conventions, and deploy/reload/verify workflows, where mistakes like hand-editing CSVs or trusting SPA HTTP statuses silently corrupt data. ## Core Features & Use Cases - Converter-driven data pipeline: Edit convert_from_legacy.py and regenerate SFDMU v5 CSVs instead of hand-editing RLM_Learning_*.csv files, keeping the data idempotent and reproducible. - Per-release content updates: Remap Help, dev-guide, release-notes, and Trailhead IDs grounded against docs/salesforce/{release}/ snapshots, with reliable link verification beyond curl status codes. - Deploy, reload, and verify workflow: Run prepare_inapp or deploy plus load_inapp_dataset, then confirm the SectionBlockController returns resolved data and the Learning Home renders in a browser. - Use Case: When bumping learning content to a new Salesforce release, add renamed article IDs to the remap dicts, regenerate the dataset, validate with the SFDMU v5 scripts, reload a scratch org, and render-check the result. ## Quick Start Ask the agent to update the inapp learning content for the new release by editing the converter remap dicts, regenerating the dataset, validating it, and verifying on a scratch org.

Frequently Asked Questions about inapp-framework

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I update In-App Learning content for a new Salesforce release?

Add renamed Help, dev-guide, and release-notes IDs to the converter's HELP_ID_REMAP, DEVGUIDE_ID_REMAP, and RN_ID_REMAP dicts, verifying each target exists in docs/salesforce/{release}/. Then regenerate the CSVs, run the validation scripts, reload the dataset, and render-check the Learning Home.

How do I regenerate the SFDMU learning dataset after changes?

Edit datasets/sfdmu/inapp/convert_from_legacy.py and re-run it to regenerate the RLM_Learning_*.csv files; never hand-edit the CSVs. Re-running is idempotent, and you must then pass validate_sfdmu_v5_datasets.py and check_plan_readme_consistency.py before committing.

Why does the SectionBlock junction use Insert instead of Upsert in SFDMU?

The junction's composite-traversal externalId never matches on re-Upsert due to an SFDMU bug, so Upsert silently doubles junction records. It uses operation Insert with deleteOldData: true, which makes reloads idempotent.

Can I verify Salesforce Help and Trailhead links with curl status codes?

No. Help, dev-guide, Trailhead, and YouTube are SPAs that return HTTP 200 for dead pages, so curl status is unreliable. Cross-check ind.* IDs against the local docs snapshot, render the page and read its title, or use YouTube oembed, which returns 404 for dead videos.

Why did deleting an unused-looking LWC break the learning framework?

QuickActions reference LWCs via lightningWebComponent tags, which flexipage and import-graph reachability checks miss. Grep quickActions for lightningWebComponent references before deleting any LWC to avoid removing components still in use.