Developer Community Health
Designs and runs a developer community health measurement framework: activity, responsiveness, contributor-funnel and sentiment metrics, honest instrumentation, baseline-derived thresholds, and a report that ends in decisions. Use whenever someone asks how to measure their developer community, which community health metrics to track, whether their Discord, Slack or forum is dying, why the community feels quiet, or wants a community health dashboard, contributor funnel, community KPI set or engagement report - even if they only say "is our community doing OK". Do NOT use for launching a community (samber/developer-relations-skills@developer-community-launch) or company-wide devrel KPIs (samber/developer-relations-skills@devrel-metrics).
- Skill ID
- samber/developer-relations-skills/developer-community-health
- Publisher
- samber
- Repository
- developer-relations-skills
- Installs
- 409
- Files
- 6
- License
- MIT
- Synced
- Oct 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
samber/developer-relations-skills/developer-community-healthInstalls these files- SKILL.md
- evals/evals.json
- references/health-report-template.md
- references/metric-catalog.md
- references/survey-instruments.md
- scripts/contributor-absence-factor.sh
What this skill tells the agent
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.
- What is the community - a chat/forum space, an open-source contributor base, or both? Which venues exactly?
- Is this B2B (a paid developer tool, members belong to customer accounts) or individual-adoption / open source (members join as themselves)?
- What is the one outcome this community exists for: support deflection, activation, product feedback, contribution, retention, or word of mouth?
- How big is it today, and how much activity happens in a typical week? Rough numbers are fine.
- 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?
- Who owns the numbers and who reads the result?
- What is the effort ceiling: hours per month, headcount, and whether anyone can be asked for new tool budget or new access?
- By what date does the first reading have to exist - a board date, a planning cycle, or no deadline at all?
- Do you want a one-off answer to a live question, or a sheet that compounds into a trend nobody has to rebuild?
- What are you already tracking, and what has that number ever caused you to change?
- Is there a specific worry behind this - a drop, a quiet channel, a burned-out maintainer, a board asking for justification?
- 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.
- Route, then interview until the outcome and the data access are clear.
- 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.
- 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.
- 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).
- Write each metric's formula next to its name, in the sheet itself.
- Capture a baseline: pull at least three prior periods. Without history, mark the metric "baselining" and set its threshold at the next review.
- Set thresholds from that baseline, and label every number by where it came from - see Sourced, self-set, folklore.
- Attach a named action and an owner to every threshold breach. A metric with no action attached is decoration - cut it.
- Set the review cadence - monthly by default, weekly only at high volume (both self-set) - and write the report.
- 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)
More from samber
Use this skill in a project
Open any RiverX project, search the Skills panel for samber/developer-relations-skills/developer-community-health, and install it in one click.
