Un-Default について
Un-Defaultは、文案、ドキュメント、UIテキスト、ウェブページを確認し、人種差別的な表現、性別に関する思い込み、障害をめぐる比喩、特定の暗示表現を検出します。調整可能なローカルルールで判定し、アカウントやAIによるマッチングは不要です。
主な機能
- 01文案、ドキュメント、ウェブページのスキャン
- 02偏見表現や暗示表現の検出
- 03代替表現の提案
- 04オープンなルール一覧の調整
- 05CLI、ブラウザー拡張機能、GitHub Action
活用シーン
- 01公開前のマーケティング文案や製品文案の確認
- 02PR内の変更ファイルのスキャン
- 03AI生成UIテキストのチェック
- 04ブラウザーで表示中のページの確認
MCP 対応
MCPサーバーはun_default_scan、un_default_fix、un_default_feedbackツールを提供し、MCPクライアントから文案の確認・修正やフィードバック送信を行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| paths | array | いいえ | スキャンするパス(デフォルト:["."]) |
| failOn | enum | いいえ | 残っている検出結果をブロッキング扱いにするかどうかany | hard | never |
| changedFrom | string | いいえ | 任意の Git ref。指定した ref 以降に変更されたファイルのみをスキャンします。 |
詳細
Un-Default
あらゆる開発方法に、丁寧な言葉遣いのチェックをひとつ。
以前は Anti-Default という名称でした。同じツールですが、人に反対するのではなく、 デフォルトを元に戻すという意味になるよう名称を変更しました。
darkai.ca/anti-default以下の旧 URL は、こちらにリダイレクトされます。npx anti-defaultは引き続きnpx -y anti-defaultのエイリアスとして動作します。
Un-Default は、文章、ドキュメント、UI 文字列、公開中のページをチェックし、人種差別的な デフォルト、性差別的な思い込み、障害者差別的な比喩、記録されているドッグホイッスルを検出します。 検出内容を説明し、より明確な代替表現を提案します。
アカウント不要。照合に AI は不要。調整可能なオープンルール。
Claude が UI 文言を書いた後にチェック · ウェブアプリを試す · Chrome 拡張機能を追加 · GitHub でスターを付ける
Claude / Cursor が UI 文言を書いた後に
コマンドひとつで、スキル + MCP + PR チェックを導入できます。習慣として定着する方法です。
npx -y anti-default init
これにより examples/un-default-demo.md も作成され、スキャンのサンプルが表示されるので、すぐに検出結果を確認できます。ブラウザのデモ(共有可能):/?demo=1。
または、このリポジトリのマーケットプレイスから Claude Code プラグインをインストールします。
claude plugin marketplace add NomadBuilder/un-default
claude plugin install un-default@un-default
貼り付けて使える MCP JSON と Claude プロジェクト向けの手順:
https://darkai.ca/un-default/for-agents/
ディレクトリのチェックリスト:docs/PUBLISH-DIRECTORIES.md
MCP 設定を貼り付ける(Cursor · Claude Desktop · Claude Code)
{
"mcpServers": {
"un-default": {
"command": "npx",
"args": ["-y", "anti-default", "mcp"]
}
}
}
| ホスト | 設定場所 |
|---|---|
| Cursor | .cursor/mcp.json(init が作成)または「設定」→「MCP」 |
| Claude Desktop | 「設定」→「開発者」→「設定を編集」→ claude_desktop_config.json(マージして終了し、再起動) |
| Claude Code | プラグインマーケットプレイス(上記)、または init で .mcp.json を作成、または claude mcp add |
ツール:un_default_scan · un_default_fix · un_default_feedback
1 分以内で追加
npx -y anti-default .
ローカル設定はこれだけです。検出結果を表示し、明確な該当箇所がある場合はゼロ以外の終了コードで終了します。曖昧な一致や引用された一致は、参考情報として扱われます。
チームのプロジェクトに設定するには:
npm install --save-dev anti-default
プロジェクト全体の設定を行いますか?
npx -y anti-default init
init は、除外ファイル、変更ファイルを対象とする GitHub ワークフロー、Cursor + Claude の
スキル、.cursor/mcp.json + .mcp.json、Claude/Cursor の編集後フック、
CLAUDE.md の指示、inclusive-check / inclusive-fix スクリプトを追加します。
既存のファイルが上書きされることはありません。フックは Edit/Write の後に重大な検出結果を
エージェントに知らせるので、誰も覚えていなくても Claude はチェックを続けます。
AI が書いた文章のチェック習慣(完了の定義)
npx -y anti-default fix . # safe 1:1 autofixes only
npx -y anti-default . # remaining findings
エージェントは、重大な検出結果が解消されるか、文脈に照らして問題ないと明示されるまで、 UI / ドキュメントの作業を完了としてはなりません。軽微な一致やコード化された一致は参考情報として扱われます。
# Preview autofixes without writing
npx -y anti-default fix . --dry-run
# Intentional language — suppress locally + share structured feedback
npx -y anti-default feedback --kind fine_in_context \
--rule guys-generic --match "guys" --context "…snippet…" \
--note "Quoted lyric" --open-issue
MCP サーバー
npx -y anti-default mcp
ホストごとの貼り付け手順については、for-agents をご覧ください。
作業方法に合わせてスキャン
# Paths
npx -y anti-default ./src ./docs README.md
# CI formats
npx -y anti-default . --format json -o report.json
npx -y anti-default . --format sarif -o results.sarif
# Batch URLs — no Review UI
npx -y anti-default --urls https://example.com https://example.com/about
npx -y anti-default --urls-file urls.txt --format json
# Only files changed in this branch
npx -y anti-default . --changed-from origin/main
# Keep existing findings quiet; report only new ones
npx -y anti-default baseline .
関係のない項目を除外
.undefaultignore をコミットして、運用開始後に生じるノイズでチームが埋もれないようにします(例)。
node_modules/
vendor/
*.min.js
rule:guys # turn off one rule for this repo
GitHub Action
人種差別的・性差別的・障害者差別的なデフォルト表現を、PR のプロセスに持ち込まないようにします。変更されたファイルだけをスキャンし、新たに明確な検出結果があれば失敗させ、チェックリストのコメントを残します。
# .github/workflows/un-default.yml
name: Un-Default
on: [pull_request]
permissions:
contents: read
pull-requests: write
security-events: write
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: NomadBuilder/un-default@v1
with:
changed-from: ${{ github.event.pull_request.base.sha }}
format: json
comment-on-pr: "true"
# telemetry: false # opt out of anonymous action_run pings
Code Scanning 用に SARIF を使いますか?format: sarif と output-file: un-default.sarif を設定してください。入力の全項目:action.yml。
匿名の Action ping(リポジトリ名や検出結果は含まれません)は、darkai.ca/un-default/usage の公開集計に反映されます。バッジ:

