by coji
仕事の日本語を、読みやすくわかりやすく書く・直すための Agent Skill です。
# Add to your Claude Code skills
git clone https://github.com/coji/natural-japaneseGuides for using ai agents skills like natural-japanese.
Last scanned: 7/16/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-07-16T06:19:10.517Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}natural-japanese is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by coji. 仕事の日本語を、読みやすくわかりやすく書く・直すための Agent Skill です。. It has 520 GitHub stars.
Yes. natural-japanese passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/coji/natural-japanese" and add it to your Claude Code skills directory (see the Installation section above).
natural-japanese is primarily written in Python. It is open-source under coji on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh natural-japanese against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
仕事の日本語を、読みやすくわかりやすく書く・直すための Agent Skill です。議事録・調査レポート・社内ガイド・リサーチメモ・スライド構成といった仕事の文書から、note・ブログ・エッセイまで扱います。
AIと文書を作るとき、毎回プロンプトに書いている指示があるはずです。結論から書いて。論旨を明確に。見出しは端的に。専門用語は文中で説明して。このスキルは、そうした指示を「書く前の設計」「書くときの制約」「書いた後の検査」の全工程に組み込みます。AI臭さ(AIっぽい/機械翻訳っぽい)の除去も工程の一部です。
English summary: An Agent Skill for writing clear, readable Japanese work documents — designing the argument before writing, constraining generation with a 12-article style constitution, then mechanically detecting "AI-smelling" patterns via sudachipy morphological analysis and iterating until the text converges.
軸は二つあります。
第一に「検出は機械、判断は人間(またはAI)」。AI は自分自身の AI 臭さを認識しにくい、という前提に立つ設計です。修正の前に、まず lint.py が形態素解析(sudachipy)で決定的に検出します。
forbidden-patterns.md)何をどう直すかはエージェント(あなた)の判断に委ねます。
第二に「事後修正より生成時制約」。AI臭は個々の語句だけでなく、段落の均質さや論旨の運びといった構造にも染み込むため、書き上がってから消そうとすると書き直しに近い作業になります。だから書く前に読者・主メッセージ・見出しスケルトンを決めます。書くときは「結論から書く」「見出しはメッセージにする」「同じ鋳型を3回繰り返さない」など12箇条の文体憲法(writing-constitution.md)を制約として、発生自体を防ぎます。文書タイプ別の型は doctypes/ にまとめてあります。
一方で、語順・読点の位置・一文一義・主語述語の距離といった「そもそも読みにくい」領域では、機械的な閾値化ができないことがコーパス検証でわかっています(readability-sweep.md)。ここは機械に任せず、AI 自身が周回ごとに目視でレビューします。参照するのは一般原則(readability-principles.md)と悪文パターンカタログ(readability-antipatterns.md)で、判断の重みづけがジャンルごとにどう違うかは genre-notes.md にまとめてあります。
ただし、判定はできなくても「ここを見てください」という指し示しは機械にもできます。それが v1.4.0 で追加した読解負荷レーン(lint.py --reading-load)で、使い方は後述します。
Python スクリプトの実行には uv が必要です。
brew install uv
Homebrew を使わない場合は uv 公式のインストールガイド を参照してください。
pip install や venv の手動セットアップは不要です。依存関係はスクリプト自身に書いてあり、uv run が実行時に自動で取ってきます(PEP 723 インラインメタデータ)。
4つの方法がありますが、どれで入れても中身は同じです。ふだんの Claude Code なら 1 が最も簡単です。/plugin コマンドで更新まで管理したい場合は 3 を選んでください。
npx skills add(推奨)npx skills add coji/natural-japanese
skills/natural-japanese/ を読み取り、~/.agents/skills/ などエージェントの設定ディレクトリにインストールします。
npx openskills install(Claude Code 以外のエージェントでも使う場合)npx openskills install coji/natural-japanese
npx openskills sync
AGENTS.md を経由して Cursor / Windsurf / Aider / Codex など、AGENTS.md を読めるあらゆるエージェントから利用できます。
/plugin marketplace add coji/natural-japanese
/plugin install natural-japanese@natural-japanese
.claude-plugin/ のマニフェストを使い、skills/natural-japanese/ をプラグインとして配布します。
.skill(zip)をダウンロードReleases から natural-japanese.skill をダウンロードして展開し、任意のエージェントのスキルディレクトリに配置してください。
一例から。AIがよく書くこんな文があるとします。
リモートワークの普及は、働き方に大きな変化をもたらした。重要なのは、通勤時間の削減による生活の質の向上だ。また、オフィスコストの削減という企業側のメリットも見逃せない。このように、リモートワークは労働者と企業の双方にとって恩恵のある働き方だと言えるだろう。
lint.py が 重要なのは このように と言えるだろう の3語を検出し、AIが文脈で判断して直すと、こうなります。
リモートワークが広まってから、通勤で潰れていた1時間が自分の時間に戻ってきた人は多いはずだ。企業側もオフィスの家賃を削れる。誰も損をしていないように見える働き方だが、実際にそう言い切れるのかは、もう少し先まで見ないと分からない。
定型句を外すだけでなく、結論を押し付ける構えを、留保を残す言い方に変えるところまでが仕事です。ほかの事例は examples.md にあります。
スキルをインストールした状態で、以下のような場面で自動的に発動します。
style-profile.md)のセットアップ診断は /natural-japanese score <ファイル> で呼び出せます。自然度スコアは0〜100で、高いほど自然です。
フローは一回検出して終わりではありません。lint の指摘を「直す / 理由を付けて残す」に仕分けし、修正が新しい指摘を生まなくなるまで——つまり収束するまで——ループします。周回ごとの差分は lint の --baseline オプションで機械的に追跡できます(解消・新規・継続の分類)。作業中の中間ファイルは完了時にすべて削除され、残るのは完成した文書だけです。
詳しいフローは SKILL.md を参照してください。
検査層の3スクリプトは、スキルを介さず単体でも使えます。役割ごとに分かれています。共有基盤の textcore.py は3スクリプトが内部で使うだけで、直接実行するものではありません。
lint.py — 疑いの検出uv run skills/natural-japanese/scripts/lint.py path/to/draft.md
uv run skills/natural-japanese/scripts/lint.py path/to/draft.md --json
ジャンルが明確なら --genre tech|business|essay を指定してください。コーパス校正済みの閾値プロファイルに切り替わり、誤検知が減ります。
読みやすさの推敲には --reading-load を追加します(opt-in)。一文が長すぎる・埋もれた列挙・二重否定・漢字の連続・「の」の連鎖——この5つを severity info のみで指し示します。指定しない限り出力は従来と変わらず、AI臭さの findings や --baseline 差分にも混ざりません。
CI ゲートではなく lint なので、検出件数に関わらず exit code は 0 です。検出結果をどう直すかは書き手(またはAI)の判断に委ねます。exit code が 1 になるのは、ファイル不在・ディレクトリ指定・読み取り不可といった入力エラーのときだけです。
outline.py / terms.py — 判断ではなく素材の抽出findings の代わりに、構造・用語の「素材」だけを機械的に抽出します。どちらも判断はせず抽出のみで、exit code の方針は lint.py と同じです。
uv run skills/natural-japanese/scripts/outline.py path/to/draft.md # 見出し・各段落の先頭文・箇条書きプレースホルダを行番号付きで抽出
uv run skills/natural-japanese/scripts/terms.py path/to/draft.md # カタカナ複合語/ASCII略語/固有名詞らしき語を初出順に抽出(説明マーカーの有無つき)
semantic.py — 話題平板性の検出(EXPERIMENTAL・opt-in)uv run skills/natural-japanese/scripts/semantic.py path/to/draft.md
文埋め込みで、隣接する文の類似度に起伏がない状態(話題の平板さ)を検出します。torch + sentence-transformers に依存し、初回に約1GBのモデルダウンロードを伴う重量級です。そのため lint.py には組み込まず、独立の opt-in エントリにしています。
skills/natural-japanese/ # スキル本体(single source of truth)
SKILL.md # スキル定義
references/ # 文体憲法・禁止パターン・チェックリスト・翻訳調ガイド・読みやすさ原則/悪文カタログ/ジャンル差分など
references/doctypes/ # 文書タイプ別の型(議事録・調査レポート・社内ガイド・メモ/DP・スライド)
scripts/ # textcore.py(共有基盤)/ lint.py・outline.py・terms.py(検査層エントリ)/ semantic.py(EXPERIMENTAL・opt-in)/ calibrate.py / fixtures
assets/ # style-profile テンプレート
.claude-plugin/ # Claude Code plugin manifest / marketplace 定義
dev/check-fixtures.sh # fixture 回帰チェック(開発用)
.githooks/pre-commit # lint/fixtures 変更時に fixture 回帰チェックを実行
スキル本体は skills/natural-japanese/ の1か所だけにあります。
git config core.hooksPath .githooks
skills/natural-japanese/scripts/ の lint.py / textcore.py や fixtures/ を変更した場合は、./dev/check-fixtures.sh で期待検出件数(fixture 回帰)を確認してください。該当ファイルが staged されていれば pre-commit hook が自動で実行します。タグ v* を push すると GitHub Actions(.github/workflows/release.yml)が同じチェックを実行し、.skill をビルドして Release に添付します。
このスキルの設計は、次の公開資料に大きく影響を受けています。感謝します。
--reading-load)を作るきっかけにもなったMIT. See LICENSE.