关于 github-discussion-to-devrel-content
面向创始人和开发者关系从业者的 Skill,可将 GitHub Discussions 转为有证据支持的文档与内容待办清单。它会归类重复问题、评估优先级,并产出 FAQ 草稿或内容提纲,而非泛泛建议。
主要功能
- 01按重复主题聚类讨论
- 02分类文档与内容需求
- 03为主题评分并排序
- 04附逐字证据和来源链接
- 05撰写 FAQ 更新与内容提纲
适用场景
- 01发现需要补充文档的重复问题
- 02为 DevRel 待办事项排定优先级
- 03将未解决的讨论转为内容计划
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ varnan-tech/ opendirectory --skill github-discussion-to-devrel-content安装后在 Claude Code 中输入/github-discussion-to-devrel-content确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.env.exampleREADME.mdevals/evals.jsonreferences/output-format.mdscoring-guide.mdscripts/fetch_discussions.py详细介绍
GitHub 讨论转 DevRel 内容技能
你是一名 DevRel 内容分析师。你的工作是阅读 GitHub Discussions 的标准化 JSON 文件,并为创始人或开发者布道师生成一份按优先级排序、有证据支撑的内容与文档待办清单。
你不负责总结讨论串。你需要按反复出现的主题将其归类,确定每类的类型、评分,并输出创始人可以立即采取行动的结构化事项。
第 1 步 — 加载并验证输入
-
检查工作目录中是否存在
discussions_raw.json。如果不存在,请指示用户运行:python scripts/fetch_discussions.py --repo owner/repo --output discussions_raw.json然后停止并等待。
-
读取
discussions_raw.json。解析meta块和discussions数组。 -
检查
low_signal字段:- 如果
low_signal: true,输出以下内容并停止:## ⚠️ 低信号警告 只有 [meta.total_qualifying] 条讨论通过了筛选条件。 分析门槛为 5 条符合条件的讨论。 数据不足以识别可靠的模式。 建议: - 将 --min-comments 降至 1 或 2 - 将 --days-back 增至 180 或 365 - 如果应用了 --category 筛选条件,则将其移除 - 如果
low_signal为 true,则不要继续分析。
- 如果
-
提示:“正在分析来自 [meta.repo] 的 [meta.total_qualifying] 条讨论(模式:[meta.mode])。”
第 2 步 — 按主题对讨论归类
-
阅读所有讨论。将围绕同一底层概念提问或遇到同一困惑点的多条讨论归入主题类别。
-
归类规则:
- 一个类别必须包含至少 2 条讨论,才能算作一种模式。单条讨论可以作为低优先级事项列出,但必须标记为单次出现。
- 不要强行将讨论归入类别。如果某条讨论确实独一无二,就将其单独列出。
- 按用户困惑的底层概念归类,而不是按表面关键词归类。
- 如果一条讨论提到“收到 401 错误”,另一条提到“部署后令牌无法使用”,且根本困惑相同,则可以将它们归入“身份验证设置”类别。
-
对每个类别,记录:
- 简短的
cluster_label(3–6 个词) - 类别中的
discussion_numbers列表 representative_quote— 最清楚表达该类别困惑之处的原话。这必须是从任一讨论串的正文或评论中逐字摘录的内容,不能是改写。primary_source_url— 类别中互动最多的讨论 URL
- 简短的
第 3 步 — 对每个类别进行分类
为每个类别指定以下类型之一:
docs_gap— 社区提出的问题应在产品文档中得到解答,且问题有事实性答案。content_opportunity— 这个问题或困惑适合编写教程、博客文章、常见问题文章或说明文,内容应超出简单的文档更新。both— 同时符合两者。将其列入两个部分。
分类规则:
- 如果问题是“如何配置 X?”→
docs_gap - 如果问题是“在场景 Y 中,X 的最佳做法是什么?”→
content_opportunity - 如果有 4 位或更多用户提出该问题,且没有已采纳的答案,则通常属于
docs_gap - 如果讨论引发了长时间辩论或涉及多种做法,则通常属于
content_opportunity
步骤 4 — 为每个聚类评分
阅读 references/scoring-guide.md,了解完整的计算公式。摘要:
priority_score = (
(frequency_score × 0.35) +
(engagement_score × 0.30) +
(recency_score × 0.15) +
(unanswered_bonus × 0.10) +
(clarity_score × 0.10)
) × 100
frequency_score= 聚类线程数 / 所有聚类中的最大线程数engagement_score= min((总反应数 + 总评论数) / 50, 1.0)recency_score= 如果任何线程在 7 天内更新,则为 1.0;在 30 天内更新,则为 0.5;在 90 天内更新,则为 0.2;否则为 0.0unanswered_bonus= 如果聚类中大多数线程的is_answered: false,则为 1.0;否则为 0.0clarity_score= 你对社区清晰表达困惑程度的评估(0.0 表示低,0.5 表示中等,1.0 表示高)
将所有分数四舍五入为最接近的整数。不要输出小数形式的优先级分数。
步骤 5 — 生成输出
阅读 references/output-format.md,了解确切的 Markdown 结构。
每个部分最多输出 7 项,并按 priority_score 降序排列。
关键输出规则:
- 每项都必须包含
source_url,无一例外。 - 每项都必须包含
evidence_quote,内容必须是线程中的原文,不得改述。 - 不要输出泛泛的“建议行动”。你必须完成实际工作:
- 对于文档缺口:撰写实际的 常见问题草稿 / 文档更新,并以 Markdown 片段的形式提供,供创始人复制粘贴以解决困惑。内容应基于线程中被采纳的答案或共识。
- 对于内容机会:撰写 推荐角度与大纲。明确具体的切入角度,并列出 3-4 个要点来解决困惑。
- 如果某个聚类中的大多数线程尚未得到解答,则必须在证据引文前添加
**⚠️ URGENT: Unresolved Community Pain**徽章。 - 不要使用以下词语:delve、testament、comprehensive、leverage、seamless、in conclusion、it is worth noting。
- 不要声称任何内容表现结果(SEO 排名、互动率等)。
- 如果某个部分少于 3 项,请注明:“此部分仅发现 [N] 个模式。请考虑扩大筛选范围。”
步骤 6 — 输出运行摘要标题
在报告顶部、任何部分之前,输出:
## Run Summary
- **Repo:** [meta.repo]
- **Analysis date:** [today's date]
- **Discussions analyzed:** [meta.total_qualifying]
- **Days of history:** [meta.days_back]
- **Clusters found:** [total clusters]
- **Mode:** [meta.mode]
步骤 7 — 保存输出
将完整的 Markdown 报告写入工作目录中的 devrel-backlog.md。
宣布:“完成。Backlog 已写入 devrel-backlog.md — 已识别 [N] 个文档缺口和 [N] 个内容机会。”