Skip to content
github-actions[bot] edited this page Sep 6, 2026 · 3 revisions

設計ドキュメント

目的

AIが日本語文章に持ち込むクリシェ (比喩・誇張・空虚な抽象・構文の型・翻訳調・ 締めの型・書式の癖) を検出し、意味を保ったまま平易で事実ベースの文章に直します。 検出だけでなく、「なぜ避けるか」「代わりに何を書くか」を返すことを辞書の責務とします。

アーキテクチャ

辞書 (rules/*.yml) を単一の情報源にします。理由は2つあります。

  1. スキル (プロンプト) は読むかどうかがモデルの判断に委ねられ、検出の保証がありません。 保証は決定論的なチェッカーが持ち、スキルは書き換えの質を担当します。
  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で握りつぶし、編集を妨げません。
  • 書き直しの語尾は敬体 (です・ます) を既定とします。技術ドキュメントの標準に 合わせるためで、常体で統一された学術論文だけを例外とします。

文章生成側 (compose)

検出と対になる生成補助として、導入・説明・結論の3段落構成の生成コマンドを持ちます。 既存のプロンプト集 (自治体DXのプロンプト実例集など) にある同種のプロンプトとの 違いは2点です: 装飾の推奨 (キーワードの太字化など) を規律で置き換えたこと、 生成後にチェッカーを通過するまで書き直す品質ゲートを持つことです。外部のプロンプトを 取り込む場合も、このゲートを通せば文体が辞書と揃います。

未解決課題

  • 副詞の漢字・ひらがな (既に / すでに) は流儀が分かれます (公用文は漢字、JTFは ひらがな推奨)。既定ルールにせず、将来スタイル選択式のプリセットで扱います。
  • 形態素解析を使っていないため、活用形の網羅は正規表現の記述力に依存します。 導入するならSudachi / kuromoji系をoptional dependencyにします。
  • 体言止めの連打・三点リスト癖は文書構造の解析が要るためmanualに置いています。 段落単位のヒューリスティックで半自動化できる可能性があります。
  • prh.yml形式へのエクスポート (既存prh資産との相互運用)。
  • コーパス対照による候補採掘はtools/mine-ngrams.mjs (npm run mine) で行えます。 コーパス自体はリポジトリに置かないため、手元の資料を指定して使います。採否は 人が判断し、機械が辞書に書き込むことはしません。

ロードマップ

計画はroadmapラベルの issue で管理します。

  • Web版エディタ (貼り付けて検出・修正) #1 / スニペット機構 #2 / PWA化 #3
  • 提案Issueの自動PR化 #4 / ローカル編集フォーム #5
  • 候補採掘 #6 / GitHub Action #7 / 形態素解析 #8
  • 方針: ルール数の拡充よりも、negativeコーパスの拡充を優先します

Clone this wiki locally