mcpField
C
continuity-ledger

continuity-ledger

github.com/parcadeiエージェントワークフロー3.9k511 回インストール39 週間前に更新
リポジトリ

continuity-ledger について

continuity-ledgerは、コンテキストをクリアした後もセッションの状態を引き継ぐYAMLドキュメントを作成するスキルです。指定されたファイル名とメタデータ形式に従い、/create_handoffの別名として機能します。

主な機能

  1. 01YAML形式のセッション引き継ぎ作成
  2. 02直近の引き継ぎフォルダー名を再利用
  3. 03目標、状態、調査結果、次の手順を記録
  4. 04固定メタデータ形式に準拠
  5. 05/create_handoffの別名

活用シーン

  1. 01セッションをクリアする前に作業状態を保存
  2. 02新しいセッションで複数日にわたる実装を再開
  3. 03複雑な作業の決定事項と次の対応を記録

インストール

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

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill continuity-ledger

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

詳細

Continuity Ledger

**注記:**このスキルは現在、/create_handoff のエイリアスです。どちらも同じ YAML 形式で出力します。

/clear をまたいで状態を保持するための YAML ハンドオフドキュメントを作成します。これは /create_handoff と同じです。

プロセス

1. ファイルパスとメタデータ

まず、既存のハンドオフからセッション名を特定します:

ls -td thoughts/shared/handoffs/*/ 2>/dev/null | head -1 | xargs basename

これにより、最も更新日時の新しいハンドオフフォルダー名が返されます(例:open-source-release)。これをハンドオフフォルダー名として使用します。

ハンドオフが存在しない場合は、フォルダー名に general を使用します。

ファイルの作成先: thoughts/shared/handoffs/{session-name}/YYYY-MM-DD_HH-MM_description.yaml。ここで:

  • {session-name} は既存のハンドオフから取得します(例:open-source-release)。存在しない場合は general を使用します
  • YYYY-MM-DD は今日の日付です
  • HH-MM は現在時刻を24時間形式で指定します(秒は不要です)
  • description は簡潔なケバブケースの説明です

例:

  • thoughts/shared/handoffs/open-source-release/2026-01-08_16-30_memory-system-fix.yaml
  • thoughts/shared/handoffs/general/2026-01-08_16-30_bug-investigation.yaml
2. YAML ハンドオフを作成する(約400トークン)

重要:この YAML 形式を正確に使用してください。変更したり、別のフィールド名を使用したりしないでください。

goal: フィールドと now: フィールドはステータスラインに表示されます。名前は必ずこのとおりにしてください。

---
session: {session-name from ledger}
date: YYYY-MM-DD
status: complete|partial|blocked
outcome: SUCCEEDED|PARTIAL_PLUS|PARTIAL_MINUS|FAILED
---

goal: {What this session accomplished - shown in statusline}
now: {What next session should do first - shown in statusline}
test: {Command to verify this work, e.g., pytest tests/test_foo.py}

done_this_session:
  - task: {First completed task}
    files: [{file1.py}, {file2.py}]
  - task: {Second completed task}
    files: [{file3.py}]

blockers: [{any blocking issues}]

questions: [{unresolved questions for next session}]

decisions:
  - {decision_name}: {rationale}

findings:
  - {key_finding}: {details}

worked: [{approaches that worked}]
failed: [{approaches that failed and why}]

next:
  - {First next step}
  - {Second next step}

files:
  created: [{new files}]
  modified: [{changed files}]

各フィールドの説明:

  • goal: + now: - 必須。ステータスラインに表示されます
  • done_this_session: - ファイル参照を含む、今回のセッションで完了した内容
  • decisions: - 重要な選択とその根拠
  • findings: - 重要な学び
  • worked: / failed: - 繰り返すこと/避けること
  • next: - 次のセッションでのアクション項目

session_goal、objective、focus、current などの代替フィールド名は使用しないでください。 ステータスラインのパーサーが認識するのは正確に goal: と now: だけです。それ以外は機能しません。

3. セッション結果を記録する(必須)

重要:ユーザーに応答する前に、必ずセッションの結果を確認してください。

AskUserQuestion ツールを使い、次の選択肢を正確に指定してください:

Question: "How did this session go?"
Options:
  - SUCCEEDED: Task completed successfully
  - PARTIAL_PLUS: Mostly done, minor issues remain
  - PARTIAL_MINUS: Some progress, major issues remain
  - FAILED: Task abandoned or blocked

ユーザーの回答後、結果を記録します:

# Mark the most recent handoff (works with PostgreSQL or SQLite)
PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || echo "${CLAUDE_PROJECT_DIR:-.}")
cd "$PROJECT_ROOT/opc" && uv run python scripts/core/artifact_mark.py --latest --outcome <USER_CHOICE>
4. 完了を確認する

結果を記録した後、ユーザーに応答します:

Handoff created! Outcome marked as [OUTCOME].

Resume in a new session with:
/resume_handoff path/to/handoff.yaml

使用するタイミング

  • /clear を実行する前
  • コンテキスト使用量が70%以上に近づいているとき
  • 複数日にわたる実装
  • 複雑なリファクタリングを中断・再開するとき
  • コンテキスト使用量が85%以上になると予想されるセッション

使用しないタイミング

  • 短時間の作業(30分未満)
  • 簡単なバグ修正
  • 1ファイルのみの変更

なぜコンパクト化ではなくクリアするのか?

コンパクト化のたびに情報は不可逆的に圧縮され、何度か繰り返すと、劣化したコンテキストで作業することになります。クリアしてハンドオフを読み込めば、重要な情報を完全に保った新鮮なコンテキストで作業できます。

コメント