ln-64-community-announcer
Community Announcer
Goal: Create a source-backed announcement and publish it only after the user approves the full draft.
Execution contract: The ordered checkboxes are the Definition of Done. Track every item internally as PENDING, PROVEN with concrete evidence, CLEARED with evidence that its condition is absent, or UNPROVEN with a gap; reading, delegation, or tool failure is not proof. Reconcile items after each section. Before returning, resolve all PENDING and count only PROVEN and CLEARED; apply the skill's verdict and approval rules to every gap.
Preserve user intent, scope, and existing authorization. Continue authorized work; ask only for consequential unresolved choices or required external approval. Scale depth to material risk without silently skipping checks. Preserve dependency and safety ordering; otherwise choose the verification method appropriate to each obligation.
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.