Community Announcer skill

Drafts or publishes authorized, fact-checked GitHub Discussions announcements.

by levnikolaevich·MIT license·★ 568 Stars on the repo·GitHub ↗

Use now

Files of Community Announcer

levnikolaevich/master1 file shown
SKILL.md
Show the full text112 lines

Community Announcer

Goal: Create a source-backed announcement and publish it only after the user approves the full draft.

Execution contract: The checklist defines completion. Track each item internally as PENDING, PROVEN with evidence, CLEARED with evidence its condition is absent, or UNPROVEN with a gap; reading, delegation, tool failure, a zero exit status, or a self-reported success is not proof; only the observed outcome is. Reconcile after each section. Before returning, resolve all PENDING, count only PROVEN and CLEARED, and apply verdict and approval rules to every gap. Preserve intent, scope, and existing authorization. Continue authorized work; ask only for consequential unresolved choices or required external approval. When no one can answer during the run, state the exact question and apply the skill's verdict for the remaining gap instead of waiting or guessing. Scale depth to material risk without skipping checks. Preserve dependency and safety order; otherwise choose an appropriate verification method. Accept equivalent user or repository evidence; no other skill, named artifact, or complete lifecycle is required. Preserve source requirement and decision IDs. Bind reused evidence to relevant source versions, dirty changes, configuration, and environment; invalidate only affected claims. On continuation, reconcile task, authorization, current state, and unresolved evidence. For long work, return a compact continuation record or update an already authorized artifact; read-only skills do not persist it. Distinguish artifact readiness, verified behavior, and external-action authority. Prepare authorized work before required approval. If blocked by an instruction, cite its exact source and unresolved boundary; do not invent approval gates from caution.

Tool Routing

Need Preferred capability Fallback
Repository identity and permissions Authenticated GitHub CLI or connector Public GitHub API for read-only discovery
Discussion categories and publication GitHub GraphQL API Continue a draft with destination limitations; publication is BLOCKED without this capability
Shipped-change evidence Remote Git history, releases, and canonical files Clean remote clone
Commands, paths, names, and counts Focused repository search and direct reads Hosting API content reads
Current external claims Primary dated sources Omit the claim when it cannot be verified
Draft publication Temporary Markdown file passed to the API Safely escaped API input with read-back verification

Prefer the hosting API over scraping rendered pages. Use the browser only to inspect presentation or a page the API cannot expose.

Do not expose repository tokens, category node IDs, or other credentials in the announcement. IDs may be used for the mutation but are not audience content.

Checklist

Establish scope and evidence
  • Resolve the target repository from the request or hosting client and determine whether the task is draft-only or includes publication.
  • Read the default branch and source evidence. Discover Discussions availability and a suitable category when accessible; missing publication access does not prevent a fact-checked draft.
  • For draft-only work, report destination limitations and continue. Before publication, require write access, repository/category IDs, and a suitable enabled Discussions category; do not silently publish elsewhere.
  • Identify the announcement subject from the user's request, a release, or a bounded commit range.
  • Read repository communication guidance when present, but do not require a community strategy file.
  • Read the current authoritative documentation, installation instructions, affected manifests, release notes, and relevant source diffs when present.
  • Inspect recent commits and up to three available comparable announcements for cadence, repeated claims, and house style; do not require prior announcements in a new or low-volume repository.
  • Pin shipped claims to the target remote commit or release, including release lines behind the default branch; never present an unpushed local diff as available.
  • Separate what shipped, what changed for users, migration needs, and future intent.
Classification and Style
  • Classify the announcement as release, breaking change, feature update, architecture change, or community news.
  • Choose the shortest style that explains the user outcome and its significance.
  • Match the project's voice while keeping claims understandable without internal repository context.
