plugins/community-engagement/skills/ln-913-community-debater/SKILL.md
Launches RFC and debate discussions on GitHub. Use when proposing changes that need community input or voting.
npx skillsauth add levnikolaevich/claude-code-skills ln-913-community-debaterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Paths: File paths (
references/,../ln-*) are relative to this skill directory.
Type: L3 Worker (standalone) Category: 9XX Community Engagement Launches structured debate discussions in GitHub Discussions for decisions that benefit from community input.
MANDATORY READ: Load references/community_github_discovery.md
Execute the discovery protocol. Extract:
{owner}/{repo} for URLs and codebase contextrepo.id for GraphQL mutationcategories["Ideas"] for RFC/Proposal discussionscategories["Polls"] for Prioritization pollsLoad strategy: check docs/community_engagement_strategy.md in target project, fallback to references/community_strategy_template.md. Extract Section 3 (Debate Triggers) and Section 1 (Decision Matrix).
MANDATORY READ: Load references/community_discussion_formatting.md
MANDATORY READ: Load references/humanizer_checklist.md
If $ARGUMENTS provided, use as the topic seed. Otherwise, ask the user what they want to debate.
Gather context:
| Type | Prefix | Category | When to use |
|------|--------|----------|-------------|
| Maintainer RFC -- design mostly done, seeking validation | [RFC] | Ideas | End of design process, soft announcement |
| Community RFC -- early stage, genuinely open to alternatives | [RFC] | Ideas | Beginning of design, kickstart discussion |
| Proposal -- new feature or restructuring | [Proposal] | Ideas | Concrete idea with use case |
| Workflow Change -- pipeline, task flow, or conventions | [RFC] | Ideas | Affects multiple areas or user workflows |
| Prioritization -- what to build next, feature ranking | [Poll] | Polls | Multiple options, need community vote |
If type is Prioritization, switch to Polls flow (Phase 4).
Use the RFC Structure Pattern from discussion_formatting.md (loaded in Phase 0).
Skill-specific additions beyond the shared pattern:
## Unresolved Details section after Open Questions — implementation details not yet decided, to be resolved during development## Decision Criteria section — how the decision will be made (metrics, feedback threshold)GitHub Discussions Polls are created via UI only. Instead, compose a reaction-based voting discussion:
## {Topic}
{1-2 sentence context}
**Vote by reacting to the options below** (each option is posted as a separate comment -- use :+1: to vote).
### Context
{Why this decision matters now}
After creating the discussion, post each option as a separate comment for reaction-based voting.
Before presenting to user, verify every verifiable claim in the draft:
ls {path}. Remove or fix broken links.grep -r "{name}".humanizer_checklist.md. If 3+ AI patterns found, rewrite flagged sections.Gate: If any check fails, fix the draft before proceeding.
Present the composed title + body to the user. Wait for explicit approval before publishing.
After approval, publish via GraphQL using discovery context:
gh api graphql -f query='
mutation($title: String!, $body: String!, $repoId: ID!, $catId: ID!) {
createDiscussion(input: {
repositoryId: $repoId,
categoryId: $catId,
title: $title,
body: $body
}) {
discussion { url id }
}
}
' -f title="TITLE_HERE" -f body="BODY_HERE" -f repoId="{repo.id}" -f catId="{categories.Ideas or categories.Polls}"
For Polls, after creating the discussion, post each option as a comment:
gh api graphql -f query='
mutation($discussionId: ID!, $body: String!) {
addDiscussionComment(input: {
discussionId: $discussionId,
body: $body
}) {
comment { url }
}
}
' -f discussionId="DISCUSSION_NODE_ID" -f body="**Option N:** {description}"
Report the discussion URL to the user.
Version: 1.0.0 Last Updated: 2026-03-13
testing
Drafts and publishes fact-checked GitHub Discussions announcements. Use for releases, updates, or project news; not for release creation or issue responses.
testing
Prepares and publishes a tagged GitHub release from repository evidence. Use for an explicit release request; not for ordinary commits, packages, or community news.
testing
Validates, commits, pushes, and remotely verifies approved repository changes. Use when publication is requested; not for releases, package publishing, or announcements.
development
Reviews standalone skills and their configured distribution surfaces before publication. Use for skill release readiness; not for product code or implementation-plan review.