natural-japanese README

The project's README from github.com/coji/natural-japanese. As one markdown file: README.md.

natural-japanese

License: MIT GitHub release

仕事でAIに文章を書かせると、どこか独特の「匂い」が残ります。

見出しは中身を言わず、どの段落も同じような長さで均等に並び、当たり障りのない結論で安全にまとめられる。あとから手作業で直そうとしても、骨組み全体に手癖が染み込んでいて、結局ゼロから書き直したほうが早いと感じることも少なくありません。

natural-japanese は、仕事の日本語を読みやすく書く・直すための Agent Skill です。議事録・調査レポート・社内ガイド・企画書・ブログ記事などを対象に、論旨がすっきり通る自然な文章への執筆や推敲を支援します。

長文のBefore/After実機比較や新機能の解説は、v1.5.0 ビジュアルリリースノート(Web) をご覧ください。

English summary: An Agent Skill for writing clear, readable Japanese work documents. It prevents "AI-smelling" patterns using a style constitution and mechanically detects issues with sudachipy-based linting.

設計の考え方

書き上がった文章からAI臭を抜くのは、料理のあとから塩を抜くような難しさがあります。AI自身に「もっと自然にして」と頼んでも、自分の手癖を認識できないため、別の定型句に置き換わるだけになりがちです。

そのため、このスキルでは設計を根本から分けています。

あとから直すより、書く前に防ぐ

書く前に見出しの骨組み(スケルトン)を固め、12箇条の文体憲法を制約として適用します。「結論から書く」「同じ型を繰り返さない」といったルールで縛り、最初から歪みの少ない文章を出力させます。

検出は機械、判断は人間(またはエージェント)

それでも混ざる手癖は、形態素解析(sudachipy)を使ったスクリプト lint.py で機械的に洗い出します。紋切り型のフレーズ、単調な文リズム、英語の直訳調をルールベースで突きつけます。

ただし、指摘を機械的に全置換すると文章のニュアンスが失われます。何を直し、文脈上あえて何を残すかは人間やエージェント自身が判断します。

なお、語順や読点の位置といった「そもそも読みにくい」領域は、機械的な判定が難しいことがコーパス検証(180本超の比較分析)で分かっています。こうした箇所はルールカタログに基づく目視レビューや、補助的な読解負荷チェック(--reading-load)を組み合わせて丁寧に推敲します。

変換の例

Before

リモートワークの普及は、働き方に大きな変化をもたらした。重要なのは、通勤時間の削減による生活の質の向上だ。また、オフィスコストの削減という企業側のメリットも見逃せない。このように、リモートワークは労働者と企業の双方にとって恩恵のある働き方だと言えるだろう。

After

リモートワークが広まってから、通勤で潰れていた1時間が自分の時間に戻ってきた人は多いはずだ。企業側もオフィスの家賃を削れる。誰も損をしていないように見える働き方だが、実際にそう言い切れるのかは、もう少し先まで見ないと分からない。

重要なのは このように と言えるだろう といった手癖の定型句を外し、結論を急いで押し付ける構えを、実感と留保のある表現に変えています。

長文の実機検証(定例会議廃止メモ、Redis→KV移行メモ)の段落ごとの対比は v1.5.0 ビジュアルリリースノート で確認できます。その他の例は examples.md を参照してください。

インストール

1. npx skills add(推奨)

npx skills add coji/natural-japanese

Claude Code などのエージェント設定ディレクトリにインストールします。

2. npx openskills install(Cursor / ChatGPT / Codex など)

npx openskills install coji/natural-japanese
npx openskills sync

AGENTS.md を経由して各エージェントから利用できるようになります。

3. Claude Code プラグイン

/plugin marketplace add coji/natural-japanese
/plugin install natural-japanese@natural-japanese

4. 手動配置

Releases から natural-japanese.skill をダウンロードし、エージェントのスキルディレクトリに展開して配置してください。

使い方

スキルを導入すると、エージェントへの日常的な依頼の中で自動的に呼び出されます。

指摘を一括置換するのではなく、エージェントが指摘を仕分けし、さらに「6軸推敲ルーブリック(脱AI臭・情報密度・体温など)」で合格基準に達するまで自律的に推敲ループを回します。

診断コマンド