Draft
  • Write a specific title that names the outcome rather than saying only "update" or "announcement".
  • Open with the user problem or the most important shipped outcome.
  • Explain why the change was made using evidence from commits, docs, or release notes.
  • Summarize highlights in outcome language and name exact products, packages, plugins, skills, or components where useful.
  • Include verified installation or update commands when the reader must act.
  • Make breaking changes prominent and provide clear before-and-after migration steps; follow repository format rather than requiring a particular callout label.
  • Link to canonical documentation at the default branch or immutable release tag as appropriate.
  • Include a short "What's next" section only for committed or clearly labelled tentative work.
  • Thank verified external contributors by handle; omit the section for solo work.
  • End with one genuine, answerable feedback question when community input would be useful.
Fact Check
  • Verify claims about availability and measured effects against the actual release, deployment, or outcome evidence; distinguish announced plans from available capabilities.
  • Verify every command against current authoritative documentation and any stable package, plugin, or marketplace identifier it uses.
  • Verify every named product, package, plugin, skill, component, file path, category, version, tag, and link against the remote repository.
  • Recompute every count from the target commit; avoid counts when they add no user value.
  • Confirm feature descriptions against the actual changed source, documentation, or manifest, not commit-title shorthand.
  • Confirm removed capabilities and compatibility limits are stated explicitly.
  • Do not invent adoption, download, search-volume, performance, compatibility, or roadmap claims.
  • Label estimates, interpretations, and future intent instead of presenting them as shipped facts.
  • Remove generic hype, repeated conclusions, excessive headings, canned transitions, and symmetrical filler lists.
  • Re-read the draft as a new user and ensure it explains both the value and any required action.
Approval and Publication
  • Present the exact title and full Markdown body to the user before creating external state.
  • Include the evidence range and selected category, or the unresolved destination limitation, with the draft.
  • For draft-only work, complete the self-check and report PREPARED without waiting; clear publication-only items with this scope reason. For publication, require explicit approval of the exact copy and destination; reuse unchanged approval already given in the session. A request to announce does not approve unseen final copy.
  • If the user changes any substantive claim or instruction, fact-check the revised draft again.
  • Write the approved body to a temporary file to preserve formatting and avoid shell interpolation errors.
  • Only for authorized publication, verify write access and destination, then publish through the GitHub Discussions GraphQL mutation using discovered repository and category IDs. Clear publication-only criteria when the request ends at a draft.
  • Read the discussion back and verify title, body, category, and URL. After an uncertain response, inspect the returned ID or matching destination/content before retrying; stop if identity remains ambiguous rather than risk a duplicate.
  • Remove the temporary draft safely after verification.
  • Report the discussion URL and any manual action, such as pinning, that the API cannot perform.
  • Do not create tags, releases, issues, comments, or cross-posts unless explicitly requested.

Verdict

  • PREPARED — fact-checked copy is complete; publication is either outside scope or awaiting exact-copy approval.
  • PUBLISHED — the approved discussion exists and was read back successfully.
  • BLOCKED — source evidence prevents a trustworthy draft, or a requested publication cannot proceed because its permissions, category, or verification is unavailable. Distinguish a completed draft from blocked publication.

Self-Check

  • Reconcile before returning. Check item-level evidence, requirement coverage, contradictions, scope, verdict, and applicable cleanup. Correct the report or authorized artifacts. Reuse valid evidence; do not automatically rescan the repository or rerun successful commands. Repeat checks only for relevant changes, failures, or unresolved evidence. Disclose remaining gaps.

Output Contract

Report in the user's language, in this order; label all five fields and state each fact once. Use controlled plain language: one fact per sentence, usually under 20 words, active voice, and one term per concept, with no synonyms for verdicts, IDs, or states. Small results may use one line per field; omit empty tables and do not copy linked artifacts:

  1. Result: The exact skill-specific verdict token first, then the supported outcome.
  2. Scope: Reviewed/changed scope, exclusions, baseline, and material assumptions.
  3. Evidence: Skill-specific fields below; distinguish facts, inferences, and unverified claims. Link artifacts; use tables when useful.
  4. Verification: Checks/results, unavailable evidence, and applicable cleanup/external state.
  5. Completion: Checklist: X/Y complete; Incomplete: None or each UNPROVEN item's reason, outcome impact, and exact next action; residual risks and required decisions.

