natural-japanese

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

natural-japanese

natural-japanese

仕事の日本語を、読みやすくわかりやすく書くためのスキル。議事録・調査レポート・社内ガイド・リサーチメモ・スライドといった仕事の文書から、note・ブログ・エッセイまで。AI臭さの除去は工程の一部として組み込まれている。
A skill for writing Japanese business documents to make them easy to read and understand. It covers everything from business documents like meeting minutes, research reports, internal guides, research notes, and slides to notes, blogs, and essays. Removing AI-like tones is built into the process.

設計思想

Design Philosophy

軸は二つ。第一に「検出は機械、判断はAI」。AIは自分の癖を認識しにくいから、疑いの検出は機械が決定的に行い、直すかどうかはAI(あなた)が文脈で判断する。第二に「事後修正より生成時制約」。書いた後にAI臭を消すより、書く前の設計と書くときの制約で発生自体を防ぐほうが効く。工程は「設計 → 執筆 → 検査 → 収束」の順に進む。
There are two core principles. First, "Detection by machine, judgment by AI". AI has difficulty recognizing its own quirks, so machines perform definitive detection of suspicious elements, while AI (you) decides whether to revise based on context. Second, "Constraints during generation rather than post-hoc correction". Preventing AI-like tones from occurring through pre-writing design and writing constraints is more effective than removing them after writing. The process proceeds in the order of "Design → Writing → Inspection → Convergence".

実行モード — クイックとフル

Execution Modes — Quick and Full

