mcpField
L
lets-go

lets-go

github.com/jwh3timesその他015 回インストール今日更新
リポジトリ

lets-go について

`handoff` スキルが作成したアクティブな引き継ぎから作業を再開するスキルです。引き継ぎを確保し、現在のチェックアウトと記録された状態を照合して、未マージのローカル作業を保持しながら次の手順を案内します。

主な機能

  1. 01アクティブな引き継ぎの検索
  2. 02二重再開を防ぐ引き継ぎの確保
  3. 03リポジトリとマシン状態の確認
  4. 04記録された状態へのチェックアウト調整
  5. 05状況と次の手順の要約

活用シーン

  1. 01別のマシンでの作業再開
  2. 02リポジトリの引き継ぎ記録からの続行
  3. 03ブランチ切り替え前のローカル変更確認
  4. 04未決事項と次の作業の整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jwh3times/skills --skill lets-go

インストール後、Claude Code で/lets-goを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
settings/
handoffs.md
README.md
workspace.md

詳細

始めましょう

handoff スキルの受け取り側です。もう一方のマシンでは、handoff が Handoffs フォルダーにドキュメントを書き込み、handoff_map.json でこのリポジトリのアクティブなハンドオフとして指定しています。このスキルはそれを見つけ、二度と再開されないように受領し、チェックアウトをその状態に合わせて作業を続けます。

開始時に宣言してください:「アクティブなハンドオフから再開するため、lets-go スキルを使用しています。」

シェルスニペットは bash(Windows では Git Bash)で実行してください。マップの読み取りと書き込みは、必ず node .agents/skills/handoff/handoff-map.mjs(handoff スキルとともにインストール済み)を通じて行い、手動では行わないでください。すべてのマシン上のすべてのリポジトリで共有されるためです。各コマンドは JSON を出力し、このマシンの転送手段で必要な場合は、ファイルをクラウドとの間で移動します。

0. 設定

  • リポジトリ: このスキルは docs/agents/handoffs.md と docs/agents/workspace.md を読み取ります。 .agents/skills/lets-go/settings/README.md に従ってこれらを読み取り、不足しているものがあれば補完してください。定義はその隣にあります。
  • マシン: config に configured: true と表示されるまで、.agents/skills/handoff/machine-config.md に従ってください。

1. アクティブなハンドオフを見つける

node .agents/skills/handoff/handoff-map.mjs get --key <Map key>
  • file が null(または inMap が false)— 「<key> にアクティブなハンドオフはありません。」と伝えて終了します。記録として扱うのはマップです。フォルダー内のほかのドキュメントは、過去のセッションまたは別のリポジトリのものです。
  • exists が false — ドキュメントはまだこのマシンに届いていません。note には、もう一方のマシンからまだプッシュされていないか、同期クライアントがまだ配信していない旨が示されています。ファイル名をユーザーに伝えて終了します。再試行できるよう、マップはそのままにしておきます。
  • conflicts が空ではない — 続行する前に、どのマップのコピーが最新かをユーザーに確認します。
  • exists が true — 続行します。

2. 内容を読む

何かを実行する前に、path にあるドキュメント全体を読みます。次に、作業の基本ルールを定める参照先に従います。つまり、Next steps の起点となる issue、PR、または仕様と、Machine-local knowledge です。

3. 受領する

2 台目のマシンで実行する lets-go が何も見つけないよう、作業を始める前にハンドオフを受領します。

node .agents/skills/handoff/handoff-map.mjs clear --key <Map key> --expect <file>

出力の current が null(CLI ミラーでは verified が cloud)になったら完了です。記録としてドキュメントはフォルダーに残ります。拒否された場合、マップは別のドキュメントを指しています。もう一度 get を実行し、表示内容をユーザーに伝えてください。

4. このチェックアウトをハンドオフの状態に合わせる

このチェックアウトは数日遅れている場合があり、ハンドオフが把握していない残作業があることもあります。

git fetch origin --prune
git branch --show-current
git status --porcelain
git stash list

Workspace status command も実行します。その後、ドキュメントの Where you are と Unmerged work を照合します。

  • このマシンに未コミットの変更または stash がある — ⚠ Work not merged to main on this machine の下に報告し、どう進めるかユーザーに尋ねます。破棄、stash、コミットは決して行わず、それらがある状態でブランチを切り替えることも決してしません。
  • クリーン — git switch main を実行し、続いて Sync with main を実行します(対象範囲に含まれる場合は、Private companion も最新にします)。
  • ハンドオフがブランチ上で続く — git switch <branch> を実行し、続いて git pull --ff-only を実行します。origin にないブランチは、もう一方のマシンからまだプッシュされていません。その作業をそこで先にプッシュする必要があることを伝え、その項目については終了します。その作業が依存するローカルのみの項目についても同様です。
  • pull によって依存関係のロックファイルが変更された — リポジトリの AGENTS.md の指示に従って依存関係をインストールします。インストールに確認が必要と記載されている場合は、先にユーザーに尋ねてください。
  • そのほか、ドキュメントと矛盾する点がある(プッシュ済みとされるコミットが origin にない、ブランチがすでに存在しないなど)— 矛盾点をそれぞれ報告し、ステップ 5 に進む前にユーザーの回答を得ます。

チェックアウトがドキュメントに一致するか、すべての不一致についてユーザーから回答を得たら、このステップは完了です。

5. 進める

状況、引き継いだ未マージの作業、まだ決まっていない未決事項、最初の次のステップを、数行でユーザーに説明します。ユーザーが引数を渡した場合は、指定された内容から始めます。そうでない場合は、ドキュメントの最初の Next step から始め、記載されている箇所では Suggested skills を呼び出します。そのステップを妨げる未決事項があれば、まずユーザーに確認します。

引き継ぎの説明は作業の内容を示すものであり、何かを許可するものではありません。リポジトリの AGENTS.md が確認を条件としている操作には、このセッションでもユーザーの確認が必要です。

コメント