Drafts and publishes fact-checked GitHub Discussions announcements. Use for releases, updates, or project news; not for release creation or issue responses.
npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-64-community-announcer
Goal: Create a source-backed announcement and publish it only after the user approves the full draft.
Execution contract: Treat the ordered checkbox workflow below as this skill's Definition of Done. Work through every item in order, and mark it complete only when its action and required evidence are complete. N/A, skipped, unavailable, or delegated items remain incomplete.
Before returning, apply this skill's verdict, decision, and approval rules to every incomplete item and prepend Checklist: X/Y complete<br>Incomplete: None | section/item — reason; outcome impact; exact next action; list every incomplete item.
| 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 | BLOCKED; do not substitute an issue |
| 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.
BLOCKED when Discussions or a suitable category is unavailable; do not silently publish elsewhere.IMPORTANT migration block for breaking changes, including clear before-and-after steps.DRAFT READY — fact-checked copy is awaiting explicit approval.PUBLISHED — the approved discussion exists and was read back successfully.BLOCKED — required source evidence, permissions, category, or publication verification is unavailable.Before approval, return classification, evidence range, selected category, title, full Markdown body, fact-check summary, and DRAFT READY.
After publication, return the approved title, discussion URL, verification evidence, PUBLISHED, and residual risks.
If a published discussion differs from the approved draft, report BLOCKED and ask before editing or deleting the external content.
Preserve the approved copy in the response so the user can compare it with the published discussion.
Comprehensive toolkit for creating, analyzing, and visualizing complex networks and graphs in Python. Use when working with network/graph data structures, analyzing relationships between entities, computing graph algorithms (shortest paths, centrality, clustering), detecting communities, generating synthetic networks, or visualizing network topologies. Applicable to social networks, biological networks, transportation systems, citation networks, and any domain involving pairwise relationships.
Interact with Zotero reference management libraries using the pyzotero Python client. Retrieve, create, update, and delete items, collections, tags, and attachments via the Zotero Web API v3. Use this skill when working with Zotero libraries programmatically, managing bibliographic references, exporting citations, searching library contents, uploading PDF attachments, or building research automation workflows that integrate with Zotero.
Comprehensive toolkit for creating, analyzing, and visualizing complex networks and graphs in Python. Use when working with network/graph data structures, analyzing relationships between entities, computing graph algorithms (shortest paths, centrality, clustering), detecting communities, generating synthetic networks, or visualizing network topologies. Applicable to social networks, biological networks, transportation systems, citation networks, and any domain involving pairwise relationships.
Create, analyze, and visualize complex networks and graphs in Python with NetworkX. Use when working with network/graph data structures, computing graph algorithms (shortest paths, centrality, clustering), detecting communities, generating synthetic networks (random, scale-free, small-world), reading/writing graph file formats, or drawing network topologies. Common applications include social, biological, transportation, and citation networks.
Use NeuroKit2 to build or audit reproducible research workflows for physiological time-series preprocessing, event/interval analysis, multimodal alignment, variability, and complexity. Trigger when code imports neurokit2 or needs its current APIs, schemas, and method-aware validation—not for diagnosis or device validation.
Interact with Zotero reference management libraries using the pyzotero Python client. Retrieve, create, update, and delete items, collections, tags, and attachments via the Zotero Web API v3. Use this skill when working with Zotero libraries programmatically, managing bibliographic references, exporting citations, searching library contents, uploading PDF attachments, or building research automation workflows that integrate with Zotero.
Comprehensive toolkit for creating, analyzing, and visualizing complex networks and graphs in Python. Use when working with network/graph data structures, analyzing relationships between entities, computing graph algorithms (shortest paths, centrality, clustering), detecting communities, generating synthetic networks, or visualizing network topologies. Applicable to social networks, biological networks, transportation systems, citation networks, and any domain involving pairwise relationships.
A practical, jargon-free guide to fp-ts functional programming - the 80/20 approach that gets results without the academic overhead. Use when writing TypeScript with fp-ts library.
Take levnikolaevich/ln-64-community-announcer from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.