ln-914-community-responder

Respond to GitHub discussions and issues: analyze context, search codebase for answers, compose and publish replies

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ln-914-community-responder" with this command: npx skills add levnikolaevich/claude-code-skills/levnikolaevich-claude-code-skills-ln-914-community-responder

Paths: File paths (shared/, references/, ../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.

ln-914-community-responder

Type: L3 Worker (standalone) Category: 9XX Community Engagement Responds to unanswered GitHub Discussions and Issues by analyzing the question, searching the codebase for answers, and composing a helpful reply. Supports single-item and batch modes.


Overview

AspectDetails
Input$ARGUMENTS: discussion/issue number (#42), batch (all unanswered P1), or empty (interactive)
OutputResponse comment(s) published to GitHub
PatternRead question → Search codebase → Compose response → Fact-check → Publish

Phase 0: GitHub Discovery

MANDATORY READ: Load shared/references/community_github_discovery.md

Execute the discovery protocol. Extract:

  • {owner}/{repo} for URLs and API calls
  • repo.id for GraphQL mutations
  • maintainer login (authenticated user)
  • Discussion category IDs

Load strategy: check docs/community_engagement_strategy.md in target project, fallback to shared/references/community_strategy_template.md. Extract Section 5 (Engagement Metrics) and Section 6 (Tone Guide).

MANDATORY READ: Load shared/references/community_discussion_formatting.md MANDATORY READ: Load response_styles.md MANDATORY READ: Load shared/references/humanizer_checklist.md


Phase 1: Load Items

Single Item Mode

If $ARGUMENTS contains a number (e.g., 42, #42):

# For discussions
gh api graphql -f query='query($owner: String!, $name: String!) {
  repository(owner: $owner, name: $name) {
    discussion(number: {N}) {
      id number title body
      category { name }
      author { login }
      createdAt
      answerChosenAt
      comments(first: 20) {
        totalCount
        nodes { author { login } body createdAt }
      }
    }
  }
}' -f owner="{owner}" -f name="{repo}"
# For issues (if discussion not found)
gh issue view {N} --repo {owner}/{repo} --json number,title,body,author,createdAt,comments,labels

Batch Mode

If $ARGUMENTS is batch:

  1. Fetch recent discussions + issues via GraphQL (last 30 days, open, sorted by created DESC)
  2. Filter to P1 items: author != maintainer AND zero maintainer comments
  3. Fetch full context for each item (max 10 per batch)

Interactive Mode

If $ARGUMENTS is empty, list recent unanswered items and ask the user which to respond to.


Phase 2: Analyze Context

For each item:

2a. Understand the Question

  1. Read the discussion/issue body — identify the core question or problem
  2. Read existing comments — check if partially answered or if follow-ups changed the scope
  3. Detect item type: Q&A question, bug report, feature request, configuration help, general feedback

2b. Search Codebase for Answer

Based on the question type, search for relevant information:

Question TypeSearch Strategy
"How do I..."Grep for keywords in SKILL.md files, README.md, docs/
Bug reportGrep for mentioned function/file, check git log for recent fixes
ConfigurationRead docs/tools_config.md, CLAUDE.md, relevant SKILL.md
Feature requestCheck if feature already exists, grep for related patterns
InstallationRead README.md installation section, plugin.json
FOR each item:
  1. Extract keywords from question (function names, skill names, error messages)
  2. Grep codebase for keywords (max 5 searches)
  3. Read relevant files (max 3 files, prioritize SKILL.md and docs/)
  4. Check git log for recent changes related to the topic
  5. If answer found → proceed to Phase 3
  6. If not found → mark as "needs-manual" and suggest the user respond directly

2c. Detect First-Time Poster

gh api graphql -f query='query($owner: String!, $name: String!) {
  repository(owner: $owner, name: $name) {
    discussions(first: 100) {
      nodes { author { login } }
    }
  }
}' -f owner="{owner}" -f name="{repo}"

Count how many discussions the author has created. If 0 previous (this is their first) → flag for Welcome style.


Phase 3: Classify Response Type

MANDATORY READ: Load response_styles.md — use the classification matrix.

Item TypeResponse Style
Q&A question with answer foundTechnical Answer
Bug reportBug Acknowledgment
Feature request / ideaFeature Acknowledgment
Question already answered elsewhereRedirect
First-time poster (any type)Welcome + appropriate content style
Stale item with progress updateStatus Update
Cannot find answer in codebaseMark needs-manual — skip composition

Phase 4: Compose Response

Use the selected style template from response_styles.md.

Required Elements (All Styles)

  • Thank the author — by name if possible, acknowledge their contribution
  • Answer the question — direct, clear, linked to source code/docs
  • Invite follow-up — "Let us know if this helps" or similar
  • No jargon without context — explain internal terms
  • Link to code — at least one link to relevant file in the repo

Batch Mode Composition

In batch mode, compose all responses first, then present ALL for user review before publishing any.


Phase 5: Fact-Check

Before presenting to user, verify every claim:

  1. File paths & links — verify each linked file exists: ls {path}

  2. Code references — verify mentioned functions/classes exist: grep -r "{name}"

  3. Feature descriptions — re-read source file, confirm accuracy

  4. Install/usage commands — verify against README.md

  5. Humanizer audit -- run the audit protocol from humanizer_checklist.md. If 3+ AI patterns found, rewrite flagged sections.

Gate: If any check fails, fix the response before proceeding.


Phase 6: Review and Publish

Single Item Mode

Present the composed response to the user. Wait for explicit approval before publishing.

Batch Mode

Present ALL responses in a summary table:

### Batch Responses — {N} items

| # | Type | Title | Style | Status |
|---|------|-------|-------|--------|
| {number} | {Discussion/Issue} | {title} | {Technical/Bug/Welcome/...} | Ready |
| {number} | ... | ... | ... | needs-manual |

Then show each response body. User can approve all, approve selectively, or edit individual responses.

Publish Discussion Comment

gh api graphql -f query='
  mutation($discussionId: ID!, $body: String!) {
    addDiscussionComment(input: {
      discussionId: $discussionId,
      body: $body
    }) {
      comment { url }
    }
  }
' -f discussionId="{discussion.id}" -f body="{response body}"

Publish Issue Comment

gh issue comment {number} --repo {owner}/{repo} --body "{response body}"

Report the comment URL(s) to the user.


Rules

  • Always require user approval before publishing any response
  • Never close discussions or issues — only respond
  • Never mark as answered — let the author do it (for Q&A discussions)
  • Batch limit: max 10 items per batch (prevent context overload)
  • needs-manual items: report to user with GitHub URL + reason, do not attempt response
  • Tone: per strategy Section 6 — respectful, helpful, link to code

Definition of Done

  • Items loaded (single, batch, or interactive selection)
  • Question context analyzed + codebase searched for answers
  • Response type classified per response_styles.md
  • First-time posters detected and welcomed
  • Response(s) composed with links to relevant code/docs
  • Fact-checked (file paths, code references, commands verified)
  • User approved response(s)
  • Published via GraphQL/CLI, comment URL(s) reported
  • needs-manual items reported to user with URLs

Version: 1.0.0 Last Updated: 2026-03-14

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

ln-782-test-runner

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ln-140-test-docs-creator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ln-110-project-docs-coordinator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ln-150-presentation-creator

No summary provided by upstream source.

Repository SourceNeeds Review