Skill-specific evidence: Announcement classification, evidence range, destination/category or limitation, exact title, full fact-checked Markdown draft before approval, and fact-check summary. After publication, give the discussion URL and read-back verification while retaining approved copy in the response history. Report manual actions such as pinning; a mismatch with approved copy is BLOCKED and requires approval before editing/deleting external content.

1---
2name: ln-64-community-announcer
3description: "Drafts or publishes authorized, fact-checked GitHub Discussions announcements; does not create releases."
4---
5 
6# Community Announcer
7 
8**Goal:** Create a source-backed announcement and publish it only after the user approves the full draft.
9 
10**Execution contract:** The checklist defines completion. Track each item internally as `PENDING`, `PROVEN` with evidence, `CLEARED` with evidence its condition is absent, or `UNPROVEN` with a gap; reading, delegation, tool failure, a zero exit status, or a self-reported success is not proof; only the observed outcome is. Reconcile after each section. Before returning, resolve all `PENDING`, count only `PROVEN` and `CLEARED`, and apply verdict and approval rules to every gap.
11Preserve intent, scope, and existing authorization. Continue authorized work; ask only for consequential unresolved choices or required external approval. When no one can answer during the run, state the exact question and apply the skill's verdict for the remaining gap instead of waiting or guessing. Scale depth to material risk without skipping checks. Preserve dependency and safety order; otherwise choose an appropriate verification method.
12Accept equivalent user or repository evidence; no other skill, named artifact, or complete lifecycle is required. Preserve source requirement and decision IDs. Bind reused evidence to relevant source versions, dirty changes, configuration, and environment; invalidate only affected claims.
13On continuation, reconcile task, authorization, current state, and unresolved evidence. For long work, return a compact continuation record or update an already authorized artifact; read-only skills do not persist it. Distinguish artifact readiness, verified behavior, and external-action authority.
14Prepare authorized work before required approval. If blocked by an instruction, cite its exact source and unresolved boundary; do not invent approval gates from caution.
15 
16 
17## Tool Routing
18 
19| Need | Preferred capability | Fallback |
20|---|---|---|
21| Repository identity and permissions | Authenticated GitHub CLI or connector | Public GitHub API for read-only discovery |
22| Discussion categories and publication | GitHub GraphQL API | Continue a draft with destination limitations; publication is `BLOCKED` without this capability |
23| Shipped-change evidence | Remote Git history, releases, and canonical files | Clean remote clone |
24| Commands, paths, names, and counts | Focused repository search and direct reads | Hosting API content reads |
25| Current external claims | Primary dated sources | Omit the claim when it cannot be verified |
26| Draft publication | Temporary Markdown file passed to the API | Safely escaped API input with read-back verification |
27 
28Prefer the hosting API over scraping rendered pages. Use the browser only to inspect presentation or a page the API cannot expose.
29 
30Do not expose repository tokens, category node IDs, or other credentials in the announcement. IDs may be used for the mutation but are not audience content.
31 
32## Checklist
33 
34### Establish scope and evidence
35 
36- [ ] Resolve the target repository from the request or hosting client and determine whether the task is draft-only or includes publication.
37- [ ] Read the default branch and source evidence. Discover Discussions availability and a suitable category when accessible; missing publication access does not prevent a fact-checked draft.
38- [ ] For draft-only work, report destination limitations and continue. Before publication, require write access, repository/category IDs, and a suitable enabled Discussions category; do not silently publish elsewhere.
39- [ ] Identify the announcement subject from the user's request, a release, or a bounded commit range.
40- [ ] Read repository communication guidance when present, but do not require a community strategy file.
41- [ ] Read the current authoritative documentation, installation instructions, affected manifests, release notes, and relevant source diffs when present.
42- [ ] Inspect recent commits and up to three available comparable announcements for cadence, repeated claims, and house style; do not require prior announcements in a new or low-volume repository.
43- [ ] Pin shipped claims to the target remote commit or release, including release lines behind the default branch; never present an unpushed local diff as available.
44- [ ] Separate what shipped, what changed for users, migration needs, and future intent.
45 
46### Classification and Style
47 
48- [ ] Classify the announcement as release, breaking change, feature update, architecture change, or community news.
49- [ ] Choose the shortest style that explains the user outcome and its significance.
50- [ ] Match the project's voice while keeping claims understandable without internal repository context.
51 
52### Draft
53 
54- [ ] Write a specific title that names the outcome rather than saying only "update" or "announcement".
55- [ ] Open with the user problem or the most important shipped outcome.
56- [ ] Explain why the change was made using evidence from commits, docs, or release notes.
57- [ ] Summarize highlights in outcome language and name exact products, packages, plugins, skills, or components where useful.
58- [ ] Include verified installation or update commands when the reader must act.
59- [ ] Make breaking changes prominent and provide clear before-and-after migration steps; follow repository format rather than requiring a particular callout label.
60- [ ] Link to canonical documentation at the default branch or immutable release tag as appropriate.
61- [ ] Include a short "What's next" section only for committed or clearly labelled tentative work.
62- [ ] Thank verified external contributors by handle; omit the section for solo work.
63- [ ] End with one genuine, answerable feedback question when community input would be useful.
64 
65### Fact Check
66 
67- [ ] Verify claims about availability and measured effects against the actual release, deployment, or outcome evidence; distinguish announced plans from available capabilities.
68- [ ] Verify every command against current authoritative documentation and any stable package, plugin, or marketplace identifier it uses.
69- [ ] Verify every named product, package, plugin, skill, component, file path, category, version, tag, and link against the remote repository.
70- [ ] Recompute every count from the target commit; avoid counts when they add no user value.
71- [ ] Confirm feature descriptions against the actual changed source, documentation, or manifest, not commit-title shorthand.
72- [ ] Confirm removed capabilities and compatibility limits are stated explicitly.
73- [ ] Do not invent adoption, download, search-volume, performance, compatibility, or roadmap claims.
74- [ ] Label estimates, interpretations, and future intent instead of presenting them as shipped facts.
75- [ ] Remove generic hype, repeated conclusions, excessive headings, canned transitions, and symmetrical filler lists.
76- [ ] Re-read the draft as a new user and ensure it explains both the value and any required action.
77 
78### Approval and Publication
79 
80- [ ] Present the exact title and full Markdown body to the user before creating external state.
81- [ ] Include the evidence range and selected category, or the unresolved destination limitation, with the draft.
82- [ ] For draft-only work, complete the self-check and report `PREPARED` without waiting; clear publication-only items with this scope reason. For publication, require explicit approval of the exact copy and destination; reuse unchanged approval already given in the session. A request to announce does not approve unseen final copy.
83- [ ] If the user changes any substantive claim or instruction, fact-check the revised draft again.
84- [ ] Write the approved body to a temporary file to preserve formatting and avoid shell interpolation errors.
85- [ ] Only for authorized publication, verify write access and destination, then publish through the GitHub Discussions GraphQL mutation using discovered repository and category IDs. Clear publication-only criteria when the request ends at a draft.
86- [ ] Read the discussion back and verify title, body, category, and URL. After an uncertain response, inspect the returned ID or matching destination/content before retrying; stop if identity remains ambiguous rather than risk a duplicate.
87- [ ] Remove the temporary draft safely after verification.
88- [ ] Report the discussion URL and any manual action, such as pinning, that the API cannot perform.
89- [ ] Do not create tags, releases, issues, comments, or cross-posts unless explicitly requested.
90 
91## Verdict
92 
93- `PREPARED` — fact-checked copy is complete; publication is either outside scope or awaiting exact-copy approval.
94- `PUBLISHED` — the approved discussion exists and was read back successfully.
95- `BLOCKED` — source evidence prevents a trustworthy draft, or a requested publication cannot proceed because its permissions, category, or verification is unavailable. Distinguish a completed draft from blocked publication.
96 
97## Self-Check
98 
99- [ ] **Reconcile before returning.** Check item-level evidence, requirement coverage, contradictions, scope, verdict, and applicable cleanup. Correct the report or authorized artifacts. Reuse valid evidence; do not automatically rescan the repository or rerun successful commands. Repeat checks only for relevant changes, failures, or unresolved evidence. Disclose remaining gaps.
100 
101## Output Contract
102 
103Report in the user's language, in this order; label all five fields and state each fact once. Use controlled plain language: one fact per sentence, usually under 20 words, active voice, and one term per concept, with no synonyms for verdicts, IDs, or states. Small results may use one line per field; omit empty tables and do not copy linked artifacts:
104 
1051. **Result:** The exact skill-specific verdict token first, then the supported outcome.
1062. **Scope:** Reviewed/changed scope, exclusions, baseline, and material assumptions.
1073. **Evidence:** Skill-specific fields below; distinguish facts, inferences, and unverified claims. Link artifacts; use tables when useful.
1084. **Verification:** Checks/results, unavailable evidence, and applicable cleanup/external state.
1095. **Completion:** `Checklist: X/Y complete`; `Incomplete: None` or each `UNPROVEN` item's reason, outcome impact, and exact next action; residual risks and required decisions.
110 
111**Skill-specific evidence:** Announcement classification, evidence range, destination/category or limitation, exact title, full fact-checked Markdown draft before approval, and fact-check summary. After publication, give the discussion URL and read-back verification while retaining approved copy in the response history. Report manual actions such as pinning; a mismatch with approved copy is `BLOCKED` and requires approval before editing/deleting external content.
112 

