wikipedia-talk-page · git:20260625.050e8d7 · 2026-06-25 · sha256 b0cb03a6c16d5755

wikipedia-talk-page git:20260625.050e8d7A

Immutable. This exact content never changes and is served at /api/v1/blob/b0cb03a6c16d5755.

---
name: wikipedia-talk-page
description: Navigate, participate in, and understand Wikipedia talk pages — includes modern DiscussionTools (Reply Tool, Topic Subscriptions, Permalinks), Usability Improvements, community gadgets, wikitext conventions, WikiProject banners, archives, and talk page etiquette
license: MIT
compatibility: opencode
depends_on: [wikimedia-api-access]
skill_discovery_hints:
  - keywords: ["talk page", "DiscussionTools", "Reply Tool", "topic subscription", "WikiProject banner"]
  - keywords: ["talk page archive", "discussion", "indentation", "ping", "@-mention"]
last_verified: 2026-06-12
---

> ## ⚠️ Important: AI-generated content on Wikimedia projects

> **Most language editions of Wikipedia and other Wikimedia projects have community policies that restrict or ban the direct posting of content generated by large language models (LLMs).** This includes articles, sections, discussion comments, or any other substantial prose drafted by AI assistants, as well as images and other media files, whether uploaded to Wikimedia Commons or directly to a single Wikipedia edition. Before using AI to generate content, you **must** consult all relevant AI policies. These are summarised on Meta-Wiki at [AI policies by project § Discussions](https://meta.wikimedia.org/wiki/Artificial_intelligence/Policies_by_project#Discussions). You must read the full policies and guidelines, not just the summaries.
> 
> **Do not copy-paste AI-generated text directly into Wikipedia talk pages.** Some Wikipedias routinely collapse ("hat") or remove any AI-generated comments and exclude them from assessments of consensus.

---

> ⚠️ **User-Agent required:** The API examples below use the Action API. All requests must include a descriptive `User-Agent` header or they will be blocked with HTTP 403 or 429. See the **[wikimedia-api-access](../wikimedia-api-access/SKILL.md)** skill for the correct format.

> 💡 **This skill covers both legacy wikitext conventions and modern tools.** Most talk pages now have DiscussionTools enabled (Reply buttons, auto-signing, topic subscriptions). Use the modern path unless the user is on a wiki or page where wikitext is the only option.

---

## SOP: Understanding the Talk Namespace

Every Wikipedia page has an associated **talk page**. Pattern: prepend `Talk:` for mainspace, replace namespace prefix with `X talk:` for others.

| Subject Page | Talk Page |
|-------------|-----------|
| `Albert Einstein` | `Talk:Albert Einstein` |
| `User:Example` | `User talk:Example` |
| `Wikipedia:Manual of Style` | `Wikipedia talk:Manual of Style` |

- A **red-linked** talk page means no discussion has ever been started. This is normal.
- Talk pages have **separate edit histories, watchlists, and protection levels** from their subject pages.
- Access via the "Talk" tab in the web UI, or directly via URL/API.
- **Usability note:** New contributors often don't find the "Discussion" tab and assume clicking "edit" on an article will open a forum. If someone can't find a talk page, point them to the top-of-page tabs or the URL directly.

---

## SOP: Modern Talk Page Tools (DiscussionTools)

Since 2020, the WMF Editing Team has deployed **DiscussionTools** — a suite adding modern UI on top of existing wikitext. These are now the default on most wikis.

### Reply Tool

Each signed comment has a **[ reply ]** button opening an inline editor that:

- **Auto-indents** at the correct nesting level
- **Auto-signs** with `~~~~`
- Provides **visual mode** (no wikitext) or **source mode** (wikitext)
- **@-mention** with autocomplete
- **Opt-out**: Preferences → Editing → uncheck "Use the reply tool"

The Reply Tool has been shown to significantly improve newcomer comment success rates. See [this Diff post](https://diff.wikimedia.org/2024/05/02/making-talk-pages-better-for-everyone/) for A/B test results.

### New Topic Tool

"Add topic" (+) tab opens an inline form that auto-adds headings and posts at the bottom. **Opt-out**: Preferences → Editing → uncheck "Quick topic adding".

### Topic Subscriptions (Section-Level Watchlisting)

**Solves the "can't follow one thread without drowning in all of them" problem.** Subscribe to a single section (bell/star icon) to receive Echo notifications only for new comments in that thread. Subscriptions persist across archives. Check Preferences → Notifications for automatic subscription options.

### Permalinks (January 2024)

Each comment has a stable `#c-` anchor URL. Use for direct links that survive archiving:
`https://en.wikipedia.org/wiki/Talk:Article#c-Username-20260101120000-Topic`

### Thank from Talk Pages

A "Thank" button next to Reply lets you thank users for comments without visiting page history.

---

## SOP: Usability Improvements (Visual Changes)

Rolling out to all wikis in phases. Opt-out: Preferences → Appearance → "Use the talk page usability improvements".

| Change | What It Does |
|--------|-------------|
| **Topic containers** | Boxes each discussion with subtle background, separating topics visually |
| **Improved headings** | Shows participant count, comment count, last comment date per section |
| **Clear action buttons** | Reply/Add topic as bold buttons, not disguised links |
| **Page frame / breadcrumbs** | Top-of-page summary of latest activity; breadcrumb to subject page |
| **Table of contents** | Comment counts per topic for spotting active discussions |

---

## SOP: Reading Threaded Discussions

### Modern (with DiscussionTools)

The Reply Tool renders threading with clear visual hierarchy. No colon-counting needed — the tool handles it. Permalinks reference individual comments.

### Legacy (wikitext / no tools)

Discussions under `== Heading ==` sections, indented with colons:

```wikitext
== Date of birth discrepancy ==

I noticed the article lists two different dates. ~~~~

: The 1950 source says March 14. ~~~~
:: But the 1960 biography says March 13. ~~~~
```

**Indentation rules:** Each reply adds one more colon (`:` → `::` → `:::`). The colon creates a definition-list indent in wikitext HTML.

**Reading order:** Start at section heading, read chronologically top to bottom. Indentation shows who replies to whom.

**Deep nesting problem:** Beyond 4–5 levels, colon indentation becomes unusable — especially on mobile. Use `{{outdent}}` to reset:

```
{{outdent|::::}}
New comment at the left margin. ~~~~
```

Alternative strategies: start a new sub-section (`=== Side topic ===`) or move very long debates to a subpage.

**Accessibility:** Legacy colon indentation uses `<dl>` elements, which is semantically wrong for threading. Screen readers may announce indented comments as "definitions." DiscussionTools' rendering doesn't have this problem.

---

## SOP: Signing and Attributing Comments

### Modern (with DiscussionTools)

The Reply Tool **auto-signs** on publish. No need to type `~~~~` unless editing source mode.

### Legacy (wikitext only)

Always sign talk page comments:

| Wikitext | Renders As | Use |
|----------|-----------|-----|
| `~~~~` | `Username 23 May 2026 14:30 (UTC)` | Standard |
| `~~~` | `Username` | Rare |
| `~~~~~` | `23 May 2026 14:30 (UTC)` | Rare |

**Detecting unsigned comments:** Lacks `~~~~`. Tag with `{{unsigned|Username}}`.

**Custom signatures:** User-configurable in preferences. Display text may differ from username. For reliable attribution, use the **username from revision history**, not display text.

---

## SOP: Community Gadgets

Community-built, unofficial but widely used. Check Special:Preferences → Gadgets on any wiki.

### Convenient Discussions (by Jack who built the house)

Full shell over MediaWiki discussions: inline reply/edit, @-mentions, quoting, section watchlisting.
- **Available as gadget on Russian Wikipedia; userscript on any wiki.**
- **Compatibility:** Incompatible with DiscussionTools Reply Tool — enabling CD disables it.
- Install: add script to `common.js` — see [User:JWBTH/CD](https://commons.wikimedia.org/wiki/User:JWBTH/CD)

### Reply Link Gadget (by Enterprisey)

Lighter alternative: adds `[reply]` link per comment with auto-indent/sign. More compatible than CD.

---

## SOP: WikiProject Banners

Banners at the **top of talk pages** tagging article scope, quality, and importance:

```wikitext
{{WikiProject Biography|class=B|importance=High}}
```

**Assessment ratings:** Stub → Start → C → B → GA → FA (ascending). **Importance:** Top → High → Mid → Low → NA.

**Reading assessment data:**
- **Single article:** Parse talk page wikitext for `{{WikiProject...|class=...|importance=...}}`
- **Bulk:** Use **[wikimedia-page-assessment](../wikimedia-page-assessment/SKILL.md)** (queries `page_assessments` database table directly)

---

## SOP: Finding and Using Archives

Archives are subpages of the talk page (`Talk:Article/Archive 1`).

**Automated archiving** via `{{User:MiszaBot/config}}`:

```wikitext
{{User:MiszaBot/config
| algo = old(30d)
| archive = Talk:Article/Archive %(counter)d
| counter = 3
| maxarchivesize = 150K
| minthreadsleft = 5
}}
```

**Finding archives via API:**
```
action=query&list=prefixsearch&pssearch=Talk:Albert_Einstein/Archive&format=json
```

**Searching across archives:** Query each archive individually via `action=query&prop=revisions&titles=Talk:...&rvprop=content`. The `{{Archives}}` template links all archives and provides a search field.

**Permalinks:** Since 2024, comment permalinks remain stable across archiving — a significant improvement over the old system where archiving broke all comment links.

---

## SOP: Participating in Discussions

### Modern Workflow (Recommended)

1. **Find talk page** via "Talk" tab at article top
2. **Click [ reply ]** on an existing comment, or "Add topic" button for new thread
3. **Write** in visual or source mode; use @-mentions for pinging
4. **Click Publish** — auto-signs, auto-indents, posts at correct position
5. **Subscribe** (bell icon) to get notifications for new replies in that thread

### Legacy Workflow (wikitext fallback)

**New topic:** Add `== Subject ==` + comment at the **bottom** of the page. Use "Add topic" (+) tab or edit full page.

**Reply:** Add one more colon than the message you're replying to, write your comment, sign with `~~~~`.

| Topic |
|-------|
| `I think the article is missing context. ~~~~` |
| `: I agree, but let's find sources. ~~~~` |
| `:: Good point. Here's a source: [link]. ~~~~` |

**Notifying editors:** `{{ping|Username}}` inside a signed comment. Pings only work with a signature. In the Reply Tool, @-mentions accomplish the same thing.

**Section editing:** Click `[edit]` next to a heading, or append `&section=N` to the edit URL, to edit a single discussion without loading the full page.

---

## SOP: Following Talk Page Etiquette

| Rule | Meaning |
|------|---------|
| **Assume good faith** (WP:AGF) | Assume others are trying to help, even if you disagree |
| **No personal attacks** (WP:NPA) | Comment on content, not the contributor |
| **Stay on topic** (WP:TALK) | Discuss how to improve the article, not the subject itself |
| **Sign your comments** | Use `~~~~` or let the Reply Tool do it |
| **Strike, don't delete** | `<s>old text</s>` to retract; never remove comments entirely |
| **Don't edit others' comments** | Except vandalism, formatting fixes, or signatures |
| **Respond in context** | Article talk: reply below addressed comment. User talk: reply on own page unless asked otherwise |

**Closing discussions:**
| Template | Meaning |
|----------|---------|
| `{{resolved}}` | Issue addressed |
| `{{done}}` | Action completed |
| `{{not done}}` | Proposal rejected |
| `{{withdrawn}}` | Proposer withdrawing |

**Article talk vs. user talk:** `Talk:Article` is for improving the article with any interested editor. `User talk:Username` is for personal messages to a specific editor. Don't discuss article content on user talk pages.

---

## SOP: Structured Discussions / Flow — Deprecated

**Structured Discussions** (Flow) was a WMF project (2013–2024) to replace wikitext talk pages with a structured forum. It is **officially deprecated**; communities still using it (Catalan Wikipedia, some help desks) are being asked to migrate back to wikitext.

**If you encounter a Flow page:**
- Visual-editor-only comments; no wikitext shown
- Automatic threading, but limited search and no diff support
- Cannot be edited with normal wikitext tools
- The WMF provides [migration tooling](https://www.mediawiki.org/wiki/Structured_Discussions/Deprecation)

For historical context on why Flow was abandoned, see `references/discussion-tools-history.md`.

---

## SOP: Accessing Talk Pages via API

| Task | API Method |
|------|-----------|
| Get talk page wikitext | `action=raw&title=Talk:Title` |
| Get parsed talk page | `action=parse&page=Talk:Title&prop=text` |
| Search talk pages | `list=search` with namespace (`srnamespace=1`) |
| Find archive subpages | `list=prefixsearch&pssearch=Talk:Title/Archive` |
| Check if talk page exists | `prop=info` on the talk page title |
| Get DiscussionTools data | `action=discussiontoolsinfo&page=Talk:Title` |

---

## Relationship to Other Skills

- **wikipedia-page-anatomy** — Shares underlying MediaWiki structure with articles.
- **wikipedia-edit-history** — Talk pages have their own history; same diff/rollback apply.
- **wikimedia-page-assessment** — For bulk assessment queries instead of parsing banners individually.
- **wikimedia-api-access** — Same Action API; handles User-Agent and rate limiting.
- **wikimedia-eventstreams** — Can monitor talk page events (new topics, replies) in real time.
- **wikimedia-search-cirrussearch** — Can search talk namespaces with `talk:` prefix.
- **wikipedia-notability-assessment** — WikiProject banner assessment data and notability evaluation.
- **[wikipedia-wikiprojects](../wikipedia-wikiprojects/SKILL.md)** — Finding projects, interpreting assessment tables, and navigating the WikiProject directory.

---

## Tooling

### 🔧 Get Assessment (`scripts/get-assessment.sh`)
```bash
./scripts/get-assessment.sh "Albert Einstein"
./scripts/get-assessment.sh "Python (programming language)" --json
```

### 🔧 List Archives (`scripts/list-archives.sh`)
```bash
./scripts/list-archives.sh "Albert Einstein"
./scripts/list-archives.sh "Talk:Albert Einstein" --json
```

### 📚 Assessment Ratings Reference (`references/assessment-ratings.md`)
FA/GA/B/C/Start/Stub ratings and Top/High/Mid/Low importance with descriptions and distribution stats.

### 📚 Discussion Tools History (`references/discussion-tools-history.md`)
Historical context: 2019 Talk Pages Consultation, LiquidThreads, Flow, DocumentMode vs. ThreadMode debate. Load on demand when historical understanding is needed.

### 🐍 Talk Archive Search (`assets/talk-archive-search.py`)
Search across a talk page and all its archives for a keyword or phrase. Uses only Python stdlib.
```bash
python3 assets/talk-archive-search.py "Albert Einstein" "Nobel"
python3 assets/talk-archive-search.py "Talk:Albert Einstein" "birth date" --json
```