Claude-code-skills ln-910-community-engagement

Analyzes community health and delegates engagement tasks. Use when managing GitHub issues, discussions, and announcements.

install
source · Clone the upstream repo
git clone https://github.com/levnikolaevich/claude-code-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/levnikolaevich/claude-code-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills-catalog/ln-910-community-engagement" ~/.claude/skills/levnikolaevich-claude-code-skills-ln-910-community-engagement && rm -rf "$T"
manifest: skills-catalog/ln-910-community-engagement/SKILL.md
source content

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. If
shared/
is missing, fetch files via WebFetch from
https://raw.githubusercontent.com/levnikolaevich/claude-code-skills/master/skills/{path}
.

ln-910-community-engagement

Type: L2 Coordinator (active) Category: 9XX Community Engagement

Analyzes current community health and repository state, consults the engagement strategy, and delegates to the appropriate worker. Each worker is also invocable standalone.


Overview

AspectDetails
Input
$ARGUMENTS
(optional): topic, action keyword, or empty for auto-analysis
OutputSituation report + delegated action via worker skill
Workersln-911 (triager), ln-912 (announcer), ln-913 (debater), ln-914 (responder)

Phase 0: GitHub Discovery

MANDATORY READ: Load

shared/references/community_github_discovery.md

Execute the discovery protocol. Extract:

  • {owner}/{repo}
    for all GitHub operations
  • repo.id
    for GraphQL mutations (passed to workers)
  • maintainer
    login (authenticated user)
  • Discussion category IDs

Gate checks: gh authenticated? Discussions enabled?

Load strategy: check

docs/community_engagement_strategy.md
in target project, fallback to
shared/references/community_strategy_template.md
.


Phase 1: Situation Analysis

If

$ARGUMENTS
contains a direct action keyword (
announce
,
debate
,
triage
,
respond
), skip analysis and jump to Phase 3 (Direct Delegation).

Otherwise, gather context from multiple sources in parallel:

1a. Community Health

Delegate to triager in summary mode (no interactive preview):

Skill(skill: "ln-911-github-triager", args: "summary")

Extract from triager output: red flags, priority counts (P0/P1/P2), health metrics.

1b. Unreleased Changes

# 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}"

Then check what changed since:

git log --oneline --since="{last_announcement_date}"

Read

CHANGELOG.md
— any entries newer than the last announcement?

1c. Cadence Check

From strategy Section 4:

  • Days since last announcement → monthly digest overdue if >30 days?
  • Any pending architectural decisions that need RFC?

Phase 2: Decision Matrix

Apply strategy Section 1 (Announcement vs Debate) to the gathered context:

ConditionPriorityActionWorker
Red flags: unanswered discussions >7dP0Respond to unanswered items→ ln-914
Red flags: PRs needing reviewP0List PRs needing reviewRecommendations only
Unreleased changes in CHANGELOGP1Announce: new features/fixes→ ln-912
$ARGUMENTS
contains RFC/debate topic
P1Debate: launch RFC→ ln-913
Monthly digest overdue (>30d)P2Monthly digest announcement→ ln-912
Design questions identified in Phase 1P2Debate: RFC for open decisions→ ln-913
Community health OK, nothing unreleasedReport "all clear"No delegation

Output: Situation Report

Present to user:

## 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}

Wait for user approval before proceeding.


Phase 3: Delegate

After user approves the recommended action:

Direct Delegation (when
$ARGUMENTS
specifies action)

ArgumentDelegation
announce
or
announce {topic}
Skill(skill: "ln-912-community-announcer", args: "{topic}")
debate
or
debate {topic}
Skill(skill: "ln-913-community-debater", args: "{topic}")
triage
or
triage {scope}
Skill(skill: "ln-911-github-triager", args: "{scope}")
respond
or
respond {#number}
Skill(skill: "ln-914-community-responder", args: "{#number or batch}")

Analysis-Based Delegation

Recommended actionDelegation
Announce
Skill(skill: "ln-912-community-announcer")
— worker gathers its own context
Debate
Skill(skill: "ln-913-community-debater", args: "{identified topic}")
Respond to items
Skill(skill: "ln-914-community-responder", args: "batch")
No action neededReport status, done

Shared References

FilePurpose
shared/references/community_github_discovery.md
Phase 0: dynamic repo/category/user discovery
shared/references/community_strategy_template.md
Default engagement strategy (fallback)
shared/references/community_discussion_formatting.md
GitHub Discussion formatting rules

Strategy Override

Each target project can override the default strategy by creating

docs/community_engagement_strategy.md
. All skills check project-local first, then fall back to the template in
shared/references/
.


Phase 4: Meta-Analysis

MANDATORY READ: Load

shared/references/meta_analysis_protocol.md

Skill type:

planning-coordinator
. Run after Phase 3 completes. Output to chat using the
planning-coordinator
format.


TodoWrite format (mandatory):

- 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 Invocation (MANDATORY)

PhaseWorkerContext
1ln-911-github-triagerShared (Skill tool) — community health summary
3ln-912-community-announcerShared (Skill tool) — feature/release announcements
3ln-913-community-debaterShared (Skill tool) — RFC / architectural debates
3ln-914-community-responderShared (Skill tool) — respond to unanswered items

All workers: Invoke via Skill tool — workers see coordinator context.

Definition of Done

  • GitHub discovery complete (owner/repo, categories, maintainer extracted)
  • Situation analyzed (health + unreleased changes + cadence) OR direct delegation triggered
  • Decision matrix applied with priority-based action selection
  • Worker delegated or recommendations shown to user
  • User informed of outcome

Version: 1.0.0 Last Updated: 2026-03-13