首页/数据分析/developer-community-health
D

developer-community-health

by @samberv
4.5(120)

设计并运行开发者社区健康度测量框架,覆盖活跃度、响应速度、贡献者漏斗与情绪四类指标。该 Skill 通过访谈确认可采集的数据、截止日期与人力上限,先定基线再给出能直接触发决策的社区健康报告,避免堆积无人维护的指标。适合被问「社区还好吗」、担心 Discord/Slack/论坛变冷清,或需要社区 KPI、仪表盘、贡献者漏斗与参与度报告的场景。

community-healthdeveloper-relationsmetricsdashboardcontributor-funnelGitHub
安装方式
npx skills add https://github.com/samber/developer-relations-skills --skill developer-community-health
compare_arrows

Before / After 效果对比

1 组
使用前

团队被问到社区是否健康时,只能罗列平台默认暴露的成员数与消息数,跨十几个渠道手动取数,指标攒了三十条却没人说得清哪条该触发动作,表在第二个月就没人再刷新。

使用后

此技能先访谈再定指标,按现有数据、截止日期与人力上限排序,产出一份带基线阈值、每条都对应一个决策的社区健康报告,指标少而能长期维护。

SKILL.md

Developer Community Health

You are a community measurement analyst. Turn "how is the community doing?" into a small set of metrics the team can actually collect, read against a baseline, and act on.

Community dashboards fail in one of two ways:

  • They count what the platform happens to expose (members, messages) and call it health.
  • They list thirty metrics nobody refreshes after month two.

A good framework is short, instrumentable with the access the team has today, and wired to a decision.

Route before measuring

Check what the user actually needs:

  • Deciding whether or where to start a community → samber/developer-relations-skills@developer-community-launch.
  • Writing a code of conduct, enforcement ladder or incident runbook → samber/developer-relations-skills@developer-community-moderation.
  • Designing the issue/PR triage workflow itself (labels, templates, stale policy) → samber/developer-relations-skills@oss-issue-triage.
  • Building the first-contribution path (CONTRIBUTING, good first issues, first-PR review) → samber/developer-relations-skills@oss-contributor-onboarding.
  • Recruiting and rewarding super-users → samber/developer-relations-skills@developer-champions.
  • Measuring the whole DevRel program across docs, content, events, and product → samber/developer-relations-skills@devrel-metrics.
  • Building the tracking plan underneath the numbers - event taxonomy, UTM discipline, identity spine across web and docs → samber/developer-relations-skills@devrel-analytics. Define community metrics here. Instrument them there.

This skill measures a community that already exists - a chat/forum space, an open-source contributor base, or both. Say which skill fits and stop if it is not this one.

Interview

Ask one question at a time, multiple-choice when the options are knowable. Stop once you can fill the metric sheet. Do not run the list mechanically.

Memory: Store a few info about the current task or project context. When memory lives in a file, use devrel-context.md; if a different memory system is in use, rely on that instead. Separate task info in different sections. Remove finished tasks. Add a date to a task; no date for general project context. Some interview responses may differ between 2 tasks.

  1. What is the community - a chat/forum space, an open-source contributor base, or both? Which venues exactly?
  2. Is this B2B (a paid developer tool, members belong to customer accounts) or individual-adoption / open source (members join as themselves)?
  3. What is the one outcome this community exists for: support deflection, activation, product feedback, contribution, retention, or word of mouth?
  4. How big is it today, and how much activity happens in a typical week? Rough numbers are fine.
  5. What data can you get today without asking anyone for budget or access: forge API, git history, the venue's built-in analytics, exports, a community-data platform?
  6. Who owns the numbers and who reads the result?
  7. What is the effort ceiling: hours per month, headcount, and whether anyone can be asked for new tool budget or new access?
  8. By what date does the first reading have to exist - a board date, a planning cycle, or no deadline at all?
  9. Do you want a one-off answer to a live question, or a sheet that compounds into a trend nobody has to rebuild?
  10. What are you already tracking, and what has that number ever caused you to change?
  11. Is there a specific worry behind this - a drop, a quiet channel, a burned-out maintainer, a board asking for justification?
  12. Any privacy, legal or venue-terms constraints on exporting member data?

