关于 ln-910-community-engagement
面向维护者的社区参与协调技能,用于评估社区健康状况与仓库动态,并将工作交给专门技能。它结合健康检查、发布节奏和策略规则,推荐或委派后续行动。
主要功能
- 01分析社区与仓库状态
- 02检查公告发布节奏
- 03按优先级选择行动
- 04委派给四种工作技能
适用场景
- 01检查社区状态并发现风险
- 02将未回复讨论交给响应技能
- 03准备版本公告或 RFC 讨论
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-910-community-engagement安装后在 Claude Code 中输入/ln-910-community-engagement确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/community_discussion_formatting.mdcommunity_github_discovery.mdcommunity_strategy_template.mdmeta_analysis_protocol.md详细介绍
路径: 文件路径(
references/、../ln-*)均相对于此技能目录。
ln-910-community-engagement
类型: L2 协调器(活跃) 类别: 9XX 社区参与
分析当前社区健康状况和仓库状态,参考参与策略,并委派给相应的工作者。每个工作者也可独立调用。
概述
| 方面 | 详情 |
|---|---|
| 输入 | $ARGUMENTS(可选):主题、操作关键词;留空则自动分析 |
| 输出 | 情况报告 + 通过工作者技能委派的操作 |
| 工作者 | ln-911(分类器)、ln-912(公告发布者)、ln-913(讨论发起者)、ln-914(回应者) |
阶段 0:GitHub 发现
必须读取: 加载 references/community_github_discovery.md
执行发现流程。提取:
- 所有 GitHub 操作所需的
{owner}/{repo} - GraphQL 变更操作所需的
repo.id(传递给工作者) maintainer登录名(已认证用户)- Discussion 类别 ID
门控检查: gh 是否已认证?是否启用了 Discussions?
加载策略:检查目标项目中的 docs/community_engagement_strategy.md;若不存在,则使用 references/community_strategy_template.md。
阶段 1:情况分析
如果 $ARGUMENTS 包含直接操作关键词(announce、debate、triage、respond),则跳过分析,转到阶段 3(直接委派)。
否则,并行从多个来源收集上下文:
1a. 社区健康状况
以摘要模式(不进行交互式预览)委派给分类器:
Skill(skill: "ln-911-github-triager", args: "summary")
从分类器输出中提取:风险标记、优先级计数(P0/P1/P2)、健康指标。
1b. 尚未发布的更改
# Last announcement date: most recent Announcements discussion
gh api graphql -f query='query($owner: String!, $name: String!) {
repository(owner: $owner, name: $name) {
discussions(first: 1, categoryId: "{categories.Announcements}", orderBy: {field: CREATED_AT, direction: DESC}) {
nodes { createdAt title }
}
}
}' -f owner="{owner}" -f name="{repo}"
然后检查自以下时间以来的更改:
git log --oneline --since="{last_announcement_date}"
阅读 CHANGELOG.md——是否有晚于上次公告的条目?
1c. 发布节奏检查
根据策略第 4 节:
- 距离上次公告的天数 → 超过 30 天是否意味着月度摘要已逾期?
- 是否有需要通过 RFC 讨论的待定架构决策?
阶段 2:决策矩阵
根据策略第 1 节(公告还是讨论)处理收集到的上下文:
| 条件 | 优先级 | 操作 | 工作者 |
|---|---|---|---|
| 风险标记:未回应的讨论超过 7 天 | P0 | 回应未回应的事项 | → ln-914 |
| 风险标记:有待审查的 PR | P0 | 列出待审查的 PR | 仅提供建议 |
| CHANGELOG 中有尚未发布的更改 | P1 | 发布公告:新功能/修复 | → ln-912 |
$ARGUMENTS 包含 RFC/讨论主题 | P1 | 发起讨论:启动 RFC | → ln-913 |
| 月度摘要逾期(超过 30 天) | P2 | 发布月度摘要公告 | → ln-912 |
| 阶段 1 发现设计问题 | P2 | 发起讨论:针对未决事项创建 RFC | → ln-913 |
| 社区健康状况良好,且没有尚未发布的内容 | — | 报告“一切正常” | 不委派 |
输出:情况报告
向用户展示:
## Community Status — {YYYY-MM-DD}
**Repo:** {owner}/{repo}
**Last announcement:** {date} ({days} days ago)
**Open items:** {issues} issues, {prs} PRs, {discussions} discussions
### Red Flags
{list or "None"}
### Recommended Action
{One of: Announce / Debate / Respond to items / No action needed}
**Reason:** {brief explanation based on strategy criteria}
继续操作前,等待用户批准。
阶段 3:委派
用户批准建议的操作后:
直接委派(当 $ARGUMENTS 指定操作时)
| 参数 | 委派 |
|---|---|
announce 或 announce {topic} | Skill(skill: "ln-912-community-announcer", args: "{topic}") |
debate 或 debate {topic} | Skill(skill: "ln-913-community-debater", args: "{topic}") |
triage 或 triage {scope} | Skill(skill: "ln-911-github-triager", args: "{scope}") |
respond 或 respond {#number} | Skill(skill: "ln-914-community-responder", args: "{#number or batch}") |
基于分析的委派
| 建议操作 | 委派 |
|---|---|
| 发布公告 | Skill(skill: "ln-912-community-announcer") — 工作者自行收集上下文 |
| 发起讨论 | Skill(skill: "ln-913-community-debater", args: "{identified topic}") |
| 回应事项 | Skill(skill: "ln-914-community-responder", args: "batch") |
| 无需操作 | 报告状态,完成 |
共享参考
| 文件 | 用途 |
|---|---|
references/community_github_discovery.md | 阶段 0:动态发现仓库/类别/用户 |
references/community_strategy_template.md | 默认互动策略(备用方案) |
references/community_discussion_formatting.md | GitHub 讨论区格式规则 |
策略覆盖
每个目标项目都可以通过创建 docs/community_engagement_strategy.md 来覆盖默认策略。所有技能都会先检查项目本地文件,再回退到 references/ 中的模板。
阶段 4:元分析
可选参考:仅当用户要求运行后的元分析或按协议格式撰写运行反思时,才加载 references/meta_analysis_protocol.md。
技能类型:planning-coordinator。收到请求时,在阶段 3 完成后运行。使用 planning-coordinator 格式在聊天中输出。
TodoWrite 格式(必须):
- GitHub discovery (in_progress)
- Situation analysis (pending)
- Apply decision matrix (pending)
- Invoke ln-911-github-triager (pending)
- Invoke ln-912-community-announcer (pending)
- Invoke ln-913-community-debater (pending)
- Invoke ln-914-community-responder (pending)
- Report outcome to user (pending)
Worker 调用(必须)
宿主技能调用: 必须通过委派调用 Skill(skill: "...", args: "...")。
- Claude:严格按上方所示调用 Skill 工具。
- Codex:如果没有 Skill 工具,请在可用技能中找到指定技能,读取其
SKILL.md,将args视为$ARGUMENTS,执行该技能工作流,然后携带其结果/产物返回此处。 - 不要内联执行 worker 逻辑,也不要在未执行目标技能的情况下将 worker 标记为已完成。
| 阶段 | Worker | 上下文 |
|---|---|---|
| 1 | ln-911-github-triager | 共享(Skill 工具)— 社区健康摘要 |
| 3 | ln-912-community-announcer | 共享(Skill 工具)— 功能/版本发布公告 |
| 3 | ln-913-community-debater | 共享(Skill 工具)— RFC/架构辩论 |
| 3 | ln-914-community-responder | 共享(Skill 工具)— 回复未解答事项 |
所有 worker: 通过 Skill 工具调用 — worker 可以看到协调器上下文。
完成定义
- GitHub 发现已完成(所有者/仓库、类别、已提取维护者)
- 已分析情况(健康状况 + 尚未发布的变更 + 发布节奏),或已触发直接委派
- 已应用决策矩阵,并根据优先级选择行动
- 已委派 worker,或已向用户展示建议
- 已告知用户结果
版本: 1.0.0 最后更新: 2026-03-13