writing-beats について
固定された素材を、ユーザーが選ぶビートに沿って記事へまとめる執筆スキルです。概念を段階的に導入し、読者が追える構成を作ります。
主な機能
- 01読者の前提知識を設定
- 02複数の冒頭ビートを提示
- 03一度に一つのビートを執筆
- 04導入済み概念を追跡
- 05編集前にファイルを再読
活用シーン
- 01メモから記事を構成
- 02記事の導入方向を選択
- 03説明を順序立てて展開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ leandrocfe/ skills --skill writing-beatsインストール後、Claude Code で/writing-beatsを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
ユーザーは生の素材をまとめたMarkdownファイルを渡した(またはこれから渡します)。これはexploitです。素材の探索は終わっており、山は固定されています。ここから進む道筋を決め、素材を掘り起こして各ビートを埋めていきます。
記事の保存先をユーザーが指定していない場合は、一度だけ尋ね、指定されたパスを覚えておきます。
その後、ビートごとに進む、選択式アドベンチャーのような流れを作ります。
- 前提知識を確定します。 ビートに入る前に、読者がどんな知識を持って読み始めるか、つまり最初からgroundedな概念をユーザーと確認します。それ以外の概念は、後のビートで使う前に、先行するビートでgroundedにする必要があります。Groundingを参照してください。
- 生の素材から、開始ビートの候補を2~3個作成します。それぞれ記事への異なる入り口とします。各候補では、groundedな概念だけを使い、新たにどの概念をgroundedにするかを示します。記事ファイルに書き込む前に、候補をユーザーに提示します。ユーザーが1つ選びます。その選択によって進めるビートを、道筋を少し先まで見ているかのようにプレビューします。
- ユーザーが開始ビートを選んだら、そのビートだけを記事ファイルに書き込みます。ビートの長さは、そのビートに自然な形にします。1文でも、複数の段落でもかまいません。そこで止めます。
- 記事ファイルをディスクから読み直します。そのうえで、現在の記事から進める次のビート候補を2~3個提示します。それぞれ異なる方向に展開できるものとし、現在groundedな概念から到達可能である必要があります。各候補で新たにgroundedにする概念も示します。
- 記事が自然な終わりに達するまで、手順3~5を繰り返します。
Grounding
あらゆる概念は、ビートで使う前にgroundedにする必要があります。読者が最初から知っているか、前のビートで触れていなければなりません。groundedでない概念に頼るビートは、読者を置き去りにします。これだけは、この旅で避けなければならないことです。単位は言葉ではなく概念です。専門用語がなくても、読者が知らない考え方をビートが前提にしていることがあります。概念に名前、つまり用語がある場合、groundingでは概念と用語を一緒に定着させます。
概念をgroundedにする方法は2つあります。
- 前提知識 — 最初のビートより前にgroundedにします。読者が持ち込む知識であり、開始時に確定します。
- 導入 — ビートで概念を定着させ、その後はすべてのビートでgroundedな概念として扱います。
つまり、各ビートには2つの役割があります。すでにgroundedな概念を必要とし、新しい概念をgroundedにします。ここまでにgroundedになった概念を継続して記録し、ビートが着地するたびに更新します。
選択式アドベンチャーの形は、これによって決まります。候補となるビートは、必要な概念がすべてすでにgroundedである場合にのみ到達可能です。概念Xをgroundedにするビートを選ぶと、Xを待っていたすべてのビートが選択肢に加わります。次のビートを提示するときは、すべて現在のgroundedな概念から到達可能なものにし、それぞれが何をgroundedにするかを示して、ユーザーがどの道筋に進めるか分かるようにします。
重要なのは、何を前提知識とし、何を記事の中でgroundedにするかです。最初から多くを求めすぎると、必要な知識のない読者を締め出してしまいます。記事の中で多くをgroundedにしすぎると、冒頭のビートが定義ばかりで埋まってしまいます。前提知識を確定するときに、ユーザーと相談して決めてください。また、魅力的なビートに、まだgroundedにされていない概念が必要だと分かった場合にも、改めて検討します。その概念をgroundedにするビートを先に置くか、その概念を前提知識に加えるかのどちらかです。
ビートとは
ビートとは、旅の中の1つの展開です。場面を設定する、要点を提示する、問いを投げかける、余談を添える、視点をひねるなど、1つのことをします。そしてそこで止まり、次のビートが展開できる地点に読者を残します。
ビートの長さは、必要な内容に応じて決まります。
- その展開に1文あれば十分な場合は、1文だけです(「そして、その後3週間、何も起こりませんでした。」)。
- 展開に導入が必要な場合は、短い段落にします。
- 自己完結した情景、議論、例を描くビートなら、複数の段落にします。
「ビート」に5段落と3つの小見出しが必要なら、それはビートではありません。2つのビートをつなぎ合わせたものです。分割してください。
## 素材の山から取り出す素材の山から材料を取り出し、それぞれのビートを埋めます。言い換えたり、分割したり、組み合わせたり、引用したりできます。素材の山は採石場です。
旅の終わり
記事は旅が終わったときに完成します。素材の山が空になったときではありません。ほとんどの素材の山には、記事に使われない断片が残ります。それで問題ありません。必要以上の素材を用意するのは、そのためです。
執筆のリズム
- 一度にひとつのビートを追加します。先の分まで書いてはいけません。
- 書き込む前に、毎回ディスクから記事ファイルを読み直します。ユーザーの編集内容は必ずそのまま保持します。
- ユーザーが以前のビートを大幅に編集した場合は、その内容を後続の執筆に反映します。
- ユーザーが「そのビートを書き直して」や「戻って別のビート3を試して」と言った場合は、そのとおりにします。該当箇所を直接編集し、ほかの部分はそのままにします。