elixpo/elixpo_chapter/github-discussion-publisher
Claude Code and agent skill by elixpo/elixpo_chapter
- community
Checking that the SKILL.md file is still in the repository.
Validate, moderate, deduplicate, categorize, and publish Elixpo GitHub Discussions and replies through the bot identity. Use immediately before any public Announcement, Q&A, Poll, or @elixpoo reply, and when implementing GitHub GraphQL publication, safety gates, idempotency, disclosure, or failure handling.
Install
npx vskill@latest install elixpo/elixpo_chapter/github-discussion-publisherSKILL.md
GitHub Discussion Publisher
Apply this skill as the final gate for every public Discussion title, body, and reply. Fail closed: an uncertain validation or moderation result means no post.
Pre-publication sequence
Perform these steps in order:
- Validate the event and target repository.
- Derive a stable source marker from the PR, schedule date, discussion, or comment.
- Search recent Discussions or comments for that exact marker.
- Reject duplicates before making a generation call when possible.
- Validate required title, body, category, and poll options.
- Append the autonomous-contributor disclosure and marker.
- Send the complete final title and body through the RTK
safetyrole. - Publish only after an explicit safe verdict.
- Log the created URL or a factual skip reason without logging secrets.
Never call Pollinations directly. Use rtk.Router so budget, ledger, role mapping, and model changes remain centralized. Use only ELIXPO_POLLINATIONS_API_KEY for provider authentication.
Moderate the complete post
Evaluate the exact text that would become public, including the title, disclosure, and option list. Reject content containing harassment, hate, sexual exploitation, instructions facilitating wrongdoing, exposed credentials or personal data, targeted abuse, deceptive impersonation, or unsafe operational instructions.
Also reject a verdict that is empty, malformed, ambiguous, or not explicitly safe. Never reinterpret “unsafe” as safe because it contains the substring “safe.”
Preserve identity and disclosure
Publish with the configured elixpoo-owned GitHub token. Append:
Do not claim maintainer authorship or hide automation. Prevent loops by ignoring events authored by elixpoo, elixpoo[bot], or the configured bot username.
Map categories
- Announcement: accept
AnnouncementorAnnouncements. - Q&A: accept
Q&A,QNA, orQuestions and Answers. - Poll: accept
PollorPolls.
Stop with an actionable error when a required category is absent. Do not silently post into a semantically different category.
Apply labels
Create the safety-approved Discussion first. Then resolve missing deterministic labels and apply them through addLabelsToLabelable after creation:
- always apply
announcement,qna, orpollfor the post type; - apply
mlops,gitops,docker, orkubernetesonly for the primary domain; - always apply
elixpoo-generated. - apply the deterministic mood label (
mood-alert,mood-energized,
mood-curious, or mood-mentoring).
Require Discussions and Issues write permission on the source repository. Never reuse a label ID from another repository because labels are repository-scoped. If label lookup, creation, or attachment is forbidden, retain the already-created Discussion, emit a bounded warning, and do not retry the public post.
GitHub’s public GraphQL API does not create native poll options. Publish numbered options in the Poll body and ask readers to reply with an option plus reasoning. Require 2–6 non-empty options.
Keep publication idempotent
Use HTML comments so markers remain invisible in rendered prose:
Check durable source node IDs first, then top-level comments and nested replies for legacy markers. A workflow retry must exit successfully without generating or posting again.
For preview runs, perform generation, rendering, category resolution, and safety moderation, but never create a Discussion or mutate labels. Return the exact title, body, and intended labels that would be published.
Handle failures
- Missing credentials or repository: fail the run with a configuration hint.
- Missing category or GraphQL error: fail without falling back to another identity.
- Unsafe draft: log a redacted block reason and exit without publishing.
- Non-eligible mention or duplicate: log a skip and exit successfully.
- Provider or GitHub transient error: allow the client’s bounded retry policy; do
not add an unbounded loop.
Never log API keys, authorization headers, full webhook payloads, or user secrets.
Prefix every created Discussion title with exactly one emoji selected by the deterministic mood engine. Render bodies through the genre-specific Markdown contract before moderation; do not trust free-form headings from generation.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingagent.elixpo/skills/github-discussion-publisher/SKILL.md
Popularity
- Repository stars
- 84
- Repository forks
- 52
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 23 Oct 2026, 15 days ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/elixpo/elixpo_chapter/github-discussion-publisher)