---
name: inclusive-language
source: https://app.decimal.ai/s/inclusive-language@1/SKILL.md
source_sha256: 535ae467ee1f
---

# Inclusive language

## Contract

Enforces the inclusive, bias-free terminology word list on any technical text you write or edit:
each exclusionary idiom is replaced by its adopted inclusive equivalent, and the exclusionary term
never appears in the output. Apply to labels, docs, comments, runbooks, and messages; not to
natural-language translation or to reshaping tone, tense, or casing.

## Rules

Each rule pins one arbitrary substitution. The left term is the base's entrenched default; the
right term is the required output. The left term must not survive anywhere in the result.

1. **Access lists.** A list of entities that are permitted is an **allowlist** (or `allow list`);
   a list of entities that are refused is a **blocklist** or **denylist** (or `block list` /
   `deny list`). Never `whitelist` / `blacklist`.

2. **Replication and control roles.** The authoritative node that others copy from is the
   **primary** (or **leader**); the copies are **replicas** (or **followers** / **standbys**).
   Never `master` / `slave`. For a version-control default branch, the branch is **main**, never
   `master`.

3. **Stand-in data.** Filler or sample data used in place of real values is **placeholder** (or
   **sample**) data. Never `dummy` data or a `dummy` value.

4. **No ableist metaphors.** A quick correctness pass is a **confidence check**, a **quick check**,
   or a **smoke check** — never a `sanity check`. To reduce or break something's capability is to
   **degrade**, **hobble**, or **hamper** it — never to `cripple` it. Do not use `crazy`, `insane`,
   or `lame` as intensifiers for a technical thing; use **surprising**, **severe**, or **weak**.

5. **Gender-neutral address and reference.** Address a group as **folks**, **everyone**, **team**,
   **all**, or **y'all** — never as `guys`. For a person of unknown or unstated gender, use singular
   **they / their** — never a generic `he` / `his`.

6. **One pass, no residue.** After substituting, re-scan: not one instance of a left-column term
   remains, including inside compound words (`whitelisted` -> `allowlisted`), plurals, and code
   identifiers you are free to rename.

## Worked examples

The base's default on top; the conforming rewrite below.

Access lists in a settings screen:

```
BEFORE  Whitelist: registries this build may pull from.
        Blacklist: registries this build must never pull from.

AFTER   Allowlist: registries this build may pull from.
        Blocklist: registries this build must never pull from.
```

A cache-cluster diagram legend:

```
BEFORE  Master node — accepts writes. Slave nodes — serve reads.

AFTER   Primary node — accepts writes. Replica nodes — serve reads.
```

A test-plan line:

```
BEFORE  Do a quick sanity check on the parser before we ship.

AFTER   Do a quick confidence check on the parser before we ship.
```

A form mockup note and a status-channel opener:

```
BEFORE  Field shows dummy text until the user types.
        Hey guys — deploy is done, take a look when he has a minute.

AFTER   Field shows placeholder text until the user types.
        Hey everyone — deploy is done, take a look when they have a minute.
```

A performance note:

```
BEFORE  The lock contention crippled our write throughput.

AFTER   The lock contention degraded our write throughput.
```

## Edge cases & exceptions

- **A quoted external identifier stays verbatim.** If an upstream API, config key, or third-party
  product literally ships a field named `master` or `whitelist`, quote it exactly when referencing
  that API, but use the inclusive term in your own prose and your own new identifiers.
- **"Master" outside the pair.** A "master copy", "master's degree", or "mastering a skill" is not
  the master/slave metaphor and needs no change. Only the control/replication sense is replaced.
- **Direct quotation.** Preserve a person's or document's exact words inside quotation marks; apply
  the substitutions to your own surrounding text.
- **Addressing one known person** by a name and stated pronouns — use their pronouns; the singular
  `they` rule is for the unknown or unspecified case, not a mandate to degender named individuals.

## Do / Don't

- Do write allowlist / blocklist. Don't write whitelist / blacklist, even hyphenated or compounded.
- Do write primary / replica (or leader / follower). Don't write master / slave for nodes or roles.
- Do name the default branch main. Don't name it master.
- Do write placeholder / sample data. Don't write dummy data.
- Do write confidence check or quick check. Don't write sanity check.
- Do write degrade / hobble. Don't write cripple.
- Do address a group as folks / everyone / team. Don't address them as guys.
- Do use singular they for an unknown person. Don't default to generic he.

## Common mistakes

- Renaming the label but leaving `whitelisted` / `blacklisted` in the body text or the code.
- Fixing `master` in the diagram but leaving `slave` in the caption (both terms move together).
- Treating "sanity check" as neutral because it is idiomatic — it is exactly the entrenched default.
- Swapping `guys` in the greeting but writing "when he gets a chance" one line later.
- Leaving `dummy` in a variable name after fixing it in the sentence.

## Quick checklist

- No `whitelist` / `blacklist` — allowlist / blocklist instead.
- No `master` / `slave` — primary / replica (branch: main).
- No `dummy` — placeholder / sample.
- No `sanity check`, no `cripple`, no `crazy`/`insane`/`lame` intensifier.
- No `guys` for a group, no generic `he` — folks / everyone / team, singular they.
- Re-scanned: no left-column term survives, compounds and identifiers included.
