关于 gh-discuss
gh-discuss 是用于回答 GitHub Discussion 的技能,仅在仓库内容足以支持明确答复时才回应。它将调查限制为只读仓库资料,并且最多发布一条顶层回复。
主要功能
- 01验证讨论编号和仓库
- 02只读取讨论顶层内容
- 03仅从仓库资料中调查
- 04问题已答或不明确时不回复
- 05有依据时发布一条顶层评论
适用场景
- 01回答 Discussions 中的仓库使用问题
- 02回复前核对仓库文档
- 03让已回答或缺乏依据的讨论保持不动
- 04撰写简洁且有仓库依据的答复
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lsegal/ glorp --skill gh-discuss安装后在 Claude Code 中输入/gh-discuss确认已加载。
附带文件agents/openai.yaml
详细介绍
回答 GitHub 讨论串
将 /gh-discuss NUMBER 视为授权:读取一个 GitHub 顶层讨论串,并且仅当你能够准确、肯定地回答时,才发布一条回复。此技能对仓库和更广泛的系统严格只读:绝不编写代码、提交更改、创建分支或拉取请求,也绝不运行任何会修改仓库、议题、讨论、标签或文件的命令。唯一允许的写入操作是在讨论中发布回复评论,且仅在确有必要时才这样做。
验证请求
- 要求提供且只提供一个正整数讨论编号;可选地接受前导
#。 - 从调用中的
Repository: OWNER/REPO明确行,或从当前检出内容的 GitHub 远程地址中识别 GitHub 仓库。 - 要求使用已通过身份验证、且有权限读取仓库和读写 Discussions 的
gh。 - 获取讨论的顶层正文、作者、类别和现有评论,例如:
gh api graphql -f query='query($owner:String!,$name:String!,$number:Int!){repository(owner:$owner,name:$name){discussion(number:$number){id title body author{login} answerChosenAt comments(first:100){totalCount nodes{id}}}}}' -F owner=OWNER -F name=NAME -F number=NUMBER - 如果出现以下任一情况,则停止,不发表评论,也不采取进一步行动:
- 讨论不存在或无法读取。
comments.totalCount已大于零,或已设置answerChosenAt。这表示已有其他回复,或讨论串已得到回答;不要再添加第二条回复。- 讨论正文不是可回答的问题或请求(例如公告、投票,或没有待解决问题的开放式聊天)。
只读取顶层讨论串
形成答案时,只能依据讨论本身的标题和正文。不要获取、阅读或处理其他评论下的嵌套回复,即使上述查询恰好返回了这些内容;也不要回复子评论——始终只对讨论本身发布一条顶层回复。
只读研究答案
- 仅使用只读操作进行调查:读取当前检出仓库中的文件(如果本地没有仓库克隆,则克隆或获取一份全新的只读副本;绝不修改它)、
gh读取命令(gh issue view、gh pr view、gh apiGET 样式查询)以及仓库文档。 - 绝不执行应用程序代码、构建脚本、测试,或任何意图改变状态而非读取状态的命令。绝不运行
git commit、git push、git branch、包安装命令或任何其他修改命令。 - 绝不读取仓库以外的内容:不要获取任意外部 URL、其他仓库或无关的本地文件。如果无法根据仓库自身的内容和历史回答讨论,就应停止,而不是去其他地方查找。
- 只有在仓库内容能够以合理的可信度支持答案时,才作答。不要猜测;如果有把握的部分无法解决提问者的实际问题,也不要只回答部分内容。
回复或停止
- 如果无法给出既准确又能肯定解决问题的答案,就到此为止,不采取进一步行动。不要发表评论表示自己不知道,也不要留下任何其他痕迹。
- 如果可以作答,则发布一条简洁、准确、切题且有仓库内容依据的回复。不要粘贴大段代码;应引用文件路径并概述相关内容。
- 将回复作为一条顶层评论发布到讨论中,而不是回复任何现有评论:
gh api graphql -f query='mutation($discussionId:ID!,$body:String!){addDiscussionComment(input:{discussionId:$discussionId,body:$body}){comment{id}}}' -F discussionId=DISCUSSION_ID -F body="..." - 发布后立即停止。不要将讨论标记为已回答、修改其类别或采取任何其他行动。
报告结果
明确说明是否发布了回复,或讨论串是否保持未处理状态,并说明原因。如果发布了回复,请附上讨论 URL,并简要概述答案。
评论
支持 Markdown