同じ工程を、かける手間の異なる2つのモードで回す。所要時間の実測目安——クイックは短い文書(会議メモ程度)で30秒前後、長め(1万字級)でも3分程度。フルは短い文書で7分前後、1万字級で15〜20分。フルを始めるときは、この目安をユーザーに一言伝えてから着手する。
クイック(既定): 日常の文書はこちら。サブエージェントを使わず、この場で完結させる。追加で読むのは該当する doctype の型1ファイルだけでよい(文体憲法は§2の要約で足りる。他の references は lint の finding が出て判断に迷ったときだけ開く)。設計(§1)は読者・主メッセージ・見出しの確認を頭の中で済ませる。検査は lint を1回と、自分でのスケルトン通読。lint は文書が短くても省略しない(短文では統計系検出器が沈黙するが、禁止語・翻訳調は文1つでも検出される。数秒の保険であり、これを飛ばした時点でクイックの品質保証は成立しない)。収束ループは新規 finding が出なければ1周で切り上げ、最終パスの通読をして終える。スキルによる追加時間は数十秒に収まるはずで、それを超えて references を読み込みはじめたらフルモードの仕事をしている。
フル: ユーザーが「しっかり」「ちゃんと」「時間をかけていい」と言ったとき、対外・経営向けなど失敗コストが高い文書、または長い文書(目安1万字超)のとき。フルと決めたら(またはユーザーがフルを指定したら)、文書が小さくても工程を省略しない。lint に加えて outline / terms も実行し、検査(§4)の三つのレビュー——構造レビュー・読みやすさレビュー・doctype照合——を並列のサブエージェントで必ず行う(各自が所見を返し、判断台帳への統合と「直す/残す」の判断は必ず親が行う。執筆そのものは分割しない——濃淡・比喩の一貫・章間の接続は文書全体を見ないと守れない)。収束は状態条件(§5)を満たすまで回す。「この文書には過剰」と感じても、工程を勝手に間引かず、クイックへの切り替えをユーザーに提案する。なお実測で、思考予算(effort)を低く絞った実行はフルの工程を合理化で削りやすいことが確認されている。effort を選べる環境でフルを実行するなら high を推奨する(クイックは low で十分)。
どちらか迷ったら、まずクイックで仕上げてから「フルで磨き直すこともできる」とユーザーに一言添えるのがよい。
The same process can be run in two modes with different levels of effort. Estimated time requirements: Quick mode takes around 30 seconds for short documents (like meeting notes) and about 3 minutes for longer ones (around 10,000 words). Full mode takes around 7 minutes for short documents and 15-20 minutes for 10,000-word documents. When starting Full mode, inform the user of this estimate before beginning.
Quick (Default): Use this for daily documents. Complete the process here without using sub-agents. You only need to read the Type 1 file for the relevant doctype (the summary in §2 of the Writing Constitution is sufficient; other references are only opened when you're unsure after lint findings). For Design (§1), confirm the reader, core message, and headings mentally. Inspection consists of one lint run and a skeleton read-through. Do not skip lint even for short documents (statistical detectors may remain silent for short texts, but forbidden words and translationese can be detected even in a single sentence. This is a few seconds of insurance, and skipping it invalidates the quality guarantee for Quick mode). The convergence loop ends after one round if no new findings appear, followed by a final pass read-through. The additional time from this skill should be within tens of seconds; if you start reading references beyond that, you're doing Full mode work.
Full: Use this when the user says "thoroughly", "carefully", "take your time", for documents with high failure costs (such as external or executive-facing documents), or for long documents (over 10,000 words as a guideline). Once you decide on Full mode (or if the user specifies it), do not skip any steps even for small documents. In addition to lint, run outline/terms, and always perform the three inspection (§4) reviews—Structure Review, Readability Review, and Doctype Matching—using parallel sub-agents (each returns their findings, and the parent agent must integrate them into the judgment ledger and decide whether to revise/retain. Do not split the writing itself—consistency of tone, metaphors, and inter-chapter connections can only be maintained by looking at the entire document). Repeat convergence until the state conditions (§5) are met. Even if you feel "overkill" for the document, do not arbitrarily skip steps; instead, propose switching to Quick mode to the user. It has been empirically confirmed that executing with a low thought budget (effort) tends to streamline Full mode steps. If you can choose effort in the environment, recommend high for Full mode (low is sufficient for Quick mode).
If you're unsure, first finish in Quick mode, then add a note to the user that "we can also polish it in Full mode".

呼び出し方 — write / score / モード指定

How to Call — write / score / Mode Specification

スキルがコマンドとして引数つきで呼ばれた場合、次の形を解釈する。
  • /natural-japanese [quick|full] <対象>
    — 書く・直す(既定)。新規作成かリライトかは対象から判断する
  • /natural-japanese write [quick|full] <お題や素材>
    新規作成を明示。元の文章がない状態から、§1の設計(読者・主メッセージ・スケルトン・濃淡・素材集め)→§2の執筆→検査→収束の全工程で書き起こす。素材が乏しければ§1-4で先に集めるか、ユーザーに求める
  • /natural-japanese score [quick|full|exp] <ファイル>
    診断のみ。文書を書き換えず、自然度スコア(0〜100、高いほど自然=AI臭が薄い)と理由で返す。quick=lint のみ(30秒)、full=構造・読みやすさレビュー込み、exp=semantic.py の深層検出込み(初回約1GBダウンロード)。最初に必ず
    references/diagnose.md
    を読む
    。スコアの算出式・バンド・出力形式の定義がそこにあり、これを読まずに lint findings の転記で返した時点で診断モードの仕事になっていない。診断後にリライトを提案してよいが、頼まれるまで直さない
モード指定がなければ実行モードの基準で自分で選ぶ。自然言語でも同じ(「〇〇について書いて」→ write 相当、「この文章AIっぽい?」「AI臭さを採点して」→ score 相当)。
When the skill is called as a command with arguments, interpret the following formats:
  • /natural-japanese [quick|full] <target>
    — Write/revise (default). Determine whether it's new creation or rewriting based on the target.
  • /natural-japanese write [quick|full] <topic or materials>
    Explicit new creation. Write from scratch with no original text, following the full process: §1 Design (reader, core message, skeleton, tone variation, material collection) → §2 Writing → Inspection → Convergence. If materials are insufficient, collect them first in §1-4 or request them from the user.
  • /natural-japanese score [quick|full|exp] <file>
    Diagnosis only. Return a naturalness score (0-100, higher means more natural = less AI-like tone) and reasons without rewriting the document. quick=lint only (30 seconds), full=includes structure and readability reviews, exp=includes deep detection via semantic.py (initial ~1GB download). Be sure to read
    references/diagnose.md
    first
    . The score calculation formula, bands, and output format are defined there; returning only lint findings without reading this does not constitute proper diagnosis work. You may propose rewriting after diagnosis, but do not revise unless requested.
If no mode is specified, choose it yourself based on the execution mode criteria. The same applies for natural language requests (e.g., "Write about X" corresponds to write, "Is this text AI-like?" or "Score the AI-like tone" corresponds to score).

1. 設計 — 書く前に決める

1. Design — Decide Before Writing

1-1. 読者・目的・文書タイプ

1-1. Reader, Purpose, Document Type

誰が読み、読んだ後に何が起きてほしい文書かを特定する(不明ならユーザーに聞く)。文書タイプが定まったら、対応する型を読む:
  • 議事録 →
    references/doctypes/minutes.md
  • 調査レポート・分析レポート →
    references/doctypes/report.md
  • 社内ガイド・マニュアル →
    references/doctypes/guide.md
  • リサーチメモ・ディスカッションペーパー・企画書 →
    references/doctypes/memo.md
  • スライド構成 →
    references/doctypes/slide.md
型に当てはまらない文書(note・ブログ・エッセイ等)はこの節を飛ばしてよい。
Identify who will read the document and what you want to happen after they read it (ask the user if unclear). Once the document type is determined, read the corresponding template:
  • Meeting minutes →
    references/doctypes/minutes.md
  • Research/analysis reports →
    references/doctypes/report.md
  • Internal guides/manuals →
    references/doctypes/guide.md
  • Research notes, discussion papers, proposals →
    references/doctypes/memo.md
  • Slide outlines →
    references/doctypes/slide.md
You may skip this section for documents that don't fit these templates (such as notes, blogs, essays).

1-2. 主メッセージとスケルトン

1-2. Core Message and Skeleton

本文を書く前に、主メッセージを一文で書く。書けないなら素材不足であり、書き方の問題ではない(→ 1-4)。次に見出しスケルトンを作る。各見出しは「背景」「まとめ」のようなラベルではなく、結論を含むメッセージにする。見出しだけを順に読んで論旨が通ることを確認してから本文に進む。
Write the core message in one sentence before drafting the main text. If you can't write it, you lack materials—it's not a writing issue (→ 1-4). Next, create a heading skeleton. Each heading should be a message containing a conclusion, not a label like "Background" or "Summary". Confirm that the argument flows when reading only the headings in order before proceeding to the main text.

1-3. 濃淡設計

1-3. Tone Variation Design

すべての節を同じ熱量・同じ厚みで書くと、それ自体が「整いすぎた不自然さ」になる。重要な節を厚く、軽い節は正直に軽く、と意図的なムラを設計しておく。手順は
references/revision-guide.md
の「濃淡設計」を参照。
Writing all sections with the same intensity and depth creates "overly uniform unnaturalness". Intentionally design unevenness by making important sections detailed and minor sections lightly written. Refer to "Tone Variation Design" in
references/revision-guide.md
for procedures.

1-4. 素材集め — 任意、新規執筆時

1-4. Material Collection — Optional, for New Writing

固有名詞・数値・実例が手元に乏しいまま書き始めると、後段で「一般論しか言えていない」と気づいても直しようがない。推論と検索の往復で素材を集める手順、十分と判断する基準、Web検索不可の環境でのユーザーへの素材提供依頼は
references/revision-guide.md
の「素材集め」を参照。
If you start writing without enough proper nouns, numbers, or examples, you won't be able to fix it later even if you realize you're only stating generalities. Refer to "Material Collection" in
references/revision-guide.md
for procedures to collect materials via inference and search, criteria for determining sufficiency, and how to request materials from the user in environments where web search is unavailable.

1-5. 文体プロファイル — 任意

1-5. Writing Style Profile — Optional

style-profile.md
(プロジェクトルートかユーザー指定の場所)が既にあれば読み込み、視点・語彙・リズムの癖を下敷きにする。なければ汎用モードで進めてよい。ユーザーが「自分の文体を学ばせたい」と求めた場合のみ、
assets/style-profile-template.md
に沿って過去文章3〜5本から特徴を抽出し、プロファイルを書き出す(断定しすぎず「傾向として」と留保をつける)。ユーザーが具体的な語や組み合わせを「自分は使わない」「不自然」と明示した場合は、一般規則へ拡張せず、出典と適用範囲を添えて同プロファイルの「避ける表現」へ記録する。単語全体を禁止せず、指摘された組み合わせを最小単位にする。
If
style-profile.md
(at the project root or user-specified location) already exists, load it and use it as a basis for perspective, vocabulary, and rhythm quirks. If not, proceed in general mode. Only when the user requests "Teach my writing style", extract features from 3-5 past texts following
assets/style-profile-template.md
and write a profile (avoid overassertion; use phrases like "tend to"). If the user explicitly states that specific words or combinations are "something I don't use" or "unnatural", do not extend it to general rules—record it in the "Avoided Expressions" section of the same profile with the source and scope of application. Do not ban entire words; use the pointed-out combination as the smallest unit.

2. 執筆 — 文体憲法の下で書く

2. Writing — Write Under the Writing Constitution

references/writing-constitution.md
の12箇条を制約として本文を書く。要点だけ挙げると——結論から書き前置きを書かない、見出しはメッセージ、説明は地の文で書き箇条書きは真に並列な圧縮のみ、専門用語は「機能→名前」の順で文中説明、固有名詞・数値で接地、太字は文中の核1箇所、濃淡をつける、同じ鋳型を3回繰り返さない、「〜ではなく」は本当の誤解訂正だけ、限界と推定は明示ラベルで開示、事実と意見を分ける、結びは再統合しレポートは So What まで。
この段階では禁止語やリズムを気にしすぎず、憲法の範囲で内容を出し切ってよい。細部は次の検査工程が拾う。
Write the main text using the 12 articles in
references/writing-constitution.md
as constraints. Key points include: Write from the conclusion without preambles; headings are messages; explanations are in plain text (use bullet points only for truly parallel compressions); explain technical terms in the order of "function → name" within the text; ground content with proper nouns and numbers; use bold for only one core point per text; add tone variation; do not repeat the same template three times; use "not... but..." only for true misunderstanding corrections; disclose limits and estimates with explicit labels; separate facts and opinions; for reports, connect the conclusion to "So What".
At this stage, don't worry too much about forbidden words or rhythm—focus on getting the content out within the constitution's scope. Details will be caught in the next inspection step.

3. 検査(1) — 静的検知

3. Inspection(1) — Static Detection

uv run scripts/lint.py --json <file>
禁止語・翻訳調・否定肯定対比の反復・文長の均質さ・体言止め率・段落頭の接続詞率・語彙多様性・英語統語の疑いなどを機械的に検出する。検出結果は件数に関わらず exit code 0(lint なので、件数で CI を止めることはしない)。入力エラーのときだけ exit code 1。
対象文書のジャンルが明確なら
--genre essay|tech|business
を指定する。コーパス校正済みの閾値プロファイルに切り替わり、誤検知が減る。ジャンルごとの判断基準の差分は
references/genre-notes.md
を参照。
収束ループ(4〜5)では、直前の
--json
出力を
--baseline
に渡すと resolved / new / persisting を自動で仕分けてくれる。
uv
が使えない環境(Claude.ai 等)では
references/manual-checklist.md
で同じ観点を人手でなぞる。
もう一つ、
scripts/semantic.py
という EXPERIMENTAL な意味的検出器がある。文埋め込みで隣接文の類似度の起伏(話題の平板さ)を測るもので、torch + sentence-transformers 依存・初回~1GBのモデルダウンロードを伴う重量級のため lint.py 本体には組み込まず、独立した opt-in エントリにしている。フル工程や環境が許すときだけ
uv run scripts/semantic.py --json <file>
を追加で回し、findings は lint と同じく判断台帳に載せて扱う。
uv run scripts/lint.py --json <file>
Mechanically detect forbidden words, translationese, repetition of negation-affirmation contrasts, homogeneous sentence length, rate of noun-clause endings, rate of conjunctions at paragraph starts, vocabulary diversity, suspicion of English syntax, etc. The detection result returns exit code 0 regardless of the number of findings (since it's lint, we don't stop CI based on the count). Exit code 1 is only returned for input errors.
If the genre of the target document is clear, specify
--genre essay|tech|business
. This switches to a corpus-calibrated threshold profile, reducing false positives. Refer to
references/genre-notes.md
for differences in judgment criteria by genre.
In the convergence loop (4-5), passing the previous
--json
output to
--baseline
automatically sorts findings into resolved/new/persisting. In environments where
uv
is unavailable (such as Claude.ai), manually check the same aspects using
references/manual-checklist.md
.
There's also an EXPERIMENTAL semantic detector called
scripts/semantic.py
. It measures the fluctuation of similarity between adjacent sentences (flatness of topics) using sentence embeddings. Due to its heavy dependencies on torch + sentence-transformers and initial ~1GB model download, it's not integrated into lint.py itself and is an independent opt-in entry. Run
uv run scripts/semantic.py --json <file>
additionally only during Full mode or if the environment allows, and handle findings the same way as lint by adding them to the judgment ledger.

4. 検査(2) — 判断台帳と二つのレビュー

4. Inspection(2) — Judgment Ledger and Two Reviews

lint の findings は疑いの提示であり、機械的に全部直せという指示ではない。今回ヒットしたカテゴリの節を
references/revision-guide.md
で読み直し、文脈に照らして「直す/直さない」を判断する。判断は finding 一つひとつに「直した」か「残す(理由)」かを書き残しながら進める(台帳の形式は同ファイルの「判断台帳」を参照)。
用語カタログが必要なら: 禁止語 →
references/forbidden-patterns.md
、翻訳調 →
references/translationese.md
。専門用語が初出で説明されているか確認する材料には
uv run scripts/terms.py <file>
を使う。カタカナ複合語・ASCII略語・固有名詞らしき語を初出行・出現回数・説明マーカーの有無つきで列挙する(説明済みかどうかは機械が判断せず、AI/人間が行う)。
Lint findings are only suggestions of suspicion, not instructions to revise everything. Re-read the section for the category that hit this time in
references/revision-guide.md
, and judge whether to "revise/retain" based on context. Proceed by writing down "revised" or "retain (reason)" for each finding (refer to "Judgment Ledger" in the same file for the ledger format).
If you need a term catalog: Forbidden words →
references/forbidden-patterns.md
, translationese →
references/translationese.md
. To check if technical terms are explained on first occurrence, use
uv run scripts/terms.py <file>
. This lists katakana compound words, ASCII abbreviations, and words that appear to be proper nouns with their first occurrence line, number of occurrences, and presence of explanation markers (AI/humans judge whether they've been explained, not the machine).

構造レビュー — スケルトン通読

Structure Review — Skeleton Read-Through

lint は文レベルの表層しか見えない。特に箇条書き主体の議事録・スライドでは lint がほぼ素通りするため、構造レビューが主役になる。完成した本文から見出しと各段落の先頭文だけを抜き出して読み、次を確かめる(
uv run scripts/outline.py <file>
で見出し・各段落の先頭文・箇条書きプレースホルダを行番号付きで機械抽出できる):
  1. 論旨が通るか(スケルトンだけで話が追えるか)
  2. 各見出しがメッセージになっているか
  3. 同じ鋳型の反復がないか(定義文の型、節の内部構成、書き出しの文型)
  4. 濃淡があるか(全節が同じ厚みになっていないか)
  5. 結びが So What に接続しているか(レポート系)
  6. business・techの解説・ケーススタディ・レポートでは、固定質問への主要回答を後半まで待たせていないか。また、事実説明とは別に予告・異変・種明かし・回収を何度も追わせていないか
文書タイプが定まっている場合は、doctype の「必須要素」と「AIがやりがちな失敗」も照合する。
Lint only sees the surface level of sentences. Especially for minutes and slides that are mainly bullet points, lint will almost pass through, so the Structure Review becomes the main focus. Extract only the headings and the first sentence of each paragraph from the completed text and read them to confirm the following (you can use
uv run scripts/outline.py <file>
to mechanically extract headings, first sentences of each paragraph, and bullet point placeholders with line numbers):
  1. Does the argument flow (can you follow the story with just the skeleton)?
  2. Does each heading contain a message?
  3. Is there no repetition of the same template (definition sentence type, internal section structure, opening sentence pattern)?
  4. Is there tone variation (are all sections not the same depth)?
  5. Does the conclusion connect to "So What" (for reports)?
  6. For business/tech explanations, case studies, and reports, are key answers to fixed questions not delayed until the latter half? Also, are users not repeatedly asked to follow announcements, anomalies, revelations, or recoveries separate from factual explanations?
If the document type is determined, also check against the "Required Elements" and "Common AI Failures" of the doctype.

読みやすさレビュー

Readability Review

語順、読点の位置、一文一義、主語述語の距離、こそあど言葉の多用、冗長表現は、機械的な閾値化ができないと実証済みの判断領域。
references/readability-principles.md
(一般原則)と
references/readability-antipatterns.md
(悪文パターン24種)を参照しながら毎周回、目視で判断する。短さは目的関数にせず、事実保持と主述・係り受けを確認した後の同等候補間でだけタイブレーカーに使う。
構造レビュー・読みやすさレビューで見つけた問題も、lint の finding と同様に判断台帳へ一行として起こす。
段落が一般論しか言えていない(固有名・数値・実例がない)場合は、書き方でなく素材の問題であることが多い。
references/revision-guide.md
の「素材不足の分岐」を見て情報収集に戻るべきか判断する。
Word order, comma placement, one meaning per sentence, distance between subject and predicate, overuse of demonstrative words, and redundant expressions are judgment areas that have been proven cannot be mechanically thresholded. Refer to
references/readability-principles.md
(general principles) and
references/readability-antipatterns.md
(24 bad writing patterns) each time, and judge visually. Do not use brevity as an objective function; only use it as a tiebreaker between equivalent candidates after confirming fact retention and subject-predicate relationships.
Problems found in the Structure Review and Readability Review should also be entered into the judgment ledger as individual lines, just like lint findings.
If a paragraph only states generalities (no proper nouns, numbers, or examples), it's often a material issue rather than a writing issue. Refer to "Branch for Insufficient Materials" in
references/revision-guide.md
to decide whether to return to information collection.

5. 収束

5. Convergence

台帳の「直した」項目を反映したら lint を再実行し、新しい finding が出ていないか確認する。台帳上の全 finding が仕分けられ、修正が新たな finding を生んでいない状態になるまで 3〜4 を繰り返す。同じ finding が2周連続で再発する場合は
references/revision-guide.md
の「発散ガード」を参照。
既存文書のリライトでは、同じ種類の修正(見出しの結論化、箇条書きの地の文化など)を全項目へ一律に当てると、元の文書の自然な濃淡を消してかえってAI臭が増す。価値を足せる箇所だけを選んで直す原則は
references/revision-guide.md
の「改稿を一律に適用しない」を参照。
After reflecting the "revised" items in the ledger, re-run lint to check for new findings. Repeat steps 3-4 until all findings in the ledger are sorted and revisions do not generate new findings. If the same finding recurs for two consecutive rounds, refer to "Divergence Guard" in
references/revision-guide.md
.
When rewriting existing documents, uniformly applying the same type of correction (such as turning headings into conclusions, converting bullet points to plain text) will erase the natural tone variation of the original document and instead increase the AI-like tone. Refer to "Do Not Apply Revisions Uniformly" in
references/revision-guide.md
for the principle of only revising parts that add value.

6. 最終パス — 自己点検ループ

6. Final Pass — Self-Inspection Loop

lint と台帳が収束しても、それは既知のパターンが消えたことしか意味しない。最後に必ず、初見の読者として通読し、声に出して読むつもりでリズムを確かめる。手順は
references/revision-guide.md
の「自己点検ループ」を参照。違和感を見つけたら台帳に起こして5に戻り、なくなったら完了とする。
Even if lint and the ledger converge, it only means known patterns have been eliminated. Finally, be sure to read through the document as a first-time reader, and check the rhythm as if reading aloud. Refer to "Self-Inspection Loop" in
references/revision-guide.md
for procedures. If you find any discomfort, enter it into the ledger and return to step 5; if none, consider it complete.

7. 後片付け

7. Cleanup

完了したら、作業中に作った中間ファイル(台帳・lint の JSON・下書きのバックアップ等)をすべて削除する。ユーザーのプロジェクトに残してよいのは完成した文書と、ユーザーが明示的に望んだ場合の
style-profile.md
だけ。詳細は
references/revision-guide.md
の「作業ファイルの扱い」を参照。
After completion, delete all intermediate files created during work (ledger, lint JSON, draft backups, etc.). The only files you may leave in the user's project are the completed document and
style-profile.md
if the user explicitly requests it. Refer to "Handling Work Files" in
references/revision-guide.md
for details.

参考例

Reference Examples

before/after の具体例は
references/examples.md
を参照。
For specific before/after examples, refer to
references/examples.md
.