Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Automate tasks on churchofjesuschrist.org and LCR (Leader & Clerk Resources). Use when logging into LDS church accounts, looking up ward/stake rosters, manag...
Automate tasks on churchofjesuschrist.org and LCR (Leader & Clerk Resources). Use when logging into LDS church accounts, looking up ward/stake rosters, manag...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Automate login and tasks on churchofjesuschrist.org.
The church uses OAuth via id.churchofjesuschrist.org. Any protected page redirects to login: Enter username → click Next Enter password → click Verify Redirects back to target page with session cookies No MFA or CAPTCHA is typically required. Playwright + playwright-stealth handles it cleanly.
Store in a password vault or environment variables: Username (church account email or membership ID) Password
import asyncio from playwright.async_api import async_playwright from playwright_stealth import Stealth async def login(target_url="https://lcr.churchofjesuschrist.org", cookies_path="/tmp/church_cookies.json"): async with async_playwright() as p: browser = await p.chromium.launch( headless=True, args=["--no-sandbox", "--disable-blink-features=AutomationControlled", "--disable-dev-shm-usage"] ) context = await browser.new_context( viewport={"width": 1920, "height": 1080}, user_agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 ..." ) page = await context.new_page() await Stealth().apply_stealth_async(page) await page.goto(target_url) # Enter username await page.fill('input[name="identifier"]', USERNAME) await page.click('button[type="submit"]') # Enter password await page.wait_for_selector('input[type="password"]') await page.fill('input[type="password"]', PASSWORD) await page.click('button[type="submit"]') # Wait for redirect await page.wait_for_url(f"{target_url}/**", timeout=30000) # Save session await context.storage_state(path=cookies_path.replace('.json', '_state.json')) await browser.close()
After login, use saved storage state to skip re-authentication: context = await browser.new_context( storage_state="/tmp/church_cookies_state.json", viewport={"width": 1920, "height": 1080}, user_agent="Mozilla/5.0 ..." ) page = await context.new_page() await Stealth().apply_stealth_async(page)
ServiceURLLCR (Leader & Clerk Resources)https://lcr.churchofjesuschrist.orgWard Directoryhttps://directory.churchofjesuschrist.orgCalendarhttps://www.churchofjesuschrist.org/calendarDonationshttps://donations.churchofjesuschrist.orgTemple Reservationshttps://tos.churchofjesuschrist.orgMy Homehttps://www.churchofjesuschrist.org/my-homeAccount Settingshttps://id.churchofjesuschrist.org/account
After login, LCR provides access to: Membership — member records, move-in/out, new members Callings — current callings, sustaining, setting apart Ministering & Welfare — assignments, needs Finance — tithing settlement, budget, donations Missionary — full-time and ward missionaries Temple — recommend status, temple activity Reports — attendance, quarterly reports
Login sessions persist via cookies — no need to re-login every request Headless Chrome with playwright-stealth avoids detection Storage state files contain auth tokens — treat as sensitive
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.