文書を書き換えずに自然度(0〜100)を測定したい場合は、診断コマンドを実行できます。

/natural-japanese score path/to/document.md

検査スクリプト単体での利用

各スクリプトはスキルを介さず単体でも実行できます。実行には uv が必要です。依存関係はスクリプト自身に記述されており、uv run が実行時に自動で解決します。

brew install uv
# 疑いのある表現の検出
uv run skills/natural-japanese/scripts/lint.py path/to/draft.md

# ジャンル指定(誤検知の抑制)
uv run skills/natural-japanese/scripts/lint.py path/to/draft.md --genre tech

# 読解負荷(一文の長さや読点の偏りなど)のチェック
uv run skills/natural-japanese/scripts/lint.py path/to/draft.md --reading-load

# 構成(見出し・段落先頭文)の抽出
uv run skills/natural-japanese/scripts/outline.py path/to/draft.md

# 専門用語と初出説明の確認
uv run skills/natural-japanese/scripts/terms.py path/to/draft.md

リポジトリ構成

skills/natural-japanese/            # スキル本体
  SKILL.md                          # スキル定義
  references/                       # 文体憲法・禁止パターン・6軸ルーブリックなど
  references/doctypes/              # 文書タイプ別の型(議事録・レポート・ガイドなど)
  scripts/                          # 検査スクリプト(lint.py, outline.py, terms.py など)
  assets/                           # テンプレート

開発者向け

スクリプトや fixture を変更した際は、fixture 回帰チェックを実行してください。

git config core.hooksPath .githooks
./dev/check-fixtures.sh

参考にした資料

このスキルの設計にあたり、以下の公開資料やプロジェクトを参考にしています。感謝します。

クレジット

本 README の執筆・推敲: Cursor Agent (Gemini 3.8 Flash High)

ライセンス

MIT. See LICENSE.

natural-japanese (coji/natural-japanese)

Searching Database…

这是做什么用的?这是一个 Agent Skill,用于撰写和修改清晰、自然的工作文档日语——会议纪要、报告、内部指南、提案、博客文章。它的核心目标是去除机器生成文字里那种一眼就能看出来的'AI 味'。
这是一个独立应用,还是装在我的 AI 编程助手里面的东西?不是一个打开来用的应用:它安装到 AI 智能体的技能目录里(Claude Code、Cursor、ChatGPT、Codex),在日常写作请求中自动被调用。lint 脚本也可以在终端里独立运行。
哪些 AI 智能体能用它——我必须用 Claude Code 吗?Claude Code 是主要目标,但通过 openskills 方式和 AGENTS.md,Cursor、ChatGPT、Codex 以及类似的智能体也能使用。单独运行 lint 脚本只需要 uv,它会自动解析每个脚本的依赖。
自动检测能发现所有不自然的表达吗?不能——语料验证(180 多组对比分析)表明,语序和逗号位置很难靠机械方式判断,所以这些地方要靠规则清单的人工审核,外加一个辅助的阅读负担检查(--reading-load)。被标记的问题会逐条甄别处理,绝不会批量替换。
它到底是怎么让 AI 写的文字不像 AI 写的?预防重于补救:写作之前,智能体先固定标题骨架,并套用一份 12 条规则的文风宪法('先写结论'、'不要重复同样的句式')。残留的坏习惯由 lint.py 借助 sudachipy 形态素分析机械地标记出来,再由人或智能体决定实际改什么。
装好技能之后,我可以让智能体做些什么?起草或校对会议纪要、报告、内部指南和提案;下达诸如'让它更易读'、'从结论写起'、'修正不自然的措辞'之类的指令;修改 AI 写的初稿;用分数诊断 AI 味;以及起草或重写博客文章和随笔。
linter 标记出问题之后会发生什么?智能体不会把被标记的短语全部替换——那样会抹平细微的语气差别。它会对发现的问题分类整理,然后按照一份 6 个维度的修改评分标准(去 AI 味、信息密度、温度感等)自主循环修改,直到文字达到合格线。
能不能不改写文档,就测出它有多'机器味'?可以——有一个诊断命令会给文档的自然程度打 0 到 100 分,完全不改动文本,很适合检查现有初稿里 AI 味有多重。
Creator
coji
Size
3.3 MB
Stars
1.9K
Age
3mo
Commits · 90 Days