From community-engagement
Community engagement coordinator: analyzes repo health, consults strategy, delegates to announcer/debater/triager
npx claudepluginhub 0xtaoist/taogate --plugin community-engagementThis skill is limited to using the following tools:
> **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.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
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.
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.
| Aspect | Details |
|---|---|
| Input | $ARGUMENTS (optional): topic, action keyword, or empty for auto-analysis |
| Output | Situation report + delegated action via worker skill |
| Workers | ln-911 (triager), ln-912 (announcer), ln-913 (debater) |
MANDATORY READ: Load references/github_discovery.md
Execute the discovery protocol. Extract:
{owner}/{repo} for all GitHub operationsrepo.id for GraphQL mutations (passed to workers)maintainer login (authenticated user)Gate checks: gh authenticated? Discussions enabled?
Load strategy: check docs/community_engagement_strategy.md in target project, fallback to references/community_strategy_template.md.
If $ARGUMENTS contains a direct action keyword (announce, debate, triage), skip analysis and jump to Phase 3 (Direct Delegation).
Otherwise, gather context from multiple sources in parallel:
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.
# 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?
From strategy Section 4:
Apply strategy Section 1 (Announcement vs Debate) to the gathered context:
| Condition | Priority | Action | Worker |
|---|---|---|---|
| Red flags: unanswered discussions >7d | P0 | List items needing response (no worker — direct action) | Recommendations only |
| Red flags: PRs needing review | P0 | List PRs needing review | Recommendations only |
| Unreleased changes in CHANGELOG | P1 | Announce: new features/fixes | → ln-912 |
$ARGUMENTS contains RFC/debate topic | P1 | Debate: launch RFC | → ln-913 |
| Monthly digest overdue (>30d) | P2 | Monthly digest announcement | → ln-912 |
| Design questions identified in Phase 1 | P2 | Debate: RFC for open decisions | → ln-913 |
| Community health OK, nothing unreleased | — | Report "all clear" | No delegation |
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.
After user approves the recommended action:
$ARGUMENTS specifies action)| Argument | Delegation |
|---|---|
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}") |
| Recommended action | Delegation |
|---|---|
| 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 | No delegation — present the list of items needing response with GitHub URLs |
| No action needed | Report status, done |
| File | Purpose |
|---|---|
references/github_discovery.md | Phase 0: dynamic repo/category/user discovery |
references/community_strategy_template.md | Default engagement strategy (fallback) |
references/discussion_formatting.md | GitHub Discussion formatting rules |
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 references/.
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.
Version: 1.0.0 Last Updated: 2026-03-13