semantic-line-breaks について
semantic-line-breaksは、`specs/`や`doc/`内のMarkdown本文を編集するためのライティングスキルです。意味に沿って改行し、本文を1行80文字以内に保つことで、表示結果を変えずに差分を読みやすくします。
主な機能
- 01意味のまとまりに沿って改行
- 02本文を1行80文字以内に維持
- 03Markdownの表示結果を保持
- 04コードや表の中では改行しない
- 05自動整形ではなく手作業での編集を案内
活用シーン
- 01`specs/`内のMarkdown本文を編集
- 02`doc/`配下のドキュメントを修正
- 03文単位の変更をレビューしやすくする
- 04意味を保ちながら長い段落を整える
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aircury/ ai-framework --skill semantic-line-breaksインストール後、Claude Code で/semantic-line-breaksを入力して読み込まれたか確認します。
詳細
Markdown の意味的な改行
specs/ または doc/ 配下の .md ファイルで文章を作成または編集する場合、
段落にとって意味的に適切な場合(異なる考え、要件、またはレビュー可能な単位)
に限り、ピリオドの後で改行してください。また、改行後の行が以下の上限に
収まる場合に限ります。
ピリオドがあれば必ず改行するわけではありません。略語、小数、バージョン番号、 その他の文末ではないピリオドは同じ行に置きます。ひとまとまりとして読める 文は、同じ行にまとめる場合もあります。
主要な節の区切り(;、:、em ダッシュの後、または長い補足説明の前)で
さらに改行してもかまいません。
この慣習は意味的な改行(「通気性のある文章」または「意味的な改行」 とも呼ばれます)として知られています。 標準的な説明は https://sembr.org を参照してください。
行の長さ(80 文字)
対象となる文章のすべての行は、スペースや先頭のインデント (リストの継続行など)を含めて、80 文字以下でなければなりません。
文や節が1行に収まらない場合は、自然な区切り(節、句、単語の順)で ソフト改行を加え、どの行も80文字を超えないようにしてください。
短い文は1行に収め、長い文はこの上限内で複数行にします。
人の判断のみ(スクリプトは禁止)
ピリオドの後にどこで改行するかは、句読点だけではなく、意味や文脈、 レビュー時の段落の読みやすさに基づいて決めます。
このルールを自動スクリプトで正しく適用することはできません
(フォーマッター、正規表現による再折り返し、fmt ツール、
一括の「行の長さ修正」ジョブなど)。
エージェントと作成者は文章を読んで改行位置を決めなければなりません。
specs/、doc/、または README ファイル全体を自動で再折り返ししないでください。
また、そのような一括処理を提案しないでください。
理由
Markdown では、空行で区切られていない連続した行は、レンダリング時に
1つの段落として結合されます(CommonMark / GFM ではソフト改行はスペース1つ
として扱われます)。
レンダリング結果は変わりません。
変わるのは差分です。1文の編集が、500文字の段落を折り返し直した差分ではなく、
1行の差分として表示されるため、PR レビューや git blame が読みやすく保たれます。
80文字の上限により、レンダリングされる HTML を変えることなく、 エディターやレビュー UI で読みやすい行を維持できます。
既存の段落を編集する場合
編集対象の段落が、複数の文を含む長い1行になっている場合は、変更対象でない文も
含めて、意味的な改行と80文字の上限に沿って段落全体を手作業で再折り返し
してください。
ピリオドごとに判断し、意味やレビューに役立つ場合に限って改行します。
. のたびに機械的に分割しないでください。
これは一度限りの作業です。それ以降、その段落の差分は常に読みやすく保たれます。
このルールが適用されない箇所
次の箇所では、文の途中に改行を挿入しないでください。
- フェンス付きコードブロックまたはインラインコードスパン。
- 表(各行は1行のままにします)。
- リンク参照定義。
- YAML フロントマター。
- 生の HTML ブロック。
リスト項目の文章にも80文字のルールが適用されます。必要に応じて項目内の文ごとに 改行し、継続行は項目の本文の開始位置に合わせてインデントしてください。
段落はこれまでどおり、空行で区切ります。
強制改行(末尾のスペース2つ)
レンダリング後の1つの段落内で表示上の改行が必要な場合
(住所の行や、ラベルの後に詳細を次の行に置く場合など)は、改行の前に
スペースを正確に2つ置いてください。
手書きの doc/ の文章では、末尾のスペースを1つ、3つ以上置いたり、
末尾に <br> タグを使ったりしないでください。
末尾のスペース2つは強制改行として解釈されます。make doc-validate は
その他の形式を拒否します。
例
悪い例 — 4つの文が1行にあり、編集のたびに全体が折り返されます。
The widget SHALL appear in the sidebar. It SHALL be hidden for guests. Administrators SHALL be able to pin it to the top. Pinning SHALL persist across sessions.
良い例 — レンダリングされる段落は同じで、文ごとに差分が分かれ、 各行は80文字以下です。
The widget SHALL appear in the sidebar.
It SHALL be hidden for guests.
Administrators SHALL be able to pin it to the top.
Pinning SHALL persist across sessions.
1つの文が1行に収まらない場合は、さらに改行してください (Markdown のソフト改行)。
This requirement SHALL describe a long policy that would exceed one hundred characters if
kept on one line, so it continues here without exceeding the limit.