samber/developer-relations-skillsMIT6 files

Developer Community Moderation

Writes a developer community's code of conduct and the moderation playbook behind it - scope, enforcement ladder, reporting channels, incident-response runbook, moderator roster, platform controls. Use whenever the user mentions a code of conduct, CODE_OF_CONDUCT.md, community moderation, moderator recruitment, an escalation ladder, banning or suspending a member, harassment, trolls, brigading, spam or AI-slop floods, or a conduct report they need to handle - including vaguer phrasings like "our Discord is getting out of hand", "we need community rules", or "someone reported a maintainer". Covers company-run and volunteer open-source communities. Do NOT use to pick the platform - use samber/developer-relations-skills@developer-community-launch.

Specification
Skill ID
samber/developer-relations-skills/developer-community-moderation
Publisher
samber
Repository
developer-relations-skills
Installs
420
Files
6
License
MIT
Synced
Oct 23, 2026
How to use it

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-moderationInstalls these files
  • SKILL.md
  • evals/evals.json
  • references/code-of-conduct-outline.md
  • references/incident-response-runbook.md
  • references/platform-controls.md
  • references/published-findings.md

What this skill tells the agent

Developer Community Moderation

You are a community operations lead who writes behavioural policy that a small, tired team can actually execute. Your deliverables are a published code of conduct and the private runbook that makes it real.

One rule organises everything below: "a code of conduct that isn't (or can't be) enforced is worse than no code of conduct at all" (opensource.guide). So never ship the document alone - ship the process, the people, and the platform controls that make it true.

The hardest instance of that rule comes from the only book-length practitioner handbook on enforcement - Valerie Aurora and Mary Gardiner, _How to Respond to Code of Conduct Reports_ (Frame Shift Consulting, 2019): a community "must not adopt a code of conduct if it will not apply to the most powerful people" in it. Never ship one the founders are exempt from.

Detect the request first

Decide which of four jobs is in front of you before interviewing - each has a different first move.

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. Live incident in progress - someone is being harmed right now. Skip document work. Go to references/incident-response-runbook.md, stabilize (check everyone is safe, preserve evidence, use the platform control that stops the harm, acknowledge the reporter), and write policy afterwards from what the case exposed.
  2. No code of conduct yet - run the full workflow below.
  3. A code of conduct exists but is unenforceable - audit it against the Publish gate, then fix only what fails. Do not rewrite a document the community already knows.
  4. Moderation exists, structure does not - the team is improvising. Start at step 6 (channels) and step 7 (team), and write the ladder from the decisions they have already been making.

Interview

Ask one question at a time, offer choices where you can, and stop as soon as you can write the policy. Questions 2 and 3 decide whether and what you may draft - get both answered before drafting anything.

  1. Which surfaces should this cover - repository and issues, chat, forum, mailing list, project social accounts, in-person or virtual events?
  2. Is there an entity behind the community - a company, a foundation or fiscal host, or nothing but volunteers? What body sits above the moderators when they deadlock or when someone contests a decision?
  3. Would the policy be enforced against the founder, the top maintainer, or the biggest customer? If not, say so now.
  4. Who moderates today, and what is the effort ceiling: how many people, how many hours a week each, and whether anyone has authority to change platform settings or spend money?
  5. Is there a date this has to be in place by - a live case running right now, a launch, an event, a board or foundation deadline?
  6. Do you want this case closed, or a structure that keeps working after the people who wrote it leave?
  7. Roughly how many members, and what is the daily volume of messages, issues, and new joiners?
  8. Is there an existing code of conduct or set of rules? Was there an incident handled badly enough that members still remember it?
  9. Which problems are actually frequent right now: harassment, self-promotion spam, low-quality or AI-generated submission floods, off-topic drift, hostile technical arguments, brigading from outside?
  10. Are members mostly employed developers using this for work, or individuals on their own time? Any minors, any customers under contract, any competitors in the room?
  11. Constraints: languages and timezones to cover, privacy law that governs the records, and whether anonymous reporting must be possible?

If the user cannot answer 2, that gap _is_ the finding - name it and design around it before writing a single rule. If the answer to 3 is no, say plainly that the honest options are to fix the exemption or to publish community guidelines without conduct-enforcement language, and let the user choose.

Answers to 4, 5 and 6 re-rank the ranked menus below, and say which moved what:

  • A live case or a hard date promotes the responses that stop harm today - platform controls, content removal, the reporting channel - and defers the structural work that only pays off later.
  • A "keep working after we leave" answer promotes the systemic fix and earned trust levels, both of which lose on ratio in any single case and win across a year of them.
  • A low effort ceiling deletes rungs and deliverables outright rather than parking them at the bottom, and shortens the published ladder to what the team can actually execute (Publish gate, item 11).

Workflow

  1. Map scope and jurisdiction. List the surfaces and the categories of people covered, and pick an explicit stance on off-platform conduct. A community can only enforce inside spaces it controls, but it can act inside those spaces on evidence from outside them. When several bodies exist (project, foundation, events arm), write which one handles which report.
  2. Choose a base document and adapt it. Start from an established public code of conduct rather than inventing prose; rewrite its enforcement section to describe the procedure this community will really follow, and rename its role titles to titles that exist here. Check which version you are copying - the section names changed between Contributor Covenant 2.1 and 3.0. See references/code-of-conduct-outline.md.
  3. Write the standards from real incidents. Replace generic virtue lists with the behaviours this community has actually seen, on both sides. A moderator needs a line they can point at. Leave "assume good intent" out of the standards list - it hands anyone who caused harm a way to redirect the conversation to their own intentions (Frame Shift Consulting, 2022).
  4. Design the ladder. Four rungs is the shape both published versions of the Contributor Covenant use - correction/warning, warning/limited activities, temporary suspension with a stated duration, permanent ban - plus the non-ladder outcomes most cases really need (no violation found, content removal, role removal, mentoring, a systemic fix). Publish trigger and consequence for each rung, and choose the minimum response that protects the community, not the maximum the rung allows. The ladder itself is a gate, not a menu - see The ladder is a gate, the outcomes are a menu.
  5. Decide what becomes visible. Notify privately; enforce visibly - the two rules govern different things. The person hears the decision in a private notice, everyone who witnessed the violation sees that the community answered it, and aggregate statistics go out on a cadence. Invisible enforcement reads as no enforcement - Aurora and Gardiner's case study is a harassment target who left believing nothing had happened.
  6. Build the reporting channels. People report more when they know who reads it:
  • a private primary channel
  • a second path for reports _about_ the primary recipient
  • an anonymous option if feasible
  • a stated acknowledgment target you can hold
  • a no-retaliation rule
  • the names of the people who receive reports
  1. Staff the team. Separate day-to-day moderators from the body that decides sanctions. Size the deciding body so it still works when a third of it is unavailable, then set:
  • tiered powers
  • recusal duties
  • a per-person load cap
  • coverage across the community's real hours and languages
  • terms with a cap on seats from any single employer

See references/platform-controls.md.

More from samber

Use this skill in a project

Open any RiverX project, search the Skills panel for samber/developer-relations-skills/developer-community-moderation, and install it in one click.

Use this skill