日本語Markdownを配色付きのオフラインPDFに変換するスキル。「PDF化して」「PDFにして」「PDFを生成」「markdownをPDF」「日本語PDF」等で発動。IPAゴシック+pandoc/xelatex(Chrome・Google不使用)、SVG図の埋め込み、色付き見出し・コールアウト引用・縞模様テーブルに対応。
yorisoi
日本語の文書を、公的ガイドライン準拠の「やさしい日本語」に書き換えるスキル。「やさしい日本語にして」「やさしい日本語に翻訳して」「外国人にもわかるように書いて」 「平易な日本語にして」「N4レベルの日本語にして」「easy Japanese にして」などで発動する。
「やさしい日本語かチェックして」「判定だけして」「スコアを出して」なら書き換えずに判定だけ行う。対象はお知らせ・案内・手続き説明・マニュアルなど、在留外国人や日本語学習者にも 読んでほしい説明文。根拠は「在留支援のためのやさしい日本語ガイドライン」 (出入国在留管理庁・文化庁、2020)。
二重否定・受身・推測表現・敬語・表記を textlint と prh 辞書で機械検出し、語彙レベル(既定 N4 相当・推定値)を同梱リストで機械判定する。明晰化(meiseki)とは対象読者が違う。日本語ネイティブ向けの推敲は meiseki を使う。
含まれるファイル(8)
- SKILL.md10.1 KB
- references/patterns-yorisoi.md9.6 KB
- references/prh-yorisoi.yml7.4 KB
- references/textlint-yorisoi.config.json1.0 KB
- references/vocab/jlpt-tanos.csv190.1 KB
- references/vocab/kokugoken-basic.csv127.6 KB
- references/vocab/README.md2.1 KB
- scripts/vocab-check.js16.4 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
yorisoi — やさしい日本語化スキル
1. 狙いの宣言
「やさしい日本語」は、日本語に不慣れな読者(在留外国人・日本語学習者)にも伝わるように 調整した日本語である。本スキルは、公的な外部規範であるガイドライン (出入国在留管理庁・文化庁「在留支援のためのやさしい日本語ガイドライン」2020年8月)に準拠して書き換える。
meiseki(明晰化)との違いは対象読者にある。meiseki は日本語ネイティブの読解負荷を下げる。 yorisoi は目標語彙レベル(既定 N4 相当)の読者が理解できる語彙と構文に落とす。 どちらも「検出と採点は決定論層、書き換えは LLM 層」の二層構成をとる。
2. 動作モードと出力方針
- 変換モード(既定):やさしい日本語へ書き換え、本文のみを返す。分析・講評は付けない。
- 判定モード:「チェックだけ」「判定だけ」「スコアだけ」と指定されたら、書き換えずに
違反と語彙レベル超過を行位置つきで報告し、YLS(§7)を示す。
vocab-check が出力する「文書全体レベル」も併記する。どの方式で出した値かを必ず明記する。
既定は jReadability 近似の帯ラベルで、キーが設定済みでも Jev は勝手に呼ばない。
Jev の採点は文書の先頭 48,000 文字を TypeSafe のサーバーへ送信する。
実行前に
node scripts/jev-judge.js --policy --scope yorisoiでポリシーを確認する。deny: Jev を提案しない。近似のみで報告するask(既定): キーが設定済みなら、AskUserQuestion で「全文相当を外部送信して Jev で採点するか」を確認し、同意されたときだけ vocab-check に--typesafe-levelを付けて実行するallow: ユーザーが求めたとき(「Jev でレベル判定して」等)は確認なしで実行してよい ポリシーはプロジェクトの.meiseki.json(例:{"jev": {"yorisoi": "deny"}})で変更できる。.meiseki-no-jevが作業ディレクトリまたは祖先にあれば、同意があっても送信は行われない。
- 目標レベルは既定 N4。「N3 で」「N5 レベルで」のように指定されたら変える。
- 「どこを直したか教えて」と明示されたときだけ、本文に続けて変更点を添える。
3. 対象 / 対象外
- 対象:お知らせ・案内・行政手続きの説明・防災情報・マニュアル・社内周知など、 日本語に不慣れな読者にも読んでほしい説明文。
- 対象外:コード本体・法令や契約の条文そのもの・医療の厳密な記述・創作。 法的効力や厳密さが必要な文書は、やさしい日本語版を「参考訳」として併記し、原文を残す。
- 混在文書:本文だけを書き換え、コードブロック・引用・URL・連絡先は原文のまま残す。
- ふりがな・分かち書きの付与はスコープ外(v0.6.0 時点)。
4. ワークフロー(この順序で行う)
Step 1. 全文を読み、意味と読者の行動を把握する
この文書を読んだ人が何を知り、何をすべきかを確定させる。 やさしくした結果、条件・例外・期限・連絡先が落ちたら失敗である。
Step 2. textlint を実行する(決定論層)
原稿を一時ファイル(拡張子 .md)に書き出し、npx 経由で textlint を実行して JSON を読む。
npx --min-release-age=7 --yes --package textlint@14.8.4 --package textlint-rule-preset-ja-technical-writing@10.0.2 --package textlint-rule-prh@6.1.0 textlint -c "<SKILL_DIR>/references/textlint-yorisoi.config.json" -f json "<INPUT_MD>"
<SKILL_DIR>はこのSKILL.mdがあるディレクトリの実パスに置き換える。- 指摘があると終了コード 1 になるが、stdout の JSON を読んで処理を続ける。
Step 3. 語彙レベルを判定する(決定論層)
同梱スクリプトで目標レベル超過の語を洗い出す。
node "<SKILL_DIR>/scripts/vocab-check.js" --level N4 --format json "<INPUT_MD>"
--levelは目標レベル(N5〜N1)。初回実行は形態素解析器の取得で数十秒かかる(以後キャッシュ)。- 出力の
over(超過)は書き換え候補、unknown(リスト外)は参考。判定は推定値であり、 最終判断は文脈で行う(references/vocab/README.md参照)。
Step 4. YLS(before) を算出する
§7 の式で before スコアを出す。判定モードならここで報告して終わる。
Step 5. patterns-yorisoi.md の YA→YH に沿って書き換える
references/patterns-yorisoi.md を参照し、優先度 YA→YH の順で直す。
- YB(二重否定)は真偽を反転させずに畳む(meiseki の A と同じ基準)。
- prh の指摘(YC 受身・YD 推測・YE 敬語・YG 表記)は書き換えの起点。 近似検出のため誤検知(可能形の「される」等)は無視してよい。
- 語彙超過の語は、言い換えるか「余震<=後から来る地震>」形式で説明を付ける。 説明は原文と文脈から導けるものだけ。新しい情報を創作しない。
Step 6. 意味の検算(最重要のガード)
- 二重否定を畳んだ箇所は、論理の向きが原文と一致しているか確認する。
- 条件・例外・期限・数値・連絡先が原文とすべて一致しているか確認する。
- 「<=説明>」の説明が原文の意味とずれていないか確認する。
Step 7. textlint と vocab-check を再実行し、before→after を検算する
- after < before(YLS) になっていなければ直し残しがある。
- 二重否定は 0 件、語彙超過は 0 を目指す(固有名詞・説明付きで残した重要語は超過に数えない)。
Step 8. 本文だけ返す
§2 の方針どおり、変換モードでは書き換え後の本文のみを出力する。
5. ガードレール(やってはいけないこと)
- 意味・事実・数値・期限・連絡先を変えない。 やさしくするために情報を削らない。
- 新しい情報を足さない。 「<=説明>」も原文と文脈から導けるものだけ。
- 固有名詞(地名・組織名・人名・制度名)は変えない。読み方が難しい制度名は説明を付ける。
- 文末は「です・ます」で統一する。ぞんざいな常体には落とさない。
- 「〜かもしれません」は削らない(推測をぼかし表現から明確な形に直した結果である)。
- 法令・契約・医療の厳密文は書き換えの対象外。求められたら「参考訳」として位置づけを明示する。
- 元の文書がすでにやさしい場合は触らない。
6. 最終判断基準
目標レベルの語彙しか持たない読者が、一度読んで「何をすべきか」を正しく理解できるか。
7. やさしさ負荷スコア(YLS)の定義
textlint と vocab-check の指摘をカテゴリ別に重みづけし、本文の文数で正規化する。低いほどやさしい。
YLS = Σ(カテゴリ件数 × 重み) ÷ 本文の文数 × 100
| カテゴリ | 検出 | 重み |
|---|---|---|
| YB 二重否定 | no-double-negative-ja + prh A1 | 3 |
| YF 語彙超過 | vocab-check の over(unknown は数えない) | 2 |
| YA 文長・読点 | sentence-length, max-ten, no-doubled-conjunctive-particle-ga | 2 |
| YF 漢字連続・冗長 | max-kanji-continuous-len, ja-no-redundant-expression | 2 |
| YC/YD/YE/YG | prh(A1 以外), no-mix-dearu-desumasu | 1 |
| その他 | no-doubled-joshi, no-doubled-conjunction | 1 |
- prh A1(二重否定の補完)は YB に数え、YC〜YG と二重計上しない。
- 受け入れ基準:after < before を必須、二重否定 0 件、語彙超過 0 を目指す。
- 参考値として vocab-check が出す jReadability 近似値(高いほど易しい)も併記してよい。 近似値は判定に使わない。
8. 機械検出の分担(拾える / 拾えないもの)
- textlint が拾う:二重否定(分離型・丁寧形は prh A1)、一文長、読点過多、漢字連続、 冗長表現、文末の混在、受身・推測・敬語・表記の典型形(prh YC〜YG。近似)。
- vocab-check が拾う:目標レベルを超える語(同梱の推定リスト。JEV があれば最優先)。
- LLM が判断する:受身の誤検知の仕分け、言い換えと「<=説明>」の使い分け、 外来語の定着度、重要情報の先出し(YH)、文の分割位置、ローマ字表記の回避。
この分担は meiseki と同じ設計思想(検出は決定論層・書き換えは LLM 層)である。
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
日本語の文章を「一読で意味が取れる」状態に明晰化するスキル。 「わかりやすく直して」「読みやすくして」「読みにくいので整えて」「AIっぽさを消して」 「ドキュメントを推敲して」「冗長な日本語を削って」「文章を明晰化して」などで発動する。 対象は技術記事・README・設計書・社内ドキュメント・ブログの説明文など説明的な日本語の本文。 対象外はコード本体・SNS の短文・小説や詩などの創作・法務/医療/論文の厳密文。 二重否定・長い連体修飾・「の」の連鎖・過剰な名詞化・冗長表現・埋もれた列挙、 さらに「重要なのは〜」「掘り下げる」などの LLM 定型句や、段落レベルの言い換え反復といった 「日本語ネイティブでも読解負荷の高い構文」を削ぎ落とすことが目的。 声・立場・個性は足さず、明晰さ(明晰=澄んで分かること)だけを目的とする。
日本語を主対象とする資料から選択式の問題を 1 ページのフォームで出し、採点結果を学習履歴に残し、解説を絵解きノート(HTML)とテキストブック(PDF)に蓄積し、書き手向けの還流レポートを作るスキル。「理解度を確認して」「この資料でクイズして」「読めているかテストして」「内容を復習したい」などで発動する。