jp-pdf
무료日本語Markdownを配色付きのオフラインPDFに変換するスキル。「PDF化して」「PDFにして」「PDFを生成」「markdownをPDF」「日本語PDF」等で発動。IPAゴシック+pandoc/xelatex(Chrome・Google不使用)、SVG図の埋め込み、色付き見出し・コールアウト引用・縞模様テーブルに対応。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
日本語の文章を「一読で意味が取れる」状態に明晰化するスキル。「わかりやすく直して」「読みやすくして」「読みにくいので整えて」「AIっぽさを消して」 「ドキュメントを推敲して」「冗長な日本語を削って」「文章を明晰化して」などで発動する。対象は技術記事・README・設計書・社内ドキュメント・ブログの説明文など説明的な日本語の本文。
対象外はコード本体・SNS の短文・小説や詩などの創作・法務/医療/論文の厳密文。二重否定・長い連体修飾・「の」の連鎖・過剰な名詞化・冗長表現・埋もれた列挙、 さらに「重要なのは〜」「掘り下げる」などの LLM 定型句や、段落レベルの言い換え反復といった 「日本語ネイティブでも読解負荷の高い構文」を削ぎ落とすことが目的。
声・立場・個性は足さず、明晰さ(明晰=澄んで分かること)だけを目的とする。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
文章の読みにくさは、難しい語彙ではなく構文から生まれる。二重否定、長い連体修飾、 「の」の連鎖、過剰な名詞化、冗長な言い回し、一文に埋もれた列挙——これらは語の置換では消えない。 このスキルの目的は 明晰さ(clarity)= 内容を知らない読者が一度読んで正しく理解できること だけである。
「自然さ」「AI 検出の回避」「文章の上手さ」は目的ではない。明晰さだけに振る。
事実・主張・結論・前提条件を正確に取る。意味を取り違えると明晰化は台無しになる。 特に否定・条件・係り受けの論理構造を頭の中で確定させる。
原稿を任意の一時ファイル(拡張子は .md)に書き出し、Node.js 同梱の npx 経由で textlint を実行して JSON を読む。
# textlint を JSON フォーマットで実行(Skill 同梱の設定を使う)
npx --min-release-age=7 --yes --package textlint@14.8.4 --package textlint-rule-preset-ja-technical-writing@10.0.2 --package textlint-rule-preset-ai-writing@1.1.0 --package textlint-rule-prh@6.1.0 textlint -c "<SKILL_DIR>/references/textlint.config.json" -f json "<INPUT_MD>"
<SKILL_DIR> はこの SKILL.md があるディレクトリの実パスに置き換える。<INPUT_MD> は原稿を書き出した一時 Markdown ファイルの実パスに置き換える。textlint は指摘があると終了コード 1 を返す。その場合も stdout の JSON を読み、処理は続ける。messages[] から ruleId(例 preset-ja-technical-writing/no-double-negative-ja)と
line / column を読み、高負荷箇所を特定する。textlint の指摘のうちカテゴリ I(文字化け)は A〜H と分けて記録する。
対象は no-nfd・no-invalid-control-character・no-zero-width-spaces・no-hankaku-kana の指摘と、
prh のメッセージに「I 文字化け」を含む指摘(U+FFFD 検出)。
I はリライト対象ではなく、Step 8 で報告してユーザーに対応の要否を確認する。RLS にも数えない(§7)。
対象が Markdown 文書の場合は、同じ一時ファイルに markdownlint も実行し、before の違反一覧を記録する。 これは Markdown 構文のリグレッションガード(書き換えで構文を壊していないことの検証)に使う。
# markdownlint を実行(Skill 同梱の設定を使う。Markdown 構文のリグレッションガード)
npx --min-release-age=7 --yes --package markdownlint-cli@0.49.1 markdownlint --config "<SKILL_DIR>/references/markdownlint.config.jsonc" "<INPUT_MD>"
file:line[:column] error MD###/alias 説明 の形式で出力される。
各行の ruleId と行番号を before として記録する。§7 の式で before スコアを出す。no-double-negative-ja(A)の件数は特に記録しておく。
references/patterns.md を参照し、優先度 A→H の順で直す。
ai-tech-writing-guideline) / E 絵文字箇条書き・過剰太字(ai-writing/*) / G 定型句(prh)・誇張語
(no-ai-hype-expressions))はその指摘を起点に直す。node scripts/jev-judge.js --check が exit 0 のとき(TypeSafe API キーが設定済みのとき)、
次の文脈判断を noul 質問としてまとめて jev-judge.js に渡してよい:
G(prh 指摘語がこの文脈で実質を持つか)・H(隣接 2 段落が情報量の増えない反復か)・
A(この二重否定は意図的な litotes か)。全問を 1 回の呼び出しにまとめる(バッチは単問と同じ約 250ms)。
採用は noul の確率で判定する: p ≥ 0.8 なら yes、p ≤ 0.2 なら no として採用し、
0.2 < p < 0.8 の判定だけ自分で読んで判断する(2026-10-11 の実測で、この帯なら採用判定の誤りが 0 だったため)。exit 3(キーなし)は本項をスキップ、
exit 2(失敗)は全件を自分で判断する(従来動作)。
ユーザーがキーの設定を求めたときは、この SKILL.md の 3 階層上(プラグインルート)にある
scripts/jev-judge.js の絶対パスを解決し、! node "<絶対パス>" --setup の実行を案内する
(! のターミナル実行ならキーが会話ログに残らない。1Password 利用者には秘密参照
op://Vault/Item/credential を貼れば平文が残らないことも伝える)。
キーの保存先は ~/.config/meiseki/ でありプラグインの設置場所と無関係のため、
プラグインの更新・再インストールでキー設定は失われない。
Jev へ送信されるのは、判定対象の文・段落の抜粋と質問文である。作業ディレクトリまたは
その祖先に .meiseki-no-jev ファイルがある場合、jev-judge.js は何も送信せず exit 3 を返す。
プロジェクトの .meiseki.json でポリシーも設定できる({"jev": {"meiseki": "ask"}} なら、
セッション内で最初に使う前に AskUserQuestion で同意を得て、以後の呼び出しに --consented を付ける。
deny なら本項を黙ってスキップする)。既定は meiseki=allow(キー設定を同意とみなす)。
機密文書を扱うプロジェクトではマーカーまたは deny 設定を案内してよい。Jev を使ったセッションでは、
判定件数・呼び出し合計時間・採用率・自分で判断し直した件数を変更点報告に含める。リライト後の本文を再び Step 2 の手順で textlint にかけ、§7 のスコア(after) を出す。
§5 のガードレールに 1 つずつ照らし、過剰な書き換え・声の注入・トーン破壊がないか点検する。 特に「元から読みやすい文を均質に作り替えていないか」「F で太字+コロンの定型に寄っていないか」 「G で実質を持つ語まで機械的に削っていないか」「H で情報を持つ文を反復と誤認して消していないか」。
§2 の方針どおり、標準ではリライト後の本文のみを出力する。 markdownlint が before から検出していた既存違反があるときだけ、本文のあとに 「markdown lint 上の既存指摘」として ruleId と行番号を簡潔に添える(修正はしない)。 カテゴリ I(文字化け)の指摘があるときは、本文のあとに行番号つきで報告し、対応の要否をユーザーに確認する。 制御文字や特殊文字が意図的なケースがあるため、勝手に削除・置換しない。 U+FFFD(�)は元の文字が失われた痕跡なので、推測で復元せず正しい原文の提供を求める。
ja-no-weak-phrase の指摘は「曖昧で意味が取りにくいときだけ外す」用途に限り、
立場を強める方向には使わない。(これが声を注入する stop-ai-slop-jp 系との決定的な差分。)no-ai-hype-expressions(誇張語)の指摘も同じ扱いとする。実測や比較が本文にあり語が実質を
持つ場合(実測値を伴う「大幅に」など)は残す。内容を知らない読者が、一度読んで正しく理解できるか。
通読して一度で意味の取れない文が残っていれば、A→F のどれかが残っている。 逆に、読んで引っかからない文はいじらない。
textlint の指摘件数をカテゴリ別に重みづけし、本文の文数で正規化する。低いほど読みやすい。
RLS = Σ(カテゴリ件数 × 重み) ÷ 本文の文数 × 100
| meiseki カテゴリ | textlint ルール | 重み |
|---|---|---|
| A 否定の入れ子(最優先) | no-double-negative-ja | 3 |
| B 距離・長さ | sentence-length, max-ten, no-doubled-conjunctive-particle-ga | 2 |
| C 漢語・名詞化 | max-kanji-continuous-len, ja-no-redundant-expression | 2 |
| D 冗長・空虚 | ja-no-redundant-expression, no-doubled-conjunction, ja-no-weak-phrase, ai-writing/ai-tech-writing-guideline | 1 |
| E 体裁 | ai-writing/no-ai-list-formatting, ai-writing/no-ai-emphasis-patterns(+LLM 判断) | 1 |
| F 構造化(列挙) | (LLM 判断) | 1 |
| G 定型句 | prh(同梱辞書 prh-llm-phrases.yml), ai-writing/no-ai-hype-expressions | 1 |
| H 段落冗長 | (LLM 判断) | 1 |
ja-no-redundant-expression を共有する。二重計上を避けるため、当該指摘は D に寄せて 1 回だけ数える
(max-kanji-continuous-len は C 固有として数える)。ruleId が prh の指摘を数える。「〜の観点から」系(D2 と同根)と接続詞連打
(no-doubled-conjunction)は D に寄せ、G と二重計上しない。ai-writing/* の指摘は次のとおり数える(二重計上の防止):
prh と no-ai-hype-expressions が両方拾ったら G に 1 回だけ。ja-no-redundant-expression と ai-tech-writing-guideline が両方拾ったら D に 1 回だけ。ai-tech-writing-guideline の総括行(「【テクニカルライティング品質分析】…」で始まるメッセージ)は
個別指摘の集計であり、件数に数えない。no-nfd・no-invalid-control-character・
no-zero-width-spaces・no-hankaku-kana、および prh のメッセージに「I 文字化け」を含む指摘(U+FFFD)。
読解負荷ではなくデータ破損の検出であり、扱いは §4 Step 8 に従う(報告のみ・ユーザー確認)。ai-writing/no-ai-list-formatting,
ai-writing/no-ai-emphasis-patterns)、G 辞書収録の定型句(prh。「〜に他ならない」「重要なのは」
「掘り下げる」等)と誇張語(ai-writing/no-ai-hype-expressions。「革命的」「ゲームチェンジャー」等)。
no-double-negative-ja は分離型(「〜ないとは言えない」「〜は否定できない」「〜なくはない」
「〜ないわけがない」)と丁寧形(「〜ないわけではありません」等)を拾わない。これらは同梱 prh 辞書の
「A1 補完」セクションが検出する(ruleId は prh になるが、リライトは A の基準=真偽を反転させずに
肯定へ畳む=で行う)。no-ai-colon-continuation は
preset-ai-writing@1.1.0 に未収録)、F 列挙の箇条書き化、G 辞書外の定型句と「削るか残すか」の文脈判断、
H 段落レベルの言い換え反復・再要約。この「取れない部分」が meiseki の独自価値。textlint 設定だけで終わらせない。
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
日本語Markdownを配色付きのオフラインPDFに変換するスキル。「PDF化して」「PDFにして」「PDFを生成」「markdownをPDF」「日本語PDF」等で発動。IPAゴシック+pandoc/xelatex(Chrome・Google不使用)、SVG図の埋め込み、色付き見出し・コールアウト引用・縞模様テーブルに対応。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
日本語を主対象とする資料から選択式の問題を 1 ページのフォームで出し、採点結果を学習履歴に残し、解説を絵解きノート(HTML)とテキストブック(PDF)に蓄積し、書き手向けの還流レポートを作るスキル。「理解度を確認して」「この資料でクイズして」「読めているかテストして」「内容を復習したい」などで発動する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
日本語の文書を、公的ガイドライン準拠の「やさしい日本語」に書き換えるスキル。 「やさしい日本語にして」「やさしい日本語に翻訳して」「外国人にもわかるように書いて」 「平易な日本語にして」「N4レベルの日本語にして」「easy Japanese にして」などで発動する。 「やさしい日本語かチェックして」「判定だけして」「スコアを出して」なら書き換えずに判定だけ行う。 対象はお知らせ・案内・手続き説明・マニュアルなど、在留外国人や日本語学習者にも 読んでほしい説明文。根拠は「在留支援のためのやさしい日本語ガイドライン」 (出入国在留管理庁・文化庁、2020)。二重否定・受身・推測表現・敬語・表記を textlint と prh 辞書で機械検出し、語彙レベル(既定 N4 相当・推定値)を同梱リストで機械判定する。 明晰化(meiseki)とは対象読者が違う。日本語ネイティブ向けの推敲は meiseki を使う。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.