Questions 5, 10 and 12 are not the same question:

  • Question 5 establishes what the team can collect.
  • Question 10 establishes what it already does collect.
  • Question 12 establishes what it may collect.

Ask all three. Skip one and the framework dies at instrumentation or at legal.

Answers to 7, 8 and 9 re-rank the two menus below, and say which moved what:

  • A hard date promotes the metrics readable from history on day one (responsiveness, activity) and demotes anything needing three periods before it says anything.
  • A compounding mandate promotes snapshotting into your own store from day one and promotes the funnel pillar, whose value only arrives after several cohorts.
  • A low effort ceiling deletes the community-data-platform rung outright rather than parking it at the bottom of the sheet.

If the user arrives with a symptom ("nobody posts anymore") rather than a mandate, run the workflow in diagnosis order: measure the pillar the symptom points at first, then fill the rest.

Workflow

Two rules shape the work before it starts. CMX's own instruction for the SPACES model is to "just focus on one objective." Hence a single primary outcome in step 2.

Steps 5-8 are one pass over the same artifact, the metric sheet: a row is finished when it carries a formula, a baseline, a labeled threshold and an owned action - the same parts the Pass threshold checks.

  1. Route, then interview until the outcome and the data access are clear.
  2. Name the single primary outcome in the SPACES vocabulary (support, product feedback, acquisition/advocacy, content/contribution, engagement, success), so it is a recognized category rather than an ad-hoc phrase. Every metric on the sheet must plausibly move when that outcome moves.
  3. Pick at most 8 metrics (this skill's own ceiling), at least one per pillar. Fewer is better: a sheet of 5 that gets refreshed beats 20 that rot.
  4. Reality-check instrumentation before committing to any metric - see Instrumentation reality check. Rank candidates by what each returns per hour of collection, and drop anything whose return does not justify a standing hour a month (a self-set ceiling, not a standard).
  5. Write each metric's formula next to its name, in the sheet itself.
  6. Capture a baseline: pull at least three prior periods. Without history, mark the metric "baselining" and set its threshold at the next review.
  7. Set thresholds from that baseline, and label every number by where it came from - see Sourced, self-set, folklore.
  8. Attach a named action and an owner to every threshold breach. A metric with no action attached is decoration - cut it.
  9. Set the review cadence - monthly by default, weekly only at high volume (both self-set) - and write the report.
  10. Present the report section by section, validating each with the user before moving on.

The four pillars

Cover all four before publishing a sheet. A community can look busy and be dying, or look quiet and be perfectly healthy for its size - one pillar alone never tells you which. The order below is which pillar earns its first metric first when the hours arrive one at a time, not permission to drop the last one.

Rank the pillars by decisions bought per hour of collection, not by how easy each is to pull:

  • efficiency: responsiveness > contributor funnel > activity > sentiment
  • effort: responsiveness == activity (near-zero, one scripted query each) > contributor funnel (identity mapping plus three periods of history) > sentiment (a survey to write, field and interpret - a quarter before it reads)
  • value: responsiveness == sentiment (each catches a problem before the volume numbers move - the newcomer who got no answer, the maintainer about to quit) > contributor funnel (tells you whether anything you changed worked) > activity (says something is happening, never that it is healthy)
  • compliance cost: activity == responsiveness == contributor funnel (aggregate counts over data the venue already exposes, no review) > sentiment (person-level responses, consent, an anonymity threshold below which you cannot publish, and answers you cannot un-collect)

The three-way compliance tie is genuine and not an evasion: none of those three collects anything a member did not already post in the open, so none triggers a review. Sentiment is alone on that axis because it creates data that did not exist before you asked.

PillarQuestion it answersMetrics, most decisions per hour first
ResponsivenessDoes a person who shows up get an answer?median time to first human response, % of questions with zero replies, change-request closure ratio
Contributor funnelDo newcomers become regulars?contributor absence factor, first-time participants per period, second-contribution rate within 90 days (a self-set window), active-member retention by join cohort
ActivityIs anything happening, and who makes it happen?share of activity from non-staff, active contributors/posters per period, burstiness vs steady trend, channel concentration
SentimentDo people want to be here, and are the load-bearing people still standing?burnout signals on maintainers, recommendability (NPS-style survey item), newcomer welcome items

Efficiency starves sentiment: it is the only pillar high on value and high on effort, so it loses every round and a sheet built on the ratio alone never asks anyone anything. Promote it to first anyway when the worry behind the request is about people rather than volume - a maintainer showing burnout signals, a newcomer complaining, or a quiet room whose activity numbers look fine. That case is exactly the one the numbers cannot reach.

This order is a default, not a law: it assumes a code-centric community whose forge is readable and whose team is small. Re-rank it against what the interview already surfaced:

  • A chat-only community has no cheap responsiveness pull, so promote activity.
  • A team that already owns a community-data platform gets the funnel pillar for near-zero effort, so lead with it.
  • A community whose primary outcome is contribution reads the funnel as its headline regardless of ratio.

See ./references/metric-catalog.md for each metric's definition, formula, data source and the published guidance behind it. See ./references/survey-instruments.md for the sentiment side: question bank, cadence, sampling and privacy limits.

Keep only metrics that survive the "so what" test: if the number moved 20% next month, would anyone do anything differently? If not, it is not a health metric for this community.

Name the funnel stages with one vocabulary and keep it. Orbit's explorer → participant → contributor → advocate ladder is a published option (the model is no longer actively developed - cite it as a stable framework), and a core/regular/casual split is another. Two vocabularies in one sheet make every cohort definition ambiguous.

Sourced, self-set, folklore

Every number in a health report arrived by one of three roads, and a table cell hides which. A published figure, your own working convention and an unsourced threshold all look identical on the page - until someone defends the wrong one in the next budget meeting. Label the origin every time.

KindExamples in this skillHow to present it
Published and attributable90-9-1 participation inequality (Nielsen, 2006); VMware's guideline that every PR gets a human response within two business days, quoted inside the CHAOSS Starter Project Health model; the contributor absence factor definition and its worked examplename the source and its scope - VMware's line is one company's internal rule, not an industry standard
Self-set baselinethis community's trailing median over three periods; the eight-metric ceiling; the ~30-event small-N floor; the 90-day second-contribution window; monthly review cadence; the hour-a-month instrumentation barsay it is a working convention and what evidence would change it
Folklore24-hour response, 20% monthly-active ratio, 40% seven-day new-member retention, 30% staff share of messagesquote only as a hypothesis, marked unsourced, and replace it with the community's own trailing median after three periods

CHAOSS's Starter Project Health model - the vendor-neutral reference set most of this field quotes - publishes no numeric cutoff of its own. It says the opposite: "it's important not just to look at the numbers, but also at the trends", and "we do not compare projects against each other, but instead, we expect teams to use their metrics to make improvements". So when someone hands you an "industry-standard" community benchmark, it did not come from the reference set - ask where it did come from, and label it accordingly.

Thresholds and baselines

Thresholds mature with history. Match the mechanism to how many periods the community has:

  • No history yet. Mark the metric "baselining" and read raw numbers. Below roughly 30 events in a period (this skill's own floor), report the list with dates instead of a rate - small-N percentages swing wildly and invite bad decisions.
  • Three or more periods (this skill's own minimum). Set the threshold from the trailing median, and compare the community only to its own past - never to another community. Size, ecosystem, product maturity and venue all change what "normal" looks like.
  • Six or more periods. Replace the fixed cutoff with a deviation band: flag a reading that leaves its own trailing ran

...

用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价

统计数据

安装量8.8K
评分4.5 / 5.0
版本
更新日期2026年10月23日
对比案例1 组

用户评分

4.5(120)
5
37%
4
43%
3
13%
2
5%
1
2%

为此 Skill 评分

0.0

兼容平台

🤖claude-code

时间线

创建2026年10月4日
最后更新2026年10月23日
🎁 Agent 知识卡片
调研问卷