inclusive-language — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited inclusive-language (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use respectful, accessible language in all code and documentation.
Core principle: Words matter. Use inclusive terminology.
This applies to: Code, comments, documentation, commit messages, branch names, and all text.
| Instead of | Use |
|---|---|
| master | main |
| slave | replica, secondary, follower |
# Correct
git checkout main
git push origin main
# Repository default branch should be 'main'| Instead of | Use |
|---|---|
| whitelist | allowlist, permitlist |
| blacklist | denylist, blocklist |
// Correct
const allowlist = ['[email protected]', '[email protected]'];
const denylist = ['[email protected]'];
function isAllowed(email: string): boolean {
return allowlist.includes(email) && !denylist.includes(email);
}| Instead of | Use |
|---|---|
| master/slave | primary/replica, primary/secondary, leader/follower |
| master (device) | primary, controller, host |
| slave (device) | secondary, peripheral, client |
// Correct
interface DatabaseConfig {
primary: ConnectionString;
replicas: ConnectionString[];
}
class ReplicationManager {
private leader: Node;
private followers: Node[];
}| Instead of | Use |
|---|---|
| man hours | person hours, work hours |
| manpower | workforce, staffing |
| mankind | humanity, people |
| guys | everyone, folks, team |
| he/she (generic) | they |
// Correct
/**
* When a user logs in, they receive a session token.
* The user can then use their token to access resources.
*/| Instead of | Use |
|---|---|
| sanity check | validity check, confidence check |
| crazy/insane | unexpected, surprising |
| blind (as negative) | unaware, unnoticed |
| cripple | disable, limit |
| dumb | silent, without output |
// Correct
function validateInput(data: unknown): boolean {
// Perform validity check on input data
}
// Instead of "sanity check"
function confidenceCheck(result: Result): boolean {
// Verify result is within expected bounds
}| Instead of | Use |
|---|---|
| kill | stop, terminate, end |
| abort | cancel, stop |
| hit | access, call, reach |
| execute | run, perform |
| nuke | delete, remove, clear |
// Correct
function terminateProcess(pid: number): void { }
function stopServer(): void { }
function cancelRequest(id: string): void { }
// Acceptable (industry standard)
function executeQuery(sql: string): Result { }| Instead of | Use |
|---|---|
| dummy | placeholder, sample |
| native | built-in, core |
| first-class | built-in, fully-supported |
| grandfather/legacy | established, existing |
| grandfathered in | exempted, pre-existing |
// Correct
interface FeatureFlags {
allowlist: string[];
denylist: string[];
}
const replicationConfig = {
primary: 'db-primary.example.com',
replicas: [
'db-replica-1.example.com',
'db-replica-2.example.com',
],
};<!-- Correct -->
# Getting Started
When a user creates an account, they will receive a confirmation email.
They can then set up their profile using their preferred settings.
## Access Control
Use the allowlist to specify approved domains.
Use the denylist to block specific addresses.// Correct
// Validity check: ensure the input meets expected format
if (!isValidFormat(input)) {
throw new ValidationError('Input format is invalid');
}
// Confidence check: verify result is within expected bounds
if (result > MAX_EXPECTED || result < MIN_EXPECTED) {
logger.warn('Result outside expected range');
}// Correct
throw new Error('Email address is on the denylist');
throw new Error('Origin not in allowlist');
throw new Error('Request terminated due to timeout');When modifying existing code with non-inclusive terms:
If you're modifying a function that uses non-inclusive language:
If renaming would touch many files:
If the term is in a public API:
// Transition approach
/** @deprecated Use allowlist instead */
export const whitelist = allowlist;
export const allowlist: string[] = [];# Branch names
feature/issue-123-add-denylist-support # Correct
fix/issue-456-update-replica-config # Correct
# Commit messages
"Add email denylist validation" # Correct
"Update replica failover logic" # CorrectWhen writing or reviewing code:
This skill is applied by:
issue-driven-development - Step 7comprehensive-review - Style criterionThis skill ensures:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.