Discussion

Alternatives

Discord Skill (Read-Only)Read Discord for financial research using opencli (read-only). Use this skill whenever the user wants to read Discord channels, search for messages in trading servers, view guild/channel info, monitor crypto or market discussion groups, or gather financial sentiment from Discord. Triggers include: "check my Discord", "search Discord for", "read Discord messages", what's happening in the trading Discord", "show Discord channels", "list my servers", Discord sentiment on BTC", "what are people saying in Discord about AAPL", monitor crypto Discord", any mention of Discord in context of reading financial news, market research, or trading community discussions. This skill is READ-ONLY — it does NOT support sending messages, reacting, or any write operations. · MITExpert secretsApply Russell Brunson's Expert Secrets framework to build a mass movement around expertise — create a charismatic leader persona, design a new-opportunity offer, craft belief-breaking stories, and structure a Perfect Webinar that converts. Use when: positioning as an expert to monetize knowledge, creating an online course or coaching program, designing a webinar sales presentation, building a tribe with an identity and cause, crafting an Epiphany Bridge origin story, or packaging expertise into a value ladder.Marketing · MITYouTube Audience InsightsRead your YouTube audience from the comments: pull commenters and top comments on any video, surface recurring questions and themes (content ideas), repeat commenters (superfans), sentiment, and which comments to reply to or pin. Also channel stats and niche trending, via the free official YouTube Data API. Triggers on "who commented on my video", "analyze my comments", "audience insights", "trending on YouTube". Not for writing a community post (use yt-community-post-writer).Creator · MITYouTube Community Post WriterWrite YouTube community-tab posts: text updates, polls, image-caption posts, and questions that drive comments and bring subscribers back between video uploads. Tuned to the community tab's role as a low-friction touchpoint that keeps a channel warm and feeds session signals. Returns a copy-paste block (community posts have no publishing API, so this is always manual by design). Use to write a community post or poll. Not for video titles or descriptions (use yt-title-optimizer and yt-description-writer).Creator · MIT