Handoff は何をしますか?
作業セッションを終了し、ディスクにファイルを書き込みます。そのファイルを次のセッションが読み込むことで、中断した場所から正確に再開できます。/compact の代わりに使用し、一緒には使わないでください。
なぜ /compact ではないのか
/compact は要約を書き出すために会話全体を再読し、その後履歴をその要約で置き換えます。プレフィックスが変わり、すでに構築されていたキャッシュが無効になり、以後すべてのターンでそのキャッシュが40ターン分の要約の上に再構築されます。これは節約にはならず、継続性のためにコストを支払っているのです。
handoffファイルは、以下の3つの点で逆の効果をもたらします。
- コストが低い。 ファイルは書き込み・読み込みともに数百トークン程度で、新しいセッションは小さくてクリーンなプレフィックスから再開します。
- ユーザーが何を残すかを選べる。
/compactは自動的に判断し、最も価値のあるもの(試したけどうまくいかなかった道筋)を捨ててしまいます。どんな自動要約もそれらを保存しません。 - ディスクに残る。 同じ作業に関する3つ目のセッションは、1つ目と2つ目のセッションで何をしたかを知ることができます。compactはそのセッション内で生きて死にます。
手順
1. 自分で再構成し、見えることを尋ねない。 何が触れられたか、何を試したか、何が失敗したかとその理由、どのような決定が下されたか、どこで止まったか — これらはすべて会話の中にあります。gitリポジトリの場合は git status --short と git log --oneline -5 を追加してください。
2. 自分で推論できない2つの穴だけを尋ねる。 それは「目的」(何を構築しているのか、そしてなぜか — 今日やったことではない)と「望ましい次のステップ」(必ずしも自明な次のステップとは限らない)です。もしこれらが欠けている場合、1つの質問で あなたの仮説をすでに含めて尋ね、「はい」と答えられるようにしてください。それ以外は一切尋ねません。セクションが空の場合は「なし」と書き、先に進みます。解決済みの問題をでっち上げることはしません。
3. 保存場所を決定する。 コードリポジトリの場合は: docs/handoff/{YYYY-MM-DD}-{slug}.md。vaultやノートフォルダ(このプロジェクト il-tuo-os 自体のように)の場合は、作業が属するプロジェクト内の handoffs/ フォルダ。{slug} は日付ではなく作業を表す2〜3語です。同じスラッグのhandoffが既に存在する場合、上書きしないでください: 新しいファイルは seq フィールドをインクリメントし、以前のhandoffを prev に設定し、チェーンが逆向きに読めるようにします。
4. ファイルを書く — 次のfrontmatter(type: handoff、date、status、seq、prev、tags)と、以下のセクションをこの順序で含めてください。
- 目的: 何を構築しているのか、そしてなぜか。2〜3行で、理由を含めて。
- 現在の状態: 実際の現状。動作しているもの、中途半端なもの、未着手のもの。
- 試したがうまくいかなかったこと: ファイルの中で最も重要なセクション。却下されたすべての道筋とその理由。次のセッションでそれを最初からやり直すのを防ぐため。
- 遭遇した問題とその解決方法: 再発しそうな問題のみ。症状、原因、修正。
- 下した決定: 選択したことと却下したこと、その理由を1行で。却下された代替案のない決定は、1週間後にゼロから再議論されます。
- 触れたファイル: パスと、各ファイルで何が変わったかについての1行。
- 次に進む方向: 次のステップを命令形で書く。さらにその後がすでに明確なら、それも。
- 何かに触れる前に知っておくべきこと: 罠、特定の方法で実行する必要があるコマンド、壊れているように見えて壊れていないもの。なければ「なし」。
5. チャットに再開用の行を出力して終了する — 新しいセッションに貼り付け可能な形で: {パス} を読んで、「次に進む方向」から再開してください。 さらに、この時点で /clear を実行できること、再開にはそのファイルだけで十分であることを伝える行も追加してください。
使用すべきでない場合
常に使うスキルは、でたらめに使うスキルです。
- 継続性のないタスクの切り替え →
/clear、handoffは不要です。 - 直近のターンで間違った道へ進んだ →
/rewindで、キャッシュがすでに知っているポイントに戻ります。 - 間もなく再開し、間に更新がない場合 →
/renameと/resume。 - 作業が別の日や別の週に続く場合 → このスキル。
このスキルはユーザーの代わりに /clear を実行しません。提案するだけです。