エージェントスキル
npx -y anti-default init を実行すると、AI 生成コピーの完了条件ワークフローである .cursor/skills/un-default/SKILL.md がインストールされます。ワークフローは 修正 → スキャン → 質問またはフィードバック → 再スキャン です。
ソース:skills/un-default/SKILL.md ·
フィードバックモデル:feedback/README.md
ライブラリとして使う
npm パッケージにはランタイム依存関係がなく、CLI とウェブアプリで使われているものと同じアナライザーを利用できます。
import { analyzeText, LANGUAGE_RULES } from "anti-default";
const result = analyzeText("Welcome, you guys.");
console.log(result.findings);
Chrome 拡張機能
アプリと同じルールを、今見ているページで適用できます。
バンドルされたルール一覧を使ってオフラインで動作します。トラッキングはありません。AI 呼び出しもありません。
開発版/展開用:npm run extension:pack → 展開して読み込む → extension/ · 詳細は extension/README.md
ウェブアプリ — 試す、学ぶ、調整する
- レビュー — テキストの貼り付け、ファイルのアップロード、または URL のスキャンができます。Markdown、CSV、チェックリストとしてエクスポートできます
- 置き換え — あるフレーズを、より明確な代替表現に変換します
- 隠語 — フレーズがどのような意図を示す可能性があるか、また文脈が重要となる場合について学べます
- ルール — オープンなルールカタログをプロジェクトに合わせて調整できます
npm install && npm run dev # localhost:3000
チームが活用する理由
- 公開前 — マーケティング資料、ドキュメント、製品コピーに潜む既定の表現を見つけます
- PR 内で — Action と SARIF/JSON により、機械と人の両方にシグナルを伝えます
- 公開中のページで — ターミナルを開かないライター向けの拡張機能です
- 説教せずに — 提案はあくまで促しです。常に文脈が優先されます
提案にはすべて、根拠となるスタイルガイドと参考資料が記載されています → /sources
カスタマイズとセルフホスト
- UI で調整:/rules · コードを編集:
src/lib/rules.ts - 練習用コーパス:
npm run corpus - 静的エクスポート:
npm run build→out/
サブパス(DarkAI):STATIC_EXPORT=true BASE_PATH=/un-default npm run build
本番環境は darkai.ca/un-default で公開されており、DarkAI にもベンダー提供されています。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。