Claude-skill-registry activate-lightning-page
Activates a newly deployed Lightning App Page so it appears in the App Launcher. Use when you've deployed a new flexipage and need to make it accessible to users.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/activate-lightning-page" ~/.claude/skills/majiayu000-claude-skill-registry-activate-lightning-page && rm -rf "$T"
manifest:
skills/data/activate-lightning-page/SKILL.mdsource content
Activate Lightning App Page
Activates a newly deployed Lightning App Page via browser automation so it appears in the App Launcher.
Prerequisites
- Browser session already established via Playwright (see CLAUDE.md)
- Page already deployed to org
- User logged into Salesforce
Steps
1. Navigate to Lightning App Builder
await page.goto("https://chbd12461--partial.sandbox.lightning.force.com/lightning/setup/FlexiPageList/home") await asyncio.sleep(3)
2. Access iframe content
Setup pages render in an iframe:
iframe = await page.query_selector("iframe") frame = await iframe.content_frame()
3. Find and click on the page
Replace
$ARGUMENTS with the page name:
page_link = await frame.query_selector("a:has-text('$ARGUMENTS')") await page_link.click() await asyncio.sleep(3)
4. Click Edit button
Note the spaces in the value attribute:
edit_btn = await frame.query_selector("input[value=' Edit ']") await edit_btn.click() await asyncio.sleep(5)
5. Click Activation
Now in main page context, not iframe:
activation_btn = await page.wait_for_selector("button:has-text('Activation')") await activation_btn.click() await asyncio.sleep(3)
6. Save activation
Use the last Save button (the one in the dialog):
save_buttons = await page.query_selector_all("button:has-text('Save')") await save_buttons[-1].click() await asyncio.sleep(3)
7. Skip navigation menu prompt
skip_btn = await page.wait_for_selector("button:has-text('Skip and Save')") await skip_btn.click() await asyncio.sleep(2)
8. Verify
Take screenshot or look for "Activation successful" message:
await page.screenshot(path="/tmp/activation_result.png")
Result
- Page is now searchable in App Launcher
- Direct URL:
/lightning/n/Page_Name