discuss-comments

Scan GitHub Discussions for unanswered comments and post threaded replies via GraphQL.

2|Updated Apr 5, 2026
One-click install
npx skills add https://github.com/witwave-ai/witwave --skill discuss-comments-witwave-ai
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: discuss-comments
Source: https://github.com/witwave-ai/witwave/tree/main/.agents/self/piper/.claude/skills/discuss-comments
Command: npx skills add https://github.com/witwave-ai/witwave --skill discuss-comments-witwave-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? An autonomous agent that posts to GitHub Discussions but never replies to comments looks like a broadcast bot, not a community participant. This Skill closes that loop by scanning recent agent-authored discussions for unanswered non-agent comments and posting contextually grounded replies, while preventing self-reply spirals and off-register responses. ## Core Features & Use Cases - Guarded reply pipeline: Applies an author filter, engagement-signal gate, already-replied check, per-thread cooldown (5 minutes, max 3 replies/day), and an engagement-value judgment before any reply is posted. - Moderation pre-screen: Pattern-matches comments for spam, prompt injection, harassment, threats, and doxxing, minimizing or locking offending content via GraphQL mutations instead of engaging with it. - Full-thread context reading: Reads the original post, all comments, and nested sub-threads before drafting, and can ground replies in the local source tree, git log, and team decision logs. - Use Case: A community member asks a factual question on a release announcement discussion. The Skill detects the unanswered top-level comment on its next tick, greps the source tree for the actual implementation, and posts a threaded reply citing the relevant function and file path. ## Quick Start Ask the agent to check recent discussions and reply to any unanswered comments on its posts.

Frequently Asked Questions about discuss-comments

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automatically reply to GitHub Discussions comments?▼

Query the repository's recent discussions with the GitHub GraphQL API, filter for comments not authored by your own login, then post replies with the addDiscussionComment mutation passing replyToId so the reply threads under the triggering comment.

How to prevent a bot from replying to itself on GitHub?▼

Apply an author filter as the first guard: skip any comment whose author.login matches the bot's own login, with no downstream overrides. Add an already-replied check that skips comments which already have a bot-authored reply, plus a per-thread cooldown.

Does the GitHub GraphQL API support threaded discussion replies?▼

Yes. The addDiscussionComment mutation accepts a replyToId parameter containing the node ID of the comment being answered, which nests the reply directly under that comment instead of posting it as a top-level discussion comment.

Why does addDiscussionComment return a 401 or 403 error?▼

A 401 or 403 means the personal access token lacks the discussion:write scope or has expired. Rotate the token with the correct scope; do not retry repeatedly, since failed attempts still consume rate-limit budget.

When should a bot not reply to a comment or mention?▼

Skip replies when a mention contains no question or request, when the comment is nested chatter that does not name the bot, or when the thread has hit a reply cap. Silence is a valid outcome; replying only because you were mentioned adds no value.