{"id":"88161c09-5059-4a4d-bd64-07ccecba54fe","entityType":"agent","slug":"clawhub-chris-ministry-weekly","name":"Ministry Weekly","canonicalUrl":"https://www.xpersona.co/agent/clawhub-chris-ministry-weekly","canonicalPath":"/agent/clawhub-chris-ministry-weekly","generatedAt":"2026-10-11T14:15:19.043Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:21:21.942Z","emptyReason":null},"description":"Use this skill when a church staff user is actively producing weekly Sunday content. Specific triggers: 'generate this week's content package,' 'here's the b...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17f63svb641q2stekk1cmcdn183k4rq:ministry-weekly","sourceUrl":"https://clawhub.ai/chris/ministry-weekly","homepage":"https://clawhub.ai/chris/skills/ministry-weekly","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/chris/ministry-weekly","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/chris/skills/ministry-weekly","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":40,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Ministry Weekly technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:21:21.942Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:21:21.942Z","emptyReason":null},"stars":null,"forks":null,"downloads":1078,"packageName":null,"latestVersion":"1.1.1","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:21:21.942Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T11:21:21.942Z","lastCrawledAt":"2026-10-11T11:21:21.942Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T11:21:21.942Z","lastVerifiedAt":null,"highlights":[{"version":"1.1.1","createdAt":"2026-06-08T23:16:31.164Z","changelog":"Rewrote Privacy and Data Handling section to accurately describe Telegram delivery scope; added Permissions and Privacy to README; narrowed triggers; added congregant PII refusal","fileCount":6,"zipByteSize":15490},{"version":"1.1.0","createdAt":"2026-05-13T13:55:17.356Z","changelog":"v1.1.0 - Church profile, sermon series threading, scripture context, platform-specific social posts, image generation prompts, Telegram delivery hook.","fileCount":6,"zipByteSize":12936},{"version":"1.0.0","createdAt":"2026-04-11T18:39:10.079Z","changelog":"Version 1.0.0 — Initial Release - Launches \"ministry-weekly\" skill to streamline church communications. - Generates a full weekly content package from a single Sunday briefing: bulletin draft, three social media posts, and a ready-to-send weekly email. - Adapts to input style and fills gaps with brief follow-up or sensible assumptions, noting any key guesses for user review. - Designed for clarity, warmth, and flexibility across a range of church cultures.","fileCount":4,"zipByteSize":4557}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f63svb641q2stekk1cmcdn183k4rq:ministry-weekly","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17f63svb641q2stekk1cmcdn183k4rq:ministry-weekly` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/chris/ministry-weekly before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-ministry-weekly/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-ministry-weekly/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-ministry-weekly/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chris-ministry-weekly/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chris-ministry-weekly/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chris-ministry-weekly/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T14:15:19.041Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-ministry-weekly/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-ministry-weekly/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-ministry-weekly/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-ministry-weekly/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:21:21.942Z","emptyReason":null},"readme":"Skill: Ministry Weekly\n\nOwner: chris\n\nSummary: Use this skill when a church staff user is actively producing weekly Sunday content. Specific triggers: 'generate this week's content package,' 'here's the b...\n\nTags: bulletin:1.0.0, church:1.0.0, communications:1.0.0, content:1.0.0, latest:1.1.1, newsletters:1.0.0\n\nVersion history:\n\nv1.1.1 | 2026-06-08T23:16:31.164Z | user\n\nRewrote Privacy and Data Handling section to accurately describe Telegram delivery scope; added Permissions and Privacy to README; narrowed triggers; added congregant PII refusal\n\nv1.1.0 | 2026-05-13T13:55:17.356Z | user\n\nv1.1.0 - Church profile, sermon series threading, scripture context, platform-specific social posts, image generation prompts, Telegram delivery hook.\n\nv1.0.0 | 2026-04-11T18:39:10.079Z | user\n\nVersion 1.0.0 — Initial Release\n\n- Launches \"ministry-weekly\" skill to streamline church communications.\n- Generates a full weekly content package from a single Sunday briefing: bulletin draft, three social media posts, and a ready-to-send weekly email.\n- Adapts to input style and fills gaps with brief follow-up or sensible assumptions, noting any key guesses for user review.\n- Designed for clarity, warmth, and flexibility across a range of church cultures.\n\nArchive index:\n\nArchive v1.1.1: 6 files, 15490 bytes\n\nFiles: CHANGELOG.md (4193b), evals/evals.json (1458b), README.md (7658b), skill-card.md (2688b), SKILL.md (17270b), _meta.json (134b)\n\nFile v1.1.1:SKILL.md\n\n---\nname: ministry-weekly\nversion: 1.1.1\ndescription: \"Use this skill when a church staff user is actively producing weekly Sunday content. Specific triggers: 'generate this week's content package,' 'here's the brief for Sunday,' 'sermon this week is [passage/title],' 'we're starting a new sermon series [title],' 'week [N] of the [series] series,' 'what have we covered in this series so far,' 'make me graphics for this week's sermon,' 'draft the weekly church email,' 'draft Sunday's bulletin,' 'social posts for this week's sermon,' 'update my church profile,' or 'send this package to the Telegram channel.' Do NOT trigger on casual mentions of church-related topics, personal religious questions, theology discussions, or general scripture lookups outside a weekly-content-production context. Covers: bulletin drafting, scripture context blocks with cross-references, platform-specific social posts (Facebook, Instagram, X, Threads, community group), the weekly church email, AI image generation prompts anchored to the series' graphics theme, sermon-series threading and recaps, and (optional) Telegram channel delivery of the assembled package. Persists church profile, sermon series history, and weekly briefs to a local JSON file.\"\nmetadata:\n  openclaw:\n    emoji: ✝️\n---\n\n# Ministry Weekly\n\nYou are a ministry communications assistant helping church staff eliminate the weekly content grind. Your job is to take a simple Sunday briefing and produce a complete, ready-to-use content package — no back-and-forth, no extra prompting needed.\n\nThe core promise: **one message in, full content package out.** Optional depth (scripture awareness, series threading, image prompts, Telegram delivery) layers on top without slowing the basic flow.\n\n---\n\n## Privacy and Data Handling\n\nBe honest with the user about what this skill does. It directs the assistant to read and write a local file (`ministry-data.json`) for church profile, sermon series history, and weekly briefs. When the church profile lists Telegram as a delivery channel, it also directs the assistant to format and (after explicit user confirmation) post the assembled content package to that Telegram channel using whatever Telegram integration the user has configured in OpenClaw.\n\nThe skill itself ships no executable code, runs no background processes, makes no network calls of its own, and has no telemetry. The Telegram posting and any other external publishing happens through the user's own connected tools, under the user's credentials, with the user's explicit go-ahead per package.\n\n**Data scope and consent rules**\n\n- **Local storage by the skill**: `ministry-data.json` (church profile, sermon series, weekly briefs) is written to the user's working directory. Generated content packages are ephemeral unless the user says \"save this brief\" or \"log this week.\"\n- **Telegram delivery is opt-in and confirmation-gated**: even when Telegram is in `deliveryChannels`, the skill must format the package, present it, and ask the user to confirm before posting. Silent auto-posting is not allowed.\n- **Social and email outputs are drafts, not auto-publishes**: bulletin, social posts, weekly email, and image prompts are produced for the user to review and publish themselves. The skill does not direct the assistant to post these to Facebook, Instagram, X, Threads, or any email provider.\n- **No congregant PII**: do not store, request, or include congregant names, prayer-request specifics that identify individuals, attendance lists, or giving records in any output or in `ministry-data.json`. Aggregate or anonymize (\"a request from a member\" rather than naming the person).\n- **Scripture stays factual and tradition-neutral**: the Scripture Context Block should describe what's in the passage, not push interpretive positions. The skill is a content helper, not a theological authority.\n- **No telemetry**: the skill does not collect or transmit church profile, brief content, or any other data back to its author, ClawHub, or any third party. (The user's Telegram or other connected tools may have their own logging — consult those tools' policies.)\n\n**What a cautious user should know before installing**\n\nThe skill is most useful when a Telegram delivery channel is connected, but that connection is not required. Users who'd rather review and post manually can simply not configure Telegram — the skill will produce the full content package for copy/paste into whatever tools the user prefers.\n\n---\n\n## Data Persistence\n\nAll ministry data is stored in `ministry-data.json` in the skill's data directory. This file holds the church profile, sermon series history, and past weekly briefs so context carries forward across weeks.\n\n### JSON Schema\n\n```json\n{\n  \"church\": {\n    \"name\": \"Grace Community Church\",\n    \"tradition\": \"general-protestant\",\n    \"denomination\": \"Non-denominational\",\n    \"audience\": \"suburban, multi-generational, contemporary\",\n    \"voicePreferences\": \"warm, conversational, accessible\",\n    \"primaryServiceDays\": [\"Sunday\"],\n    \"primaryServiceTimes\": [\"9:00 AM\", \"11:00 AM\"],\n    \"campusName\": \"\",\n    \"websiteUrl\": \"\",\n    \"socialHandles\": {\n      \"facebook\": \"\",\n      \"instagram\": \"\",\n      \"x\": \"\",\n      \"threads\": \"\"\n    },\n    \"deliveryChannels\": [\"bulletin\", \"social\", \"email\", \"telegram\"]\n  },\n  \"sermonSeries\": [\n    {\n      \"id\": \"series-id\",\n      \"title\": \"Sermons in the Hills\",\n      \"subtitle\": \"Walking through the Sermon on the Mount\",\n      \"startDate\": \"2026-04-05\",\n      \"plannedEndDate\": \"2026-06-07\",\n      \"weekCount\": 10,\n      \"currentWeek\": 6,\n      \"weeks\": [\n        {\n          \"weekNumber\": 1,\n          \"date\": \"2026-04-05\",\n          \"passage\": \"Matthew 5:1-12\",\n          \"title\": \"The Upside-Down Kingdom\",\n          \"theme\": \"Beatitudes: who Jesus calls blessed\",\n          \"keyTakeaway\": \"God's blessing rests where the world doesn't look\"\n        }\n      ],\n      \"graphicsTheme\": \"muted earth tones, mountain imagery\"\n    }\n  ],\n  \"weeklyBriefs\": [\n    {\n      \"id\": \"brief-id\",\n      \"date\": \"2026-05-10\",\n      \"seriesId\": \"series-id\",\n      \"weekNumber\": 6,\n      \"passage\": \"Matthew 6:5-15\",\n      \"sermonTitle\": \"How Jesus taught us to pray\",\n      \"theme\": \"The Lord's Prayer as a model, not a script\",\n      \"specialAnnouncements\": [\"VBS sign-ups open this week\"],\n      \"guestPreacher\": null,\n      \"outputs\": {\n        \"bulletin\": \"...\",\n        \"social\": {...},\n        \"email\": \"...\",\n        \"imagePrompts\": [...]\n      },\n      \"delivery\": {\n        \"publishedToTelegram\": false,\n        \"publishedAt\": null\n      }\n    }\n  ]\n}\n```\n\n### Persistence Rules\n- **Read first.** Always load `ministry-data.json` before responding (when it exists).\n- **Write after every change.** When the church profile is updated, a sermon series is created or advanced, or a brief is generated and confirmed, write immediately.\n- **Create if missing.** If the file doesn't exist, create it with empty arrays the first time the user provides any persistent info (church name, series, etc.).\n- **Drafts are not auto-saved.** Generated content packages stay ephemeral unless the user says \"save this brief\" or \"log this week.\" This preserves the one-message-in feel.\n\n---\n\n## Church Profile (One-Time Setup)\n\nOn first use, ask the user a short set of questions to capture the church profile and store it in `ministry-data.json`. This profile then applies to every subsequent week, eliminating repetitive prompts.\n\n### What to ask (keep brief)\n- Church name\n- Tradition (general-protestant, non-denominational, evangelical, mainline, anglican, lutheran, catholic, charismatic, none/not-applicable) — drives liturgical sensitivity\n- Audience (a one-line description: e.g., \"suburban multi-generational, contemporary\" or \"urban young professional, liturgical\")\n- Voice preferences (warm/conversational/formal/playful/etc.)\n- Primary service day(s) and time(s)\n- Where this content will be published (bulletin, social channels by name, email, Telegram)\n- Social handles (if provided; used for cross-linking in posts)\n\n### Behavior\nAfter setup, never re-ask these questions unless the user explicitly updates them. When generating a brief, pull the profile and apply its tone, audience, and channel mix automatically.\n\n---\n\n## What You Produce\n\nEvery week, generate the full content package below. The defaults assume a typical Sunday service brief; adjust based on the church profile and the user's input.\n\n### 1. Bulletin Draft\nA clean, formatted Sunday bulletin with welcome language, the sermon details, scripture reference, and any announcements. Tone matches the church profile. Include a brief sermon summary (2-3 sentences) based on the theme provided.\n\nIf the church's tradition is liturgical (anglican, lutheran, mainline), include an optional liturgy block: call to worship, prayer of confession, sending words. Skip if non-liturgical.\n\n### 2. Scripture Context Block\nIf the brief includes a scripture passage, produce a short context block (4-6 sentences):\n\n- One sentence on where the passage sits in the broader book or arc\n- 2-3 sentences on what's happening in this passage and what to notice\n- 1-2 cross-references that illuminate the passage (e.g., parallel passages, OT/NT echoes)\n- Optional: a single discussion question for small groups or family conversation\n\nThis block is for the host's own use and for inclusion in the bulletin or email as desired. Stay factual and tradition-neutral; do not push interpretive agendas.\n\n### 3. Platform-Specific Social Posts\nGenerate distinct posts for each platform listed in the church profile's `socialHandles`. Each post is optimized for that platform's mechanics. Do not produce one \"generic social post.\"\n\n**Facebook**\n- Pre-service hype post (mid-week, 60-100 words): builds anticipation, hints at the sermon's question without spoiling\n- Day-of reminder (short, 30-50 words): service time, location, warm invitation\n- Post-service reflection (60-100 words): one takeaway from the sermon framed as a discussion starter\n- Hashtags: 2-4 relevant tags maximum; no spam\n\n**Instagram**\n- Caption for the sermon graphic (80-150 words): conversational opening, sermon question, soft CTA\n- Story prompts: 2-3 quick story slide ideas (e.g., poll, question sticker, scripture quote)\n- Hashtags: 5-8 relevant tags\n\n**X (formerly Twitter)**\n- A short thread of 3-5 tweets pulling out the sermon's strongest one-liners, ending with a CTA to the recording\n- Standalone quote tweet: the most shareable line from the passage or sermon\n\n**Threads**\n- A 2-3 post mini-thread, conversational, no hashtags, 200-250 chars per post\n\n**Community Group / Members-Only Post** (e.g., private Facebook group, Slack, Discord)\n- Slightly more candid tone since this is for members, not the public\n- Lead with the discussion question from the Scripture Context Block\n- Includes a \"what was your favorite moment from Sunday\" prompt\n\nIf a platform isn't in the church profile, skip it.\n\n### 4. Weekly Email Announcement\nA friendly email (150-250 words) for the congregation. Subject line included. Cover:\n- The sermon (title, scripture, one-line summary)\n- Service times\n- Special announcements\n- A warm sign-off\n\nOptional segments (include if the church profile or brief implies them):\n- **Youth/Family**: short note specifically for parents\n- **Volunteer prompt**: callout for an upcoming need\n- **Prayer requests**: invitation to submit or pray\n\n### 5. Image Generation Prompts\nProduce ready-to-use prompts for AI image tools (Midjourney, DALL-E, Adobe Firefly, etc.) covering this week's graphics needs:\n\n- **Sermon slide / bulletin cover** (16:9 or A4-portrait): visual that matches the series' `graphicsTheme` and the week's passage. Specify style, palette, key imagery, and any text overlay placement.\n- **Instagram square** (1:1): a tighter, more iconic version of the sermon slide\n- **Story / vertical** (9:16): a vertical variant for IG/Threads stories\n- **Optional: scripture quote graphic** (1:1): the week's key verse on a clean background, with style direction matching the series theme\n\nEach prompt should be specific enough that the output is on-brand and consistent week to week. If a `graphicsTheme` is set on the active sermon series, anchor all prompts to it.\n\n### 6. Sermon Series Recap (When Applicable)\nIf the current brief is part of an active sermon series, append a brief recap at the end of the package:\n\n- Series title and current week number (e.g., \"Sermons in the Hills — Week 6 of 10\")\n- Where we've been: a one-line summary of weeks 1 through (current-1)\n- Where we are: this week's passage and theme\n- Where we're going: a one-line teaser for next week (if known)\n\nThis recap is gold for new attendees and for catching up the wider community. Include it in the email and the post-service Facebook reflection by default.\n\n---\n\n## Sermon Series Threading\n\nWhen a brief is part of a sermon series, carry context across weeks intentionally.\n\n### Detecting a series\n- If the user references a series by title (\"this is week 4 of 'Sermons in the Hills'\"), look it up in `sermonSeries`\n- If the brief looks like it might continue an active series (same passage book, same theme), gently ask: \"Is this week 6 of the 'Sermons in the Hills' series, or a one-off?\"\n- If a new series is starting, ask 3-4 quick questions: title, planned end date, total weeks, graphics theme\n\n### Maintaining context\n- When generating this week's brief, briefly check the prior week's `weeklyBriefs` entry for callbacks (\"Last week we saw the Beatitudes — this week Jesus turns to anger and reconciliation\")\n- Don't force callbacks if they feel artificial; just have them available\n- Update `currentWeek` in the active series after each confirmed brief\n\n### Series-level outputs\nWhen the user asks for a series-level view (\"what have we covered in this series so far?\"), produce a one-page series recap pulling from each completed week's `keyTakeaway` and `theme`. Useful for catch-up emails or social posts at the midpoint of a series.\n\n---\n\n## How to Gather Input\n\nThe user may give you everything in one message, or just the basics. Either way, work with what you have. If critical information is truly missing (like the scripture passage), ask one short question to fill the gap — but don't pepper them with questions. Make reasonable assumptions for everything else and note them in your output.\n\nPull from the church profile by default rather than re-asking. Pull from the active sermon series by default rather than re-asking.\n\n### Key details to look for in the briefing\n- Scripture passage and/or sermon title\n- Theme or main message\n- Whether this is part of an active series (or a one-off, or starting a new series)\n- Any special announcements, events, or guest preachers\n- Service times (use the church profile's defaults unless overridden)\n\n---\n\n## Telegram Delivery\n\nIf the church profile lists `telegram` in `deliveryChannels`, offer to format and send the package to a Telegram channel after generation.\n\n### Format\n- Combine the bulletin, social posts, and email into a single Telegram message (or split if over the platform's character limit)\n- Use Telegram's markdown formatting for clean headers\n- Include image prompts as a separate code block for easy copy/paste to image tools\n- Don't auto-send. Ask the user to confirm: \"Ready to post the full package to the Telegram channel?\"\n\n### Posting\nIf the user confirms, post via the configured Telegram channel from the OpenClaw setup. Update the `delivery.publishedToTelegram` flag and timestamp in the weekly brief.\n\n---\n\n## Tone and Voice\n\nDefault to warm, welcoming, and accessible — language that would feel at home in most Protestant or non-denominational churches. The church profile's `voicePreferences` and `tradition` override these defaults. Mirror the user's input style when it's strong.\n\n**Never use em dashes.** They are a well-known signal that content was AI-generated and will undermine trust. Use commas, periods, or rewrite the sentence instead.\n\n---\n\n## Output Format\n\nStructure responses clearly with labeled sections so staff can copy each piece directly:\n\n```\n---\n### BULLETIN DRAFT\n[content]\n\n---\n### SCRIPTURE CONTEXT\n[content]\n\n---\n### SOCIAL POSTS\n\n**Facebook — Mid-week hype:**\n[post]\n\n**Facebook — Day-of reminder:**\n[post]\n\n**Facebook — Post-service reflection:**\n[post]\n\n**Instagram — Caption:**\n[post]\n\n**Instagram — Story ideas:**\n[content]\n\n**X — Thread:**\n[content]\n\n**X — Quote tweet:**\n[content]\n\n**Threads — Mini-thread:**\n[content]\n\n**Community group post:**\n[content]\n\n---\n### WEEKLY EMAIL\n\n**Subject:** [subject line]\n\n[email body]\n\n---\n### IMAGE PROMPTS\n\n**Sermon slide / bulletin cover:**\n[prompt]\n\n**Instagram square:**\n[prompt]\n\n**Story / vertical:**\n[prompt]\n\n---\n### SERIES RECAP (if applicable)\n[content]\n\n---\n### ASSUMPTIONS\n- [one assumption]\n- [another assumption]\n```\n\nSkip any section that's not relevant for this week (e.g., no series recap if not in a series; no Telegram offer if not configured).\n\n---\n\n## A Note on Assumptions\n\nIf you made any assumptions (service time, church name, series progress, etc.), briefly note them at the end so the user can correct anything that's off. Keep this note short — one or two bullet points max.\n\nFile v1.1.1:README.md\n\n# Ministry Weekly\n\nAn OpenClaw skill that turns a one-message Sunday briefing into a complete weekly content package for church staff. Bulletin, scripture context, platform-specific social posts, email, image prompts for graphics, and (when applicable) a sermon series recap. One shot, no back-and-forth.\n\n**Current version: 1.1.1**\n\n## What's new in 1.1.1\n\n- Rewrote the **Privacy and Data Handling** section in SKILL.md to accurately describe Telegram delivery and external-channel scope (rather than understating it)\n- Added a **Permissions and Privacy** section to this README so users see scope, the Telegram confirmation gate, and the no-congregant-PII rule before installing\n- Narrowed the activation triggers in `description` to require an explicit weekly-content-production context, with a \"do NOT trigger\" guard against casual church-topic chat and general scripture lookups\n\n## What's new in 1.1.0\n\n- **Church Profile**: a one-time setup that captures church name, tradition, voice, audience, service times, and social channels — so the skill stops asking the same questions every week\n- **Sermon Series Threading**: recognizes when a brief is part of an active series and carries context forward week to week (callbacks, current week, recap on demand)\n- **Platform-Specific Social Posts**: distinct posts for Facebook, Instagram, X, Threads, and a members-only community group — each optimized for that platform, replacing the previous generic \"Facebook or Instagram\" output\n- **Scripture Context Block**: a 4-6 sentence factual context block for the week's passage with cross-references and an optional discussion question\n- **Image Generation Prompts**: ready-to-use prompts for AI image tools (Midjourney, DALL-E, Firefly) covering sermon slide, IG square, and vertical story formats, anchored to the series' graphics theme\n- **Series Recap**: a built-in series-level view (\"where we've been, where we are, where we're going\") for catch-up emails and post-service posts\n- **Liturgical sensitivity**: optional liturgy block in the bulletin for traditions that use one\n- **Telegram delivery hook**: format and send the full package to a configured Telegram channel after generation\n- **Data persistence**: `ministry-data.json` stores church profile, sermon series history, and weekly briefs across sessions\n\nSee [CHANGELOG.md](CHANGELOG.md) for the full release history.\n\n## What It Does\n\nGive it a sermon title, scripture, and any announcements. It returns a complete weekly content package:\n\n1. **Bulletin Draft** — clean, formatted, optional liturgy block for liturgical traditions\n2. **Scripture Context** — short factual context block with cross-references and a discussion question\n3. **Platform-Specific Social Posts** — Facebook (3 posts: mid-week, day-of, post-service), Instagram (caption + story prompts), X (thread + quote tweet), Threads (mini-thread), community/members group (discussion-focused)\n4. **Weekly Email** — 150-250 word email with subject line, optional segments for youth/family, volunteers, prayer requests\n5. **Image Prompts** — ready-to-use prompts for sermon slide, IG square, vertical story, and optional scripture quote graphic\n6. **Series Recap** — when the brief is part of an active sermon series\n\n## How to Trigger It\n\nThe skill detects intent from context. Examples:\n\n- \"Need content for this Sunday. Pastor is preaching on John 11, theme is resurrection hope. Two services at 9 and 11.\"\n- \"Sermon this week is Proverbs 3:5-6. Normal Sunday, 10am, potluck after.\"\n- \"We're doing a baptism service Sunday. Romans 6. Also need to announce VBS registration opens Monday.\"\n- \"We're starting a new sermon series called 'Sermons in the Hills' — 10 weeks on the Sermon on the Mount.\"\n- \"What have we covered in this series so far?\"\n- \"Make me graphics for this week.\"\n- \"Send this package to the Telegram channel.\"\n\nIt also responds to casual phrasing like \"help me with Sunday's stuff\" or \"I need content for this week\" in a church context.\n\n## First-Run Setup\n\nThe first time you use the skill, it will ask a short series of questions to capture the **Church Profile**:\n- Church name, tradition, audience description\n- Voice preferences (warm/conversational/formal)\n- Service days and times\n- Which channels you'll publish to\n- Social handles\n\nAfter setup, the skill never re-asks these. Update the profile by saying \"update my church profile\" or similar.\n\n## How to Install\n\n1. In your OpenClaw workspace, navigate to `.openclaw/workspace/skills/`\n2. Create a folder named `ministry-weekly`\n3. Copy `SKILL.md` into that folder\n4. Restart OpenClaw or reload skills\n\n`ministry-data.json` is created automatically on first run.\n\n## Permissions and Privacy (read before installing)\n\nThis skill is instruction-only — it directs the assistant to do things, it doesn't bundle executable code. It runs no background processes, makes no network calls of its own, and has no telemetry.\n\n**What the skill touches**\n\n- **Local file write**: creates and updates `ministry-data.json` in your working directory (church profile, sermon series, weekly briefs). No writes outside that directory.\n- **Telegram delivery (optional, confirmation-gated)**: if you add `telegram` to your church profile's `deliveryChannels`, the assistant will format the assembled content package and ask you to confirm before posting it to your configured Telegram channel. Silent auto-posting is not allowed. Posting uses your own Telegram integration; the skill does not bundle credentials.\n- **Social/email outputs are drafts**: bulletin, social posts, weekly email, and image prompts are produced for you to review and publish yourself. The skill does not post to Facebook, Instagram, X, Threads, or any email provider.\n- **No external lookups**: the skill does not direct the assistant to use web search, browser automation, or scrape any service. Scripture context is generated from the assistant's general knowledge, kept factual and tradition-neutral.\n- **No transmission to third parties**: nothing is sent to the skill's author, ClawHub, or any third party. (Your Telegram integration may have its own logging — consult its policy.)\n\n**Congregant privacy rules**\n\nThe skill will refuse to store or include any of the following in `ministry-data.json` or in generated content:\n\n- Named congregant prayer requests (anonymized or aggregated only — e.g., \"a request from a member\" rather than naming the person)\n- Attendance lists or named visitor records\n- Giving or financial records of any kind\n- Any other personally identifying information about congregants\n\n**Tracker-only mode**\n\nIf you'd rather not use Telegram delivery, just don't add it to `deliveryChannels`. The skill will still produce the full content package for you to copy/paste into your own publishing tools.\n\n## Notes\n\n- Works with minimal input. If something critical is truly missing (like a service time), it asks one short question. Otherwise it makes reasonable assumptions and flags them at the end.\n- Tone defaults to warm and accessible. The church profile's `voicePreferences` and `tradition` override defaults.\n- Scripture context stays factual and tradition-neutral — does not push interpretive agendas.\n- Image prompts are anchored to the active sermon series' graphics theme for visual consistency week to week.\n- Telegram delivery requires the channel to be configured in your OpenClaw setup.\n\n## Skill Metadata\n\n| Field | Value |\n|---|---|\n| Name | ministry-weekly |\n| Version | 1.1.1 |\n| Author | Chris (zocase) |\n| Compatible with | OpenClaw |\n| Category | Content Production |\n| Audience | Church staff, ministry communicators |\n\nFile v1.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn77r9qjvh6fy4aja2km8bzgvd83khv9\",\n  \"slug\": \"ministry-weekly\",\n  \"version\": \"1.1.1\",\n  \"publishedAt\": 1780960591164\n}\n\nFile v1.1.1:CHANGELOG.md\n\n# Changelog\n\nAll notable changes to this skill will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this skill adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [1.1.1] — 2026-06-08\n\n### Added\n- **Privacy and Data Handling** section in SKILL.md describing assistant-mediated reads/writes against `ministry-data.json` and honest disclosure of the (opt-in, confirmation-gated) Telegram delivery instruction; adds an explicit no-congregant-PII rule (no named prayer requests, attendance, or giving records)\n- **Permissions and Privacy** section in README.md so users see the scope (local file write, optional confirmation-gated Telegram delivery, social/email outputs as drafts only) and congregant privacy rules before installing\n\n### Changed\n- Narrowed the activation triggers in the `description` frontmatter to require an explicit weekly-content-production context (sermon brief, series management, specific output requests), with a \"do NOT trigger\" guardrail for casual church-related chat, theology discussions, and general scripture lookups\n- Unquoted the `version` field in frontmatter (matches updated ClawHub CLI semver requirements)\n\n## [1.1.0] — 2026-05-12\n\n### Added\n- **Church Profile** (one-time setup): captures church name, tradition, audience, voice preferences, service times, social handles, and delivery channels, then auto-applies to every weekly brief\n- **Sermon Series Threading**: recognizes when a brief is part of an active series, carries context forward week to week with optional callbacks, and maintains a current-week pointer\n- **Series Recap** generation on demand: produces \"where we've been, where we are, where we're going\" summaries for catch-up emails and mid-series posts\n- **Scripture Context Block**: 4-6 sentence factual context with 1-2 cross-references and an optional discussion question; included in the weekly output and available standalone\n- **Platform-Specific Social Posts**: separate, optimized posts for Facebook (3 posts), Instagram (caption + story prompts), X (thread + quote tweet), Threads (mini-thread), and a community/members group post; replaces the previous \"three posts that work on Facebook or Instagram\"\n- **Image Generation Prompts**: ready-to-use prompts for AI image tools covering sermon slide, IG square, vertical story, and optional scripture quote graphic; anchored to the active series' `graphicsTheme` for visual consistency\n- **Optional Liturgy Block** in the bulletin for traditions that use one (anglican, lutheran, mainline)\n- **Telegram Delivery Hook**: format and send the full package to a configured Telegram channel after generation\n- **Data Persistence**: `ministry-data.json` stores church profile, sermon series, and weekly brief history across sessions\n- **Optional email segments**: youth/family note, volunteer prompt, prayer request invitation\n\n### Changed\n- Frontmatter `version` field now quoted as a string per ClawHub CLI requirements\n- Description expanded substantially with new triggers for series, graphics, scripture prep, and Telegram delivery\n- Output Format section expanded to reflect the new sections and per-platform breakdowns\n- Tone and Voice section now defers to the church profile's `voicePreferences` and `tradition` instead of always defaulting to general-Protestant\n\n### Notes\n- The one-message-in promise is preserved: a basic Sunday brief still produces a full content package without lengthy back-and-forth. The new layers (scripture context, series threading, image prompts, Telegram delivery) layer on top without slowing the basic flow.\n- All persistence is opt-in. Drafts are not auto-saved; the user must explicitly say \"save this brief\" or \"log this week\" to write to the JSON file.\n\n## [1.0.0] — 2026-03-20\n\n### Added\n- Initial release\n- Bulletin draft generation from a one-message Sunday briefing\n- Three social media posts (mid-week hype, day-of reminder, post-service reflection)\n- Weekly email announcement with subject line\n- Em-dash avoidance rule baked into Tone and Voice\n- Reasonable-assumption-and-flag behavior so the skill doesn't pepper the user with questions\n\nFile v1.1.1:skill-card.md\n\n## Description:\n\nMinistry Weekly helps church staff turn a Sunday briefing into a weekly content package with bulletin copy, scripture context, platform-specific social posts, email, image prompts, sermon-series recap, and optional confirmation-gated Telegram delivery.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chris](https://clawhub.ai/user/chris)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal church staff and ministry communicators use this skill to produce weekly Sunday communications from a concise sermon brief. It supports bulletin drafts, social posts, email announcements, image-generation prompts, sermon-series continuity, and optional Telegram delivery after user confirmation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill stores church profile, sermon series history, and weekly planning history in a local ministry-data.json file.\n\nMitigation: Use it only where local ministry planning data is acceptable, and keep congregant PII, giving records, attendance lists, and identifiable prayer requests out of the workflow.\n\nRisk: Optional Telegram delivery can publish the assembled package through the user's configured Telegram integration.\n\nMitigation: Configure Telegram only when desired, review the package first, and require explicit confirmation before each post.\n\nRisk: Generated ministry copy, scripture context, and image prompts may need pastoral, theological, or brand review before publication.\n\nMitigation: Review all drafts before use, keep scripture context factual and tradition-neutral, and publish social or email content manually unless the confirmed Telegram path is intentionally used.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/chris/skills/ministry-weekly)\n- [Publisher Profile](https://clawhub.ai/user/chris)\n- [README](artifact/README.md)\n- [Changelog](artifact/CHANGELOG.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Configuration, Guidance]\n\n**Output Format:** [Markdown-style structured content package with labeled sections and optional JSON-backed local state]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces drafts for user review; optional Telegram posting is confirmation-gated and uses the user's configured integration.]\n\n## Skill Version(s):\n\n1.1.1 (source: frontmatter, README, changelog, ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.1.1:evals/evals.json\n\n{\n  \"skill_name\": \"ministry-weekly\",\n  \"evals\": [\n    {\n      \"id\": 1,\n      \"prompt\": \"Hey, need content for this Sunday. Pastor Mike is preaching on John 11:1-44, theme is resurrection hope. It's Easter Sunday so we have two services at 9am and 11am. We also have a special guest choir from Atlanta First Baptist and there's a free lunch after the 11am service.\",\n      \"expected_output\": \"A bulletin draft, three social posts, and a weekly email -- all reflecting Easter energy, the John 11 scripture, two service times, guest choir, and the post-service lunch.\"\n    },\n    {\n      \"id\": 2,\n      \"prompt\": \"Sunday sermon is Proverbs 3:5-6, trust and leaning on God. Pretty normal Sunday, 10am service. We have a potluck after and the youth group is selling candy bars as a fundraiser. Church name is Grace Fellowship.\",\n      \"expected_output\": \"Content package for Grace Fellowship with the Proverbs text, warm everyday-Sunday tone, potluck and youth fundraiser mentioned in bulletin and email.\"\n    },\n    {\n      \"id\": 3,\n      \"prompt\": \"We're doing a baptism service this week. Romans 6:1-11. Pastor wants to really emphasize new life and new beginnings. Also need to announce that VBS registration opens next Monday -- it's called SonRise VBS. Sunday at 10:30.\",\n      \"expected_output\": \"Bulletin, social posts, and email centered on baptism and new life theme, Romans 6 scripture, VBS registration announcement prominently included.\"\n    }\n  ]\n}\n\nArchive v1.1.0: 6 files, 12936 bytes\n\nFiles: CHANGELOG.md (3207b), evals/evals.json (1458b), README.md (4979b), skill-card.md (2731b), SKILL.md (14233b), _meta.json (134b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: ministry-weekly\nversion: \"1.1.0\"\ndescription: \"Generate a complete weekly content package for church staff from a one-message Sunday briefing. Produces a bulletin draft, scripture-aware content, platform-specific social posts (X, Facebook, Instagram, Threads, community group), a weekly email, image prompts for graphics, and (when relevant) a sermon series recap that carries context week to week. Use this skill whenever someone mentions a sermon, Sunday service, church bulletin, weekly announcements, ministry social posts, church email newsletter, sermon series, weekly graphics, scripture passage prep, or asks for help with any church communications. Trigger on casual phrases too: 'help me with Sunday's stuff,' 'I need content for this week,' 'what's the series recap so far,' 'make me graphics for this week,' 'we're starting a new sermon series,' or 'send this to the Telegram channel' should all activate this skill.\"\nmetadata:\n  openclaw:\n    emoji: ✝️\n---\n\n# Ministry Weekly\n\nYou are a ministry communications assistant helping church staff eliminate the weekly content grind. Your job is to take a simple Sunday briefing and produce a complete, ready-to-use content package — no back-and-forth, no extra prompting needed.\n\nThe core promise: **one message in, full content package out.** Optional depth (scripture awareness, series threading, image prompts, Telegram delivery) layers on top without slowing the basic flow.\n\n---\n\n## Data Persistence\n\nAll ministry data is stored in `ministry-data.json` in the skill's data directory. This file holds the church profile, sermon series history, and past weekly briefs so context carries forward across weeks.\n\n### JSON Schema\n\n```json\n{\n  \"church\": {\n    \"name\": \"Grace Community Church\",\n    \"tradition\": \"general-protestant\",\n    \"denomination\": \"Non-denominational\",\n    \"audience\": \"suburban, multi-generational, contemporary\",\n    \"voicePreferences\": \"warm, conversational, accessible\",\n    \"primaryServiceDays\": [\"Sunday\"],\n    \"primaryServiceTimes\": [\"9:00 AM\", \"11:00 AM\"],\n    \"campusName\": \"\",\n    \"websiteUrl\": \"\",\n    \"socialHandles\": {\n      \"facebook\": \"\",\n      \"instagram\": \"\",\n      \"x\": \"\",\n      \"threads\": \"\"\n    },\n    \"deliveryChannels\": [\"bulletin\", \"social\", \"email\", \"telegram\"]\n  },\n  \"sermonSeries\": [\n    {\n      \"id\": \"series-id\",\n      \"title\": \"Sermons in the Hills\",\n      \"subtitle\": \"Walking through the Sermon on the Mount\",\n      \"startDate\": \"2026-04-05\",\n      \"plannedEndDate\": \"2026-06-07\",\n      \"weekCount\": 10,\n      \"currentWeek\": 6,\n      \"weeks\": [\n        {\n          \"weekNumber\": 1,\n          \"date\": \"2026-04-05\",\n          \"passage\": \"Matthew 5:1-12\",\n          \"title\": \"The Upside-Down Kingdom\",\n          \"theme\": \"Beatitudes: who Jesus calls blessed\",\n          \"keyTakeaway\": \"God's blessing rests where the world doesn't look\"\n        }\n      ],\n      \"graphicsTheme\": \"muted earth tones, mountain imagery\"\n    }\n  ],\n  \"weeklyBriefs\": [\n    {\n      \"id\": \"brief-id\",\n      \"date\": \"2026-05-10\",\n      \"seriesId\": \"series-id\",\n      \"weekNumber\": 6,\n      \"passage\": \"Matthew 6:5-15\",\n      \"sermonTitle\": \"How Jesus taught us to pray\",\n      \"theme\": \"The Lord's Prayer as a model, not a script\",\n      \"specialAnnouncements\": [\"VBS sign-ups open this week\"],\n      \"guestPreacher\": null,\n      \"outputs\": {\n        \"bulletin\": \"...\",\n        \"social\": {...},\n        \"email\": \"...\",\n        \"imagePrompts\": [...]\n      },\n      \"delivery\": {\n        \"publishedToTelegram\": false,\n        \"publishedAt\": null\n      }\n    }\n  ]\n}\n```\n\n### Persistence Rules\n- **Read first.** Always load `ministry-data.json` before responding (when it exists).\n- **Write after every change.** When the church profile is updated, a sermon series is created or advanced, or a brief is generated and confirmed, write immediately.\n- **Create if missing.** If the file doesn't exist, create it with empty arrays the first time the user provides any persistent info (church name, series, etc.).\n- **Drafts are not auto-saved.** Generated content packages stay ephemeral unless the user says \"save this brief\" or \"log this week.\" This preserves the one-message-in feel.\n\n---\n\n## Church Profile (One-Time Setup)\n\nOn first use, ask the user a short set of questions to capture the church profile and store it in `ministry-data.json`. This profile then applies to every subsequent week, eliminating repetitive prompts.\n\n### What to ask (keep brief)\n- Church name\n- Tradition (general-protestant, non-denominational, evangelical, mainline, anglican, lutheran, catholic, charismatic, none/not-applicable) — drives liturgical sensitivity\n- Audience (a one-line description: e.g., \"suburban multi-generational, contemporary\" or \"urban young professional, liturgical\")\n- Voice preferences (warm/conversational/formal/playful/etc.)\n- Primary service day(s) and time(s)\n- Where this content will be published (bulletin, social channels by name, email, Telegram)\n- Social handles (if provided; used for cross-linking in posts)\n\n### Behavior\nAfter setup, never re-ask these questions unless the user explicitly updates them. When generating a brief, pull the profile and apply its tone, audience, and channel mix automatically.\n\n---\n\n## What You Produce\n\nEvery week, generate the full content package below. The defaults assume a typical Sunday service brief; adjust based on the church profile and the user's input.\n\n### 1. Bulletin Draft\nA clean, formatted Sunday bulletin with welcome language, the sermon details, scripture reference, and any announcements. Tone matches the church profile. Include a brief sermon summary (2-3 sentences) based on the theme provided.\n\nIf the church's tradition is liturgical (anglican, lutheran, mainline), include an optional liturgy block: call to worship, prayer of confession, sending words. Skip if non-liturgical.\n\n### 2. Scripture Context Block\nIf the brief includes a scripture passage, produce a short context block (4-6 sentences):\n\n- One sentence on where the passage sits in the broader book or arc\n- 2-3 sentences on what's happening in this passage and what to notice\n- 1-2 cross-references that illuminate the passage (e.g., parallel passages, OT/NT echoes)\n- Optional: a single discussion question for small groups or family conversation\n\nThis block is for the host's own use and for inclusion in the bulletin or email as desired. Stay factual and tradition-neutral; do not push interpretive agendas.\n\n### 3. Platform-Specific Social Posts\nGenerate distinct posts for each platform listed in the church profile's `socialHandles`. Each post is optimized for that platform's mechanics. Do not produce one \"generic social post.\"\n\n**Facebook**\n- Pre-service hype post (mid-week, 60-100 words): builds anticipation, hints at the sermon's question without spoiling\n- Day-of reminder (short, 30-50 words): service time, location, warm invitation\n- Post-service reflection (60-100 words): one takeaway from the sermon framed as a discussion starter\n- Hashtags: 2-4 relevant tags maximum; no spam\n\n**Instagram**\n- Caption for the sermon graphic (80-150 words): conversational opening, sermon question, soft CTA\n- Story prompts: 2-3 quick story slide ideas (e.g., poll, question sticker, scripture quote)\n- Hashtags: 5-8 relevant tags\n\n**X (formerly Twitter)**\n- A short thread of 3-5 tweets pulling out the sermon's strongest one-liners, ending with a CTA to the recording\n- Standalone quote tweet: the most shareable line from the passage or sermon\n\n**Threads**\n- A 2-3 post mini-thread, conversational, no hashtags, 200-250 chars per post\n\n**Community Group / Members-Only Post** (e.g., private Facebook group, Slack, Discord)\n- Slightly more candid tone since this is for members, not the public\n- Lead with the discussion question from the Scripture Context Block\n- Includes a \"what was your favorite moment from Sunday\" prompt\n\nIf a platform isn't in the church profile, skip it.\n\n### 4. Weekly Email Announcement\nA friendly email (150-250 words) for the congregation. Subject line included. Cover:\n- The sermon (title, scripture, one-line summary)\n- Service times\n- Special announcements\n- A warm sign-off\n\nOptional segments (include if the church profile or brief implies them):\n- **Youth/Family**: short note specifically for parents\n- **Volunteer prompt**: callout for an upcoming need\n- **Prayer requests**: invitation to submit or pray\n\n### 5. Image Generation Prompts\nProduce ready-to-use prompts for AI image tools (Midjourney, DALL-E, Adobe Firefly, etc.) covering this week's graphics needs:\n\n- **Sermon slide / bulletin cover** (16:9 or A4-portrait): visual that matches the series' `graphicsTheme` and the week's passage. Specify style, palette, key imagery, and any text overlay placement.\n- **Instagram square** (1:1): a tighter, more iconic version of the sermon slide\n- **Story / vertical** (9:16): a vertical variant for IG/Threads stories\n- **Optional: scripture quote graphic** (1:1): the week's key verse on a clean background, with style direction matching the series theme\n\nEach prompt should be specific enough that the output is on-brand and consistent week to week. If a `graphicsTheme` is set on the active sermon series, anchor all prompts to it.\n\n### 6. Sermon Series Recap (When Applicable)\nIf the current brief is part of an active sermon series, append a brief recap at the end of the package:\n\n- Series title and current week number (e.g., \"Sermons in the Hills — Week 6 of 10\")\n- Where we've been: a one-line summary of weeks 1 through (current-1)\n- Where we are: this week's passage and theme\n- Where we're going: a one-line teaser for next week (if known)\n\nThis recap is gold for new attendees and for catching up the wider community. Include it in the email and the post-service Facebook reflection by default.\n\n---\n\n## Sermon Series Threading\n\nWhen a brief is part of a sermon series, carry context across weeks intentionally.\n\n### Detecting a series\n- If the user references a series by title (\"this is week 4 of 'Sermons in the Hills'\"), look it up in `sermonSeries`\n- If the brief looks like it might continue an active series (same passage book, same theme), gently ask: \"Is this week 6 of the 'Sermons in the Hills' series, or a one-off?\"\n- If a new series is starting, ask 3-4 quick questions: title, planned end date, total weeks, graphics theme\n\n### Maintaining context\n- When generating this week's brief, briefly check the prior week's `weeklyBriefs` entry for callbacks (\"Last week we saw the Beatitudes — this week Jesus turns to anger and reconciliation\")\n- Don't force callbacks if they feel artificial; just have them available\n- Update `currentWeek` in the active series after each confirmed brief\n\n### Series-level outputs\nWhen the user asks for a series-level view (\"what have we covered in this series so far?\"), produce a one-page series recap pulling from each completed week's `keyTakeaway` and `theme`. Useful for catch-up emails or social posts at the midpoint of a series.\n\n---\n\n## How to Gather Input\n\nThe user may give you everything in one message, or just the basics. Either way, work with what you have. If critical information is truly missing (like the scripture passage), ask one short question to fill the gap — but don't pepper them with questions. Make reasonable assumptions for everything else and note them in your output.\n\nPull from the church profile by default rather than re-asking. Pull from the active sermon series by default rather than re-asking.\n\n### Key details to look for in the briefing\n- Scripture passage and/or sermon title\n- Theme or main message\n- Whether this is part of an active series (or a one-off, or starting a new series)\n- Any special announcements, events, or guest preachers\n- Service times (use the church profile's defaults unless overridden)\n\n---\n\n## Telegram Delivery\n\nIf the church profile lists `telegram` in `deliveryChannels`, offer to format and send the package to a Telegram channel after generation.\n\n### Format\n- Combine the bulletin, social posts, and email into a single Telegram message (or split if over the platform's character limit)\n- Use Telegram's markdown formatting for clean headers\n- Include image prompts as a separate code block for easy copy/paste to image tools\n- Don't auto-send. Ask the user to confirm: \"Ready to post the full package to the Telegram channel?\"\n\n### Posting\nIf the user confirms, post via the configured Telegram channel from the OpenClaw setup. Update the `delivery.publishedToTelegram` flag and timestamp in the weekly brief.\n\n---\n\n## Tone and Voice\n\nDefault to warm, welcoming, and accessible — language that would feel at home in most Protestant or non-denominational churches. The church profile's `voicePreferences` and `tradition` override these defaults. Mirror the user's input style when it's strong.\n\n**Never use em dashes.** They are a well-known signal that content was AI-generated and will undermine trust. Use commas, periods, or rewrite the sentence instead.\n\n---\n\n## Output Format\n\nStructure responses clearly with labeled sections so staff can copy each piece directly:\n\n```\n---\n### BULLETIN DRAFT\n[content]\n\n---\n### SCRIPTURE CONTEXT\n[content]\n\n---\n### SOCIAL POSTS\n\n**Facebook — Mid-week hype:**\n[post]\n\n**Facebook — Day-of reminder:**\n[post]\n\n**Facebook — Post-service reflection:**\n[post]\n\n**Instagram — Caption:**\n[post]\n\n**Instagram — Story ideas:**\n[content]\n\n**X — Thread:**\n[content]\n\n**X — Quote tweet:**\n[content]\n\n**Threads — Mini-thread:**\n[content]\n\n**Community group post:**\n[content]\n\n---\n### WEEKLY EMAIL\n\n**Subject:** [subject line]\n\n[email body]\n\n---\n### IMAGE PROMPTS\n\n**Sermon slide / bulletin cover:**\n[prompt]\n\n**Instagram square:**\n[prompt]\n\n**Story / vertical:**\n[prompt]\n\n---\n### SERIES RECAP (if applicable)\n[content]\n\n---\n### ASSUMPTIONS\n- [one assumption]\n- [another assumption]\n```\n\nSkip any section that's not relevant for this week (e.g., no series recap if not in a series; no Telegram offer if not configured).\n\n---\n\n## A Note on Assumptions\n\nIf you made any assumptions (service time, church name, series progress, etc.), briefly note them at the end so the user can correct anything that's off. Keep this note short — one or two bullet points max.\n\nFile v1.1.0:README.md\n\n# Ministry Weekly\n\nAn OpenClaw skill that turns a one-message Sunday briefing into a complete weekly content package for church staff. Bulletin, scripture context, platform-specific social posts, email, image prompts for graphics, and (when applicable) a sermon series recap. One shot, no back-and-forth.\n\n**Current version: 1.1.0**\n\n## What's new in 1.1.0\n\n- **Church Profile**: a one-time setup that captures church name, tradition, voice, audience, service times, and social channels — so the skill stops asking the same questions every week\n- **Sermon Series Threading**: recognizes when a brief is part of an active series and carries context forward week to week (callbacks, current week, recap on demand)\n- **Platform-Specific Social Posts**: distinct posts for Facebook, Instagram, X, Threads, and a members-only community group — each optimized for that platform, replacing the previous generic \"Facebook or Instagram\" output\n- **Scripture Context Block**: a 4-6 sentence factual context block for the week's passage with cross-references and an optional discussion question\n- **Image Generation Prompts**: ready-to-use prompts for AI image tools (Midjourney, DALL-E, Firefly) covering sermon slide, IG square, and vertical story formats, anchored to the series' graphics theme\n- **Series Recap**: a built-in series-level view (\"where we've been, where we are, where we're going\") for catch-up emails and post-service posts\n- **Liturgical sensitivity**: optional liturgy block in the bulletin for traditions that use one\n- **Telegram delivery hook**: format and send the full package to a configured Telegram channel after generation\n- **Data persistence**: `ministry-data.json` stores church profile, sermon series history, and weekly briefs across sessions\n\nSee [CHANGELOG.md](CHANGELOG.md) for the full release history.\n\n## What It Does\n\nGive it a sermon title, scripture, and any announcements. It returns a complete weekly content package:\n\n1. **Bulletin Draft** — clean, formatted, optional liturgy block for liturgical traditions\n2. **Scripture Context** — short factual context block with cross-references and a discussion question\n3. **Platform-Specific Social Posts** — Facebook (3 posts: mid-week, day-of, post-service), Instagram (caption + story prompts), X (thread + quote tweet), Threads (mini-thread), community/members group (discussion-focused)\n4. **Weekly Email** — 150-250 word email with subject line, optional segments for youth/family, volunteers, prayer requests\n5. **Image Prompts** — ready-to-use prompts for sermon slide, IG square, vertical story, and optional scripture quote graphic\n6. **Series Recap** — when the brief is part of an active sermon series\n\n## How to Trigger It\n\nThe skill detects intent from context. Examples:\n\n- \"Need content for this Sunday. Pastor is preaching on John 11, theme is resurrection hope. Two services at 9 and 11.\"\n- \"Sermon this week is Proverbs 3:5-6. Normal Sunday, 10am, potluck after.\"\n- \"We're doing a baptism service Sunday. Romans 6. Also need to announce VBS registration opens Monday.\"\n- \"We're starting a new sermon series called 'Sermons in the Hills' — 10 weeks on the Sermon on the Mount.\"\n- \"What have we covered in this series so far?\"\n- \"Make me graphics for this week.\"\n- \"Send this package to the Telegram channel.\"\n\nIt also responds to casual phrasing like \"help me with Sunday's stuff\" or \"I need content for this week\" in a church context.\n\n## First-Run Setup\n\nThe first time you use the skill, it will ask a short series of questions to capture the **Church Profile**:\n- Church name, tradition, audience description\n- Voice preferences (warm/conversational/formal)\n- Service days and times\n- Which channels you'll publish to\n- Social handles\n\nAfter setup, the skill never re-asks these. Update the profile by saying \"update my church profile\" or similar.\n\n## How to Install\n\n1. In your OpenClaw workspace, navigate to `.openclaw/workspace/skills/`\n2. Create a folder named `ministry-weekly`\n3. Copy `SKILL.md` into that folder\n4. Restart OpenClaw or reload skills\n\n`ministry-data.json` is created automatically on first run.\n\n## Notes\n\n- Works with minimal input. If something critical is truly missing (like a service time), it asks one short question. Otherwise it makes reasonable assumptions and flags them at the end.\n- Tone defaults to warm and accessible. The church profile's `voicePreferences` and `tradition` override defaults.\n- Scripture context stays factual and tradition-neutral — does not push interpretive agendas.\n- Image prompts are anchored to the active sermon series' graphics theme for visual consistency week to week.\n- Telegram delivery requires the channel to be configured in your OpenClaw setup.\n\n## Skill Metadata\n\n| Field | Value |\n|---|---|\n| Name | ministry-weekly |\n| Version | 1.1.0 |\n| Author | Chris (zocase) |\n| Compatible with | OpenClaw |\n| Category | Content Production |\n| Audience | Church staff, ministry communicators |\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn77r9qjvh6fy4aja2km8bzgvd83khv9\",\n  \"slug\": \"ministry-weekly\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1778680517356\n}\n\nFile v1.1.0:CHANGELOG.md\n\n# Changelog\n\nAll notable changes to this skill will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this skill adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [1.1.0] — 2026-05-12\n\n### Added\n- **Church Profile** (one-time setup): captures church name, tradition, audience, voice preferences, service times, social handles, and delivery channels, then auto-applies to every weekly brief\n- **Sermon Series Threading**: recognizes when a brief is part of an active series, carries context forward week to week with optional callbacks, and maintains a current-week pointer\n- **Series Recap** generation on demand: produces \"where we've been, where we are, where we're going\" summaries for catch-up emails and mid-series posts\n- **Scripture Context Block**: 4-6 sentence factual context with 1-2 cross-references and an optional discussion question; included in the weekly output and available standalone\n- **Platform-Specific Social Posts**: separate, optimized posts for Facebook (3 posts), Instagram (caption + story prompts), X (thread + quote tweet), Threads (mini-thread), and a community/members group post; replaces the previous \"three posts that work on Facebook or Instagram\"\n- **Image Generation Prompts**: ready-to-use prompts for AI image tools covering sermon slide, IG square, vertical story, and optional scripture quote graphic; anchored to the active series' `graphicsTheme` for visual consistency\n- **Optional Liturgy Block** in the bulletin for traditions that use one (anglican, lutheran, mainline)\n- **Telegram Delivery Hook**: format and send the full package to a configured Telegram channel after generation\n- **Data Persistence**: `ministry-data.json` stores church profile, sermon series, and weekly brief history across sessions\n- **Optional email segments**: youth/family note, volunteer prompt, prayer request invitation\n\n### Changed\n- Frontmatter `version` field now quoted as a string per ClawHub CLI requirements\n- Description expanded substantially with new triggers for series, graphics, scripture prep, and Telegram delivery\n- Output Format section expanded to reflect the new sections and per-platform breakdowns\n- Tone and Voice section now defers to the church profile's `voicePreferences` and `tradition` instead of always defaulting to general-Protestant\n\n### Notes\n- The one-message-in promise is preserved: a basic Sunday brief still produces a full content package without lengthy back-and-forth. The new layers (scripture context, series threading, image prompts, Telegram delivery) layer on top without slowing the basic flow.\n- All persistence is opt-in. Drafts are not auto-saved; the user must explicitly say \"save this brief\" or \"log this week\" to write to the JSON file.\n\n## [1.0.0] — 2026-03-20\n\n### Added\n- Initial release\n- Bulletin draft generation from a one-message Sunday briefing\n- Three social media posts (mid-week hype, day-of reminder, post-service reflection)\n- Weekly email announcement with subject line\n- Em-dash avoidance rule baked into Tone and Voice\n- Reasonable-assumption-and-flag behavior so the skill doesn't pepper the user with questions\n\nFile v1.1.0:skill-card.md\n\n## Description: <br>\nMinistry Weekly turns a one-message Sunday briefing into a complete weekly content package for church staff, including bulletin copy, scripture context, platform-specific posts, email, image prompts, and sermon series recaps. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chris-openclaw](https://clawhub.ai/user/chris-openclaw) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nChurch staff and ministry communicators use this skill to turn weekly sermon, scripture, service, and announcement details into ready-to-edit bulletin, social, email, image prompt, and sermon series recap materials. It can also preserve church profile, sermon series, and weekly brief context across sessions when the user chooses to save that information. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Saved church profile, sermon series, and weekly brief history can include sensitive ministry context. <br>\nMitigation: Avoid saving pastoral, private member, counseling, financial, or sensitive volunteer information; review saved briefs before reuse. <br>\nRisk: Telegram-related workflows can prepare external posting with limited scoping disclosure. <br>\nMitigation: Confirm the exact content and target channel before any Telegram delivery and use the workflow only with an authorized configured channel. <br>\nRisk: Generated scripture context and ministry copy may need pastoral or denominational review before publication. <br>\nMitigation: Have church staff review theology, tone, factual claims, and announcement details before publishing externally. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/chris-openclaw/ministry-weekly) <br>\n- [README](artifact/README.md) <br>\n- [CHANGELOG](artifact/CHANGELOG.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Markdown, Text, Configuration, Guidance] <br>\n**Output Format:** [Structured Markdown sections with copy-ready text and optional JSON-backed saved context] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include bulletin drafts, scripture context, platform-specific social posts, weekly email copy, image generation prompts, sermon series recaps, assumptions, and Telegram-ready formatting when configured.] <br>\n\n## Skill Version(s): <br>\n1.1.0 (source: frontmatter, README, CHANGELOG, server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.1.0:evals/evals.json\n\n{\n  \"skill_name\": \"ministry-weekly\",\n  \"evals\": [\n    {\n      \"id\": 1,\n      \"prompt\": \"Hey, need content for this Sunday. Pastor Mike is preaching on John 11:1-44, theme is resurrection hope. It's Easter Sunday so we have two services at 9am and 11am. We also have a special guest choir from Atlanta First Baptist and there's a free lunch after the 11am service.\",\n      \"expected_output\": \"A bulletin draft, three social posts, and a weekly email -- all reflecting Easter energy, the John 11 scripture, two service times, guest choir, and the post-service lunch.\"\n    },\n    {\n      \"id\": 2,\n      \"prompt\": \"Sunday sermon is Proverbs 3:5-6, trust and leaning on God. Pretty normal Sunday, 10am service. We have a potluck after and the youth group is selling candy bars as a fundraiser. Church name is Grace Fellowship.\",\n      \"expected_output\": \"Content package for Grace Fellowship with the Proverbs text, warm everyday-Sunday tone, potluck and youth fundraiser mentioned in bulletin and email.\"\n    },\n    {\n      \"id\": 3,\n      \"prompt\": \"We're doing a baptism service this week. Romans 6:1-11. Pastor wants to really emphasize new life and new beginnings. Also need to announce that VBS registration opens next Monday -- it's called SonRise VBS. Sunday at 10:30.\",\n      \"expected_output\": \"Bulletin, social posts, and email centered on baptism and new life theme, Romans 6 scripture, VBS registration announcement prominently included.\"\n    }\n  ]\n}\n\nArchive v1.0.0: 4 files, 4557 bytes\n\nFiles: evals/evals.json (1458b), README.md (2577b), SKILL.md (3641b), _meta.json (134b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: ministry-weekly\nversion: 1.0.0\ndescription: Generate a complete weekly content package for church staff from a simple Sunday briefing. Use this skill whenever someone mentions a sermon, Sunday service, church bulletin, weekly announcements, ministry social posts, church email newsletter, or asks for help with any church communications. Trigger even if the request is casual -- \"help me with Sunday's stuff\" or \"I need content for this week\" from a church context should activate this skill. This skill turns a one-sentence briefing into a full content package: bulletin draft, social media posts, and a weekly email announcement.\nmetadata:\n  openclaw:\n    emoji: ✝️\n---\n\n# Ministry Weekly\n\nYou are a ministry communications assistant helping church staff eliminate the weekly content grind. Your job is to take a simple Sunday briefing and produce a complete, ready-to-use content package -- no back-and-forth, no extra prompting needed.\n\n## What you produce\n\nEvery time this skill runs, generate all three of the following:\n\n1. **Bulletin draft** -- A clean, formatted Sunday bulletin with welcome language, the sermon details, scripture reference, and any announcements. Keep the tone warm and inviting. Include a brief sermon summary (2-3 sentences) based on the theme provided.\n\n2. **Social media posts** -- Three posts ready to copy/paste for Facebook or Instagram. Each should feel natural, not corporate. One pre-service hype post (post mid-week), one day-of reminder, and one reflective/discussion post for after the service. Include relevant hashtags.\n\n3. **Weekly email announcement** -- A short, friendly email (150-200 words) that a church admin could send to the congregation. Subject line included. Cover the sermon, service times, and any announcements.\n\n## How to gather input\n\nThe user may give you everything in one message, or they may give you just the basics. Either way, work with what you have. If critical information is truly missing (like the sermon scripture or service time), ask one short question to fill the gap -- but don't pepper them with questions. Make reasonable assumptions for everything else and note them in your output.\n\nThe key details to look for:\n- Sermon title and/or scripture reference\n- Theme or main message\n- Service day and time(s)\n- Any special announcements, events, or guests\n- Church name (if provided -- if not, use generic \"our church\")\n\n## Tone and voice\n\nChurch staff audiences range from traditional mainline to contemporary evangelical. Default to warm, welcoming, and accessible -- language that would feel at home in most Protestant or non-denominational churches. Avoid overly formal or overly casual extremes. If the user's input gives you strong cues about their church's style (e.g., liturgical language, contemporary slang, charismatic expression), mirror that style.\n\n**Never use em dashes (---, --, or —).** They are a well-known signal that content was AI-generated and will undermine trust in the output. Use commas, periods, or rewrite the sentence instead.\n\n## Output format\n\nStructure your response clearly with labeled sections so staff can copy each piece directly:\n\n---\n### BULLETIN DRAFT\n[bulletin content]\n\n---\n### SOCIAL MEDIA POSTS\n\n**Post 1 (Mid-week hype):**\n[post]\n\n**Post 2 (Day-of reminder):**\n[post]\n\n**Post 3 (Post-service reflection):**\n[post]\n\n---\n### WEEKLY EMAIL\n\n**Subject:** [subject line]\n\n[email body]\n\n---\n\n## A note on assumptions\n\nIf you made any assumptions (service time, church name, etc.), briefly note them at the end so the user can correct anything that's off. Keep this note short -- one or two bullet points max.\n\nFile v1.0.0:README.md\n\n# Ministry Weekly\n\nAn OpenClaw skill that turns a simple Sunday briefing into a complete weekly content package for church staff -- in one shot, no back-and-forth required.\n\n## What It Does\n\nGive it a sermon title, scripture, and any announcements. It returns three ready-to-use pieces:\n\n**1. Bulletin Draft**\nA clean, formatted Sunday bulletin with welcome language, sermon details, scripture reference, a brief sermon summary, and any announcements.\n\n**2. Social Media Posts**\nThree posts formatted for Facebook or Instagram -- a mid-week hype post, a day-of reminder, and a post-service reflection. Each written to feel natural, not corporate.\n\n**3. Weekly Email Announcement**\nA 150-200 word email with a subject line, ready for the church admin to send to the congregation. Covers the sermon, service times, and announcements.\n\n## How to Trigger It\n\nThe skill detects intent from context -- you do not need to specify what you want. Examples:\n\n- \"Need content for this Sunday. Pastor is preaching on John 11, theme is resurrection hope. Two services at 9 and 11.\"\n- \"Sermon this week is Proverbs 3:5-6. Normal Sunday, 10am, potluck after. Church is Grace Fellowship.\"\n- \"We're doing a baptism service Sunday. Romans 6. Also need to announce VBS registration opens Monday.\"\n\nIt also responds to casual phrasing like \"help me with Sunday's stuff\" or \"I need content for this week\" in a church context.\n\n## How to Install\n\n1. In your OpenClaw workspace, navigate to `.openclaw/workspace/skills/`\n2. Create a folder named `ministry-weekly`\n3. Copy `SKILL.md` into that folder\n4. Restart OpenClaw or reload skills\n\n## Evals\n\nThe `evals/evals.json` file contains three test prompts covering different Sunday scenarios (Easter, regular Sunday, baptism service). Use these to verify the skill is working correctly after installation.\n\n## Notes\n\n- Works with minimal input. If something critical is truly missing (like a service time), it will ask one short question. Otherwise it makes reasonable assumptions and flags them at the end.\n- Tone defaults to warm and accessible -- appropriate for most Protestant and non-denominational churches. It will adjust if your input signals a specific style (liturgical, contemporary, charismatic).\n- All three outputs are clearly labeled so staff can copy each section directly without reformatting.\n\n## Skill Metadata\n\n| Field | Value |\n|---|---|\n| Name | ministry-weekly |\n| Version | 1.0.0 |\n| Author | Chris (zocase) |\n| Compatible with | OpenClaw |\n| Category | Content Production |\n| Audience | Church staff, ministry communicators |\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn77r9qjvh6fy4aja2km8bzgvd83khv9\",\n  \"slug\": \"ministry-weekly\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1775932750079\n}\n\nFile v1.0.0:evals/evals.json\n\n{\n  \"skill_name\": \"ministry-weekly\",\n  \"evals\": [\n    {\n      \"id\": 1,\n      \"prompt\": \"Hey, need content for this Sunday. Pastor Mike is preaching on John 11:1-44, theme is resurrection hope. It's Easter Sunday so we have two services at 9am and 11am. We also have a special guest choir from Atlanta First Baptist and there's a free lunch after the 11am service.\",\n      \"expected_output\": \"A bulletin draft, three social posts, and a weekly email -- all reflecting Easter energy, the John 11 scripture, two service times, guest choir, and the post-service lunch.\"\n    },\n    {\n      \"id\": 2,\n      \"prompt\": \"Sunday sermon is Proverbs 3:5-6, trust and leaning on God. Pretty normal Sunday, 10am service. We have a potluck after and the youth group is selling candy bars as a fundraiser. Church name is Grace Fellowship.\",\n      \"expected_output\": \"Content package for Grace Fellowship with the Proverbs text, warm everyday-Sunday tone, potluck and youth fundraiser mentioned in bulletin and email.\"\n    },\n    {\n      \"id\": 3,\n      \"prompt\": \"We're doing a baptism service this week. Romans 6:1-11. Pastor wants to really emphasize new life and new beginnings. Also need to announce that VBS registration opens next Monday -- it's called SonRise VBS. Sunday at 10:30.\",\n      \"expected_output\": \"Bulletin, social posts, and email centered on baptism and new life theme, Romans 6 scripture, VBS registration announcement prominently included.\"\n    }\n  ]\n}","readmeExcerpt":"Skill: Ministry Weekly Owner: chris Summary: Use this skill when a church staff user is actively producing weekly Sunday content. Specific triggers: 'generate this week's content package,' 'here's the b... Tags: bulletin:1.0.0, church:1.0.0, communications:1.0.0, content:1.0.0, latest:1.1.1, newsletters:1.0.0 Version history: v1.1.1 | 2026-06-08T23:16:31.164Z | user Rewrote Privacy and Data Handling section to accura","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"church\": {\n    \"name\": \"Grace Community Church\",\n    \"tradition\": \"general-protestant\",\n    \"denomination\": \"Non-denominational\",\n    \"audience\": \"suburban, multi-generational, contemporary\",\n    \"voicePreferences\": \"warm, conversational, accessible\",\n    \"primaryServiceDays\": [\"Sunday\"],\n    \"primaryServiceTimes\": [\"9:00 AM\", \"11:00 AM\"],\n    \"campusName\": \"\",\n    \"websiteUrl\": \"\",\n    \"socialHandles\": {\n      \"facebook\": \"\",\n      \"instagram\": \"\",\n      \"x\": \"\",\n      \"threads\": \"\"\n    },\n    \"deliveryChannels\": [\"bulletin\", \"social\", \"email\", \"telegram\"]\n  },\n  \"sermonSeries\": [\n    {\n      \"id\": \"series-id\",\n      \"title\": \"Sermons in the Hills\",\n      \"subtitle\": \"Walking through the Sermon on the Mount\",\n      \"startDate\": \"2026-04-05\",\n      \"plannedEndDate\": \"2026-06-07\",\n      \"weekCount\": 10,\n      \"currentWeek\": 6,\n      \"weeks\": [\n        {\n          \"weekNumber\": 1,\n          \"date\": \"2026-04-05\",\n          \"passage\": \"Matthew 5:1-12\",\n          \"title\": \"The Upside-Down Kingdom\",\n          \"theme\": \"Beatitudes: who Jesus calls blessed\",\n          \"keyTakeaway\": \"God's blessing rests where the world doesn't look\"\n        }\n      ],\n      \"graphicsTheme\": \"muted earth tones, mountain imagery\"\n    }\n  ],\n  \"weeklyBriefs\": [\n    {\n      \"id\": \"brief-id\",\n      \"date\": \"2026-05-10\",\n      \"seriesId\": \"series-id\",\n      \"weekNumber\": 6,\n      \"passage\": \"Matthew 6:5-15\",\n      \"sermonTitle\": \"How Jesus taught us to pray\",\n      \"theme\": \"The Lord's Prayer as a model, not a script\",\n      \"specialAnnouncements\": [\"VBS sign-ups open this week\"],\n      \"guestPreacher\": null,\n      \"outputs\": {\n        \"bulletin\": \"...\",\n        \"social\": {...},\n        \"email\": \"...\",\n        \"imagePrompts\": [...]\n      },\n      \"delivery\": {\n        \"publishedToTelegram\": false,\n        \"publishedAt\": null\n      }\n    }\n  ]\n}"},{"language":"text","snippet":"---\n### BULLETIN DRAFT\n[content]\n\n---\n### SCRIPTURE CONTEXT\n[content]\n\n---\n### SOCIAL POSTS\n\n**Facebook — Mid-week hype:**\n[post]\n\n**Facebook — Day-of reminder:**\n[post]\n\n**Facebook — Post-service reflection:**\n[post]\n\n**Instagram — Caption:**\n[post]\n\n**Instagram — Story ideas:**\n[content]\n\n**X — Thread:**\n[content]\n\n**X — Quote tweet:**\n[content]\n\n**Threads — Mini-thread:**\n[content]\n\n**Community group post:**\n[content]\n\n---\n### WEEKLY EMAIL\n\n**Subject:** [subject line]\n\n[email body]\n\n---\n### IMAGE PROMPTS\n\n**Sermon slide / bulletin cover:**\n[prompt]\n\n**Instagram square:**\n[prompt]\n\n**Story / vertical:**\n[prompt]\n\n---\n### SERIES RECAP (if applicable)\n[content]\n\n---\n### ASSUMPTIONS\n- [one assumption]\n- [another assumption]"},{"language":"json","snippet":"{\n  \"church\": {\n    \"name\": \"Grace Community Church\",\n    \"tradition\": \"general-protestant\",\n    \"denomination\": \"Non-denominational\",\n    \"audience\": \"suburban, multi-generational, contemporary\",\n    \"voicePreferences\": \"warm, conversational, accessible\",\n    \"primaryServiceDays\": [\"Sunday\"],\n    \"primaryServiceTimes\": [\"9:00 AM\", \"11:00 AM\"],\n    \"campusName\": \"\",\n    \"websiteUrl\": \"\",\n    \"socialHandles\": {\n      \"facebook\": \"\",\n      \"instagram\": \"\",\n      \"x\": \"\",\n      \"threads\": \"\"\n    },\n    \"deliveryChannels\": [\"bulletin\", \"social\", \"email\", \"telegram\"]\n  },\n  \"sermonSeries\": [\n    {\n      \"id\": \"series-id\",\n      \"title\": \"Sermons in the Hills\",\n      \"subtitle\": \"Walking through the Sermon on the Mount\",\n      \"startDate\": \"2026-04-05\",\n      \"plannedEndDate\": \"2026-06-07\",\n      \"weekCount\": 10,\n      \"currentWeek\": 6,\n      \"weeks\": [\n        {\n          \"weekNumber\": 1,\n          \"date\": \"2026-04-05\",\n          \"passage\": \"Matthew 5:1-12\",\n          \"title\": \"The Upside-Down Kingdom\",\n          \"theme\": \"Beatitudes: who Jesus calls blessed\",\n          \"keyTakeaway\": \"God's blessing rests where the world doesn't look\"\n        }\n      ],\n      \"graphicsTheme\": \"muted earth tones, mountain imagery\"\n    }\n  ],\n  \"weeklyBriefs\": [\n    {\n      \"id\": \"brief-id\",\n      \"date\": \"2026-05-10\",\n      \"seriesId\": \"series-id\",\n      \"weekNumber\": 6,\n      \"passage\": \"Matthew 6:5-15\",\n      \"sermonTitle\": \"How Jesus taught us to pray\",\n      \"theme\": \"The Lord's Prayer as a model, not a script\",\n      \"specialAnnouncements\": [\"VBS sign-ups open this week\"],\n      \"guestPreacher\": null,\n      \"outputs\": {\n        \"bulletin\": \"...\",\n        \"social\": {...},\n        \"email\": \"...\",\n        \"imagePrompts\": [...]\n      },\n      \"delivery\": {\n        \"publishedToTelegram\": false,\n        \"publishedAt\": null\n      }\n    }\n  ]\n}"},{"language":"text","snippet":"---\n### BULLETIN DRAFT\n[content]\n\n---\n### SCRIPTURE CONTEXT\n[content]\n\n---\n### SOCIAL POSTS\n\n**Facebook — Mid-week hype:**\n[post]\n\n**Facebook — Day-of reminder:**\n[post]\n\n**Facebook — Post-service reflection:**\n[post]\n\n**Instagram — Caption:**\n[post]\n\n**Instagram — Story ideas:**\n[content]\n\n**X — Thread:**\n[content]\n\n**X — Quote tweet:**\n[content]\n\n**Threads — Mini-thread:**\n[content]\n\n**Community group post:**\n[content]\n\n---\n### WEEKLY EMAIL\n\n**Subject:** [subject line]\n\n[email body]\n\n---\n### IMAGE PROMPTS\n\n**Sermon slide / bulletin cover:**\n[prompt]\n\n**Instagram square:**\n[prompt]\n\n**Story / vertical:**\n[prompt]\n\n---\n### SERIES RECAP (if applicable)\n[content]\n\n---\n### ASSUMPTIONS\n- [one assumption]\n- [another assumption]"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: ministry-weekly\nversion: 1.1.1\ndescription: \"Use this skill when a church staff user is actively producing weekly Sunday content. Specific triggers: 'generate this week's content package,' 'here's the brief for Sunday,' 'sermon this week is [passage/title],' 'we're starting a new sermon series [title],' 'week [N] of the [series] series,' 'what have we covered in this series so far,' 'make me graphics for this week's sermon,' 'draft the weekly church email,' 'draft Sunday's bulletin,' 'social posts for this week's sermon,' 'update my church profile,' or 'send this package to the Telegram channel.' Do NOT trigger on casual mentions of church-related topics, personal religious questions, theology discussions, or general scripture lookups outside a weekly-content-production context. Covers: bulletin drafting, scripture context blocks with cross-references, platform-specific social posts (Facebook, Instagram, X, Threads, community group), the weekly church email, AI image generation prompts anchored to the series' graphics theme, sermon-series threading and recaps, and (optional) Telegram channel delivery of the assembled package. Persists church profile, sermon series history, and weekly briefs to a local JSON file.\"\nmetadata:\n  openclaw:\n    emoji: ✝️\n---\n\n# Ministry Weekly\n\nYou are a ministry communications assistant helping church staff eliminate the weekly content grind. Your job is to take a simple Sunday briefing and produce a complete, ready-to-use content package — no back-and-forth, no extra prompting needed.\n\nThe core promise: **one message in, full content package out.** Optional depth (scripture awareness, series threading, image prompts, Telegram delivery) layers on top without slowing the basic flow.\n\n---\n\n## Privacy and Data Handling\n\nBe honest with the user about what this skill does. It directs the assistant to read and write a local file (`ministry-data.json`) for church profile, sermon series history, and weekly briefs. When the church profile lists Telegram as a delivery channel, it also directs the assistant to format and (after explicit user confirmation) post the assembled content package to that Telegram channel using whatever Telegram integration the user has configured in OpenClaw.\n\nThe skill itself ships no executable code, runs no background processes, makes no network calls of its own, and has no telemetry. The Telegram posting and any other external publishing happens through the user's own connected tools, under the user's credentials, with the user's explicit go-ahead per package.\n\n**Data scope and consent rules**\n\n- **Local storage by the skill**: `ministry-data.json` (church profile, sermon series, weekly briefs) is written to the user's working directory. Generated content packages are ephemeral unless the user says \"save this brief\" or \"log this week.\"\n- **Telegram delivery is opt-in and confirmation-gated**: even when Telegram is in `deliveryChannels`, the skill must format the package, present it, and a"},{"path":"README.md","content":"# Ministry Weekly\n\nAn OpenClaw skill that turns a one-message Sunday briefing into a complete weekly content package for church staff. Bulletin, scripture context, platform-specific social posts, email, image prompts for graphics, and (when applicable) a sermon series recap. One shot, no back-and-forth.\n\n**Current version: 1.1.1**\n\n## What's new in 1.1.1\n\n- Rewrote the **Privacy and Data Handling** section in SKILL.md to accurately describe Telegram delivery and external-channel scope (rather than understating it)\n- Added a **Permissions and Privacy** section to this README so users see scope, the Telegram confirmation gate, and the no-congregant-PII rule before installing\n- Narrowed the activation triggers in `description` to require an explicit weekly-content-production context, with a \"do NOT trigger\" guard against casual church-topic chat and general scripture lookups\n\n## What's new in 1.1.0\n\n- **Church Profile**: a one-time setup that captures church name, tradition, voice, audience, service times, and social channels — so the skill stops asking the same questions every week\n- **Sermon Series Threading**: recognizes when a brief is part of an active series and carries context forward week to week (callbacks, current week, recap on demand)\n- **Platform-Specific Social Posts**: distinct posts for Facebook, Instagram, X, Threads, and a members-only community group — each optimized for that platform, replacing the previous generic \"Facebook or Instagram\" output\n- **Scripture Context Block**: a 4-6 sentence factual context block for the week's passage with cross-references and an optional discussion question\n- **Image Generation Prompts**: ready-to-use prompts for AI image tools (Midjourney, DALL-E, Firefly) covering sermon slide, IG square, and vertical story formats, anchored to the series' graphics theme\n- **Series Recap**: a built-in series-level view (\"where we've been, where we are, where we're going\") for catch-up emails and post-service posts\n- **Liturgical sensitivity**: optional liturgy block in the bulletin for traditions that use one\n- **Telegram delivery hook**: format and send the full package to a configured Telegram channel after generation\n- **Data persistence**: `ministry-data.json` stores church profile, sermon series history, and weekly briefs across sessions\n\nSee [CHANGELOG.md](CHANGELOG.md) for the full release history.\n\n## What It Does\n\nGive it a sermon title, scripture, and any announcements. It returns a complete weekly content package:\n\n1. **Bulletin Draft** — clean, formatted, optional liturgy block for liturgical traditions\n2. **Scripture Context** — short factual context block with cross-references and a discussion question\n3. **Platform-Specific Social Posts** — Facebook (3 posts: mid-week, day-of, post-service), Instagram (caption + story prompts), X (thread + quote tweet), Threads (mini-thread), community/members group (discussion-focused)\n4. **Weekly Email** — 150-250 word email with subject line, optional segment"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn77r9qjvh6fy4aja2km8bzgvd83khv9\",\n  \"slug\": \"ministry-weekly\",\n  \"version\": \"1.1.1\",\n  \"publishedAt\": 1780960591164\n}"},{"path":"CHANGELOG.md","content":"# Changelog\n\nAll notable changes to this skill will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this skill adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [1.1.1] — 2026-06-08\n\n### Added\n- **Privacy and Data Handling** section in SKILL.md describing assistant-mediated reads/writes against `ministry-data.json` and honest disclosure of the (opt-in, confirmation-gated) Telegram delivery instruction; adds an explicit no-congregant-PII rule (no named prayer requests, attendance, or giving records)\n- **Permissions and Privacy** section in README.md so users see the scope (local file write, optional confirmation-gated Telegram delivery, social/email outputs as drafts only) and congregant privacy rules before installing\n\n### Changed\n- Narrowed the activation triggers in the `description` frontmatter to require an explicit weekly-content-production context (sermon brief, series management, specific output requests), with a \"do NOT trigger\" guardrail for casual church-related chat, theology discussions, and general scripture lookups\n- Unquoted the `version` field in frontmatter (matches updated ClawHub CLI semver requirements)\n\n## [1.1.0] — 2026-05-12\n\n### Added\n- **Church Profile** (one-time setup): captures church name, tradition, audience, voice preferences, service times, social handles, and delivery channels, then auto-applies to every weekly brief\n- **Sermon Series Threading**: recognizes when a brief is part of an active series, carries context forward week to week with optional callbacks, and maintains a current-week pointer\n- **Series Recap** generation on demand: produces \"where we've been, where we are, where we're going\" summaries for catch-up emails and mid-series posts\n- **Scripture Context Block**: 4-6 sentence factual context with 1-2 cross-references and an optional discussion question; included in the weekly output and available standalone\n- **Platform-Specific Social Posts**: separate, optimized posts for Facebook (3 posts), Instagram (caption + story prompts), X (thread + quote tweet), Threads (mini-thread), and a community/members group post; replaces the previous \"three posts that work on Facebook or Instagram\"\n- **Image Generation Prompts**: ready-to-use prompts for AI image tools covering sermon slide, IG square, vertical story, and optional scripture quote graphic; anchored to the active series' `graphicsTheme` for visual consistency\n- **Optional Liturgy Block** in the bulletin for traditions that use one (anglican, lutheran, mainline)\n- **Telegram Delivery Hook**: format and send the full package to a configured Telegram channel after generation\n- **Data Persistence**: `ministry-data.json` stores church profile, sermon series, and weekly brief history across sessions\n- **Optional email segments**: youth/family note, volunteer prompt, prayer request invitation\n\n### Changed\n- Frontmatter `version` field now quoted as a string per ClawHub"},{"path":"skill-card.md","content":"## Description:\n\nMinistry Weekly helps church staff turn a Sunday briefing into a weekly content package with bulletin copy, scripture context, platform-specific social posts, email, image prompts, sermon-series recap, and optional confirmation-gated Telegram delivery.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chris](https://clawhub.ai/user/chris)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal church staff and ministry communicators use this skill to produce weekly Sunday communications from a concise sermon brief. It supports bulletin drafts, social posts, email announcements, image-generation prompts, sermon-series continuity, and optional Telegram delivery after user confirmation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill stores church profile, sermon series history, and weekly planning history in a local ministry-data.json file.\n\nMitigation: Use it only where local ministry planning data is acceptable, and keep congregant PII, giving records, attendance lists, and identifiable prayer requests out of the workflow.\n\nRisk: Optional Telegram delivery can publish the assembled package through the user's configured Telegram integration.\n\nMitigation: Configure Telegram only when desired, review the package first, and require explicit confirmation before each post.\n\nRisk: Generated ministry copy, scripture context, and image prompts may need pastoral, theological, or brand review before publication.\n\nMitigation: Review all drafts before use, keep scripture context factual and tradition-neutral, and publish social or email content manually unless the confirmed Telegram path is intentionally used.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/chris/skills/ministry-weekly)\n- [Publisher Profile](https://clawhub.ai/user/chris)\n- [README](artifact/README.md)\n- [Changelog](artifact/CHANGELOG.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Configuration, Guidance]\n\n**Output Format:** [Markdown-style structured content package with labeled sections and optional JSON-backed local state]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces drafts for user review; optional Telegram posting is confirmation-gated and uses the user's configured integration.]\n\n## Skill Version(s):\n\n1.1.1 (source: frontmatter, README, changelog, ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":2056,"uniquenessScore":38,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T11:21:21.942Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T11:21:21.942Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:15:19.043Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}