-
Notifications
You must be signed in to change notification settings - Fork 0
design
github-actions[bot] edited this page Sep 6, 2026
·
3 revisions
AIが日本語文章に持ち込むクリシェ (比喩・誇張・空虚な抽象・構文の型・翻訳調・ 締めの型・書式の癖) を検出し、意味を保ったまま平易で事実ベースの文章に直します。 検出だけでなく、「なぜ避けるか」「代わりに何を書くか」を返すことを辞書の責務とします。
辞書 (rules/*.yml) を単一の情報源にします。理由は2つあります。
- スキル (プロンプト) は読むかどうかがモデルの判断に委ねられ、検出の保証がありません。 保証は決定論的なチェッカーが持ち、スキルは書き換えの質を担当します。
- OSSとしての貢献の単位を「YAMLの1エントリ」にします。UXライターが プロンプトエンジニアリングなしにPRを出せて、テストで回帰を検出できます。
経路は3つです: CLI (src/cli.mjs)、textlintルール (src/textlint-rule.mjs)、 Claude Codeプラグイン (skills / commands / agents / hooks)。すべて src/engine.mjsのcheck() を通ります。
| カテゴリ | 対象 |
|---|---|
| metaphor | 羅針盤・心臓部・DNA・架け橋・核・緑 (成功) などの比喩 |
| overstatement | にほかなりません・革命的・確信していますなどの誇張断定 |
| empty-abstraction | 本質・真髄・パラダイムシフト・シナジーなどの空虚な抽象 |
| syntax-pattern | 単なるXではなくY・修辞疑問・対句・行末コロン述語などの構文の型 |
| translationese | できます・冒頭の私たちはなどの翻訳調 |
| closing | していきましょう・目が離せませんなどの締めの型 |
| formatting | 絵文字見出し・感嘆符連打・太字箇条書き・章番号参照などの書式 |
| ux-microcopy | UI文言の規範 (助詞のゆれ・責める表現・補助動詞の漢字など) |
- 誤検出を最小化します。単独では正当な語 (心臓・穴・昇華・確信・道標・核・緑) は 共起条件で絞り、deny_examplesの通過をテストで強制します。誤検出の報告は negativeコーパスに再現を足してから直します。
- 機械化できない規範はmanual: trueで辞書に残します。エンジンはスキップし、 スキル・レビューの人力チェックリストとして機能します。二重管理 (スキル本文への ルール直書き) を禁止します。
- Markdownのコードフェンス・インラインコードは検査しません (オフセット保存の 空白化で実装)。ルールの説明文書が自分自身に検出される問題の解でもあります。
- フック (PostToolUse) は検出時にexit 2でClaudeに書き直しを要求します。 ツール障害時はexit 0で握りつぶし、編集を妨げません。
- 書き直しの語尾は敬体 (です・ます) を既定とします。技術ドキュメントの標準に 合わせるためで、常体で統一された学術論文だけを例外とします。
検出と対になる生成補助として、導入・説明・結論の3段落構成の生成コマンドを持ちます。 既存のプロンプト集 (自治体DXのプロンプト実例集など) にある同種のプロンプトとの 違いは2点です: 装飾の推奨 (キーワードの太字化など) を規律で置き換えたこと、 生成後にチェッカーを通過するまで書き直す品質ゲートを持つことです。外部のプロンプトを 取り込む場合も、このゲートを通せば文体が辞書と揃います。
- 副詞の漢字・ひらがな (既に / すでに) は流儀が分かれます (公用文は漢字、JTFは ひらがな推奨)。既定ルールにせず、将来スタイル選択式のプリセットで扱います。
- 形態素解析を使っていないため、活用形の網羅は正規表現の記述力に依存します。 導入するならSudachi / kuromoji系をoptional dependencyにします。
- 体言止めの連打・三点リスト癖は文書構造の解析が要るためmanualに置いています。 段落単位のヒューリスティックで半自動化できる可能性があります。
- prh.yml形式へのエクスポート (既存prh資産との相互運用)。
- コーパス対照による候補採掘は
tools/mine-ngrams.mjs(npm run mine) で行えます。 コーパス自体はリポジトリに置かないため、手元の資料を指定して使います。採否は 人が判断し、機械が辞書に書き込むことはしません。
計画はroadmapラベルの issue で管理します。