Communityライティング&編集github.com

sighworld/low-context-memory

コンテキストウィンドウの使用を最小限に抑える軽量なCodexスキル。プロジェクトの状態を構造化ファイル(conductor/ + daily logs)に永続化し、冪等なセットアップスクリプト、簡潔な進捗/決定テンプレート、チェックポイントワークフローを提供することで、最小限のチャット履歴でセッション間の作業再開を可能にします。

low-context-memory とは?

このスキルは、AIアシスタント(特にCodex)のコンテキストウィンドウの枯渇問題を解決するために設計されています。プロジェクトの状態を`conductor/`ディレクトリと日次ログファイルに構造化して保存することで、各セッション開始時に過去のチャット履歴をすべて読み込む必要がなくなります。主な機能として、冪等なセットアップスクリプト(`setup.sh`)、簡潔な進捗テンプレート、意思決定のログテンプレート、チェックポイントワークフローを提供します。これにより、開発者は複数のセッションにわたってシームレスに作業を再開でき、コンテキスト制限に悩まされることなく長期間のプロジェクトを効率的に管理できます。特に、大規模なコードベースや長期プロジェクトにおいて、AIアシスタントの応答品質を維持しながら、作業の継続性を確保するのに役立ちます。

対応~Claude Code✓Codex CLI~Cursor
npx skills add sighworld/low-context-memory

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

low-context-memory は何をしますか?

コンテキストウィンドウの使用を最小限に抑える軽量なCodexスキルです。プロジェクトの状態を構造化ファイル(conductor/ + 日次ログ)に永続化します。冪等なセットアップスクリプト、簡潔な進捗/決定テンプレート、チェックポイントワークフローを提供し、最小限のチャット履歴でセッション間の作業再開を可能にします。

はじめに

このスキルは、以下の問題を解決します:

  • コンテキストウィンドウの枯渇: 長時間のセッションや大きなファイルでコンテキストが消費される
  • セッション間の状態喪失: 会話ごとにプロジェクト状態を再説明する必要がある
  • 非構造化された進捗: 決定事項や作業ログがチャット履歴に埋もれる

セットアップ

  1. プロジェクトのルートにconductor/ディレクトリを作成します(このスキルは自動的に作成します)
  2. setup.shを実行して必要なファイル構造を初期化します:
    chmod +x setup.sh && ./setup.sh
    
  3. 以下のファイルが作成されます:
    • conductor/STATE.md - 現在のプロジェクト状態
    • conductor/PROGRESS.md - 進捗ログ
    • conductor/DECISIONS.md - アーキテクチャ/設計上の決定
    • conductor/TASKS.md - 現在のタスク一覧
    • 日次ログファイル(例: daily-logs/2025-03-20.md)

使用方法

セッション開始時

コンテキストを読み込むには:
1. `cat conductor/STATE.md` で現在の状態を確認
2. `cat conductor/PROGRESS.md` で最新の進捗を確認
3. 最新の日次ログを確認:
   ls -t daily-logs/*.md | head -1 | xargs cat
4. 再開可能なタスクを `cat conductor/TASKS.md` で確認

進捗更新

タスクを完了したら:
1. 日次ログにエントリを追加(`daily-logs/YYYY-MM-DD.md`)
2. `conductor/PROGRESS.md` の対応するセクションを更新
3. 必要に応じて `conductor/TASKS.md` のタスクを完了としてマーク
4. 決定事項がある場合は `conductor/DECISIONS.md` に記録

チェックポイント

チェックポイントを作成するには:

# チェックポイントコマンド(例)
cp conductor/STATE.md conductor/checkpoints/state-$(date +%Y%m%d-%H%M%S).md

チェックポイントから復元するには:

# 最新のチェックポイントを復元
cp $(ls -t conductor/checkpoints/*.md | head -1) conductor/STATE.md

ファイル構造

<project-root>/
├── conductor/
│   ├── STATE.md           # 現在のプロジェクト状態
│   ├── PROGRESS.md         # 進捗ログ
│   ├── DECISIONS.md        # 設計上の決定
│   ├── TASKS.md            # タスク一覧
│   └── checkpoints/        # 状態のスナップショット
├── daily-logs/
│   └── YYYY-MM-DD.md       # 日次ログ
├── setup.sh                # セットアップスクリプト(冪等)
└── README.md               # このファイル

テンプレート

日次ログテンプレート

# YYYY-MM-DD 日次ログ

## 進捗
- [ ] タスク1: 説明
- [ ] タスク2: 説明

## 決定事項
- 決定1: 説明

## 注意事項
- 注意点や気づき

決定ログテンプレート

## YYYY-MM-DD: 決定タイトル

- **コンテキスト**: なぜこの決定が必要か
- **選択肢**: 検討した選択肢
- **決定**: 選んだ選択肢とその理由
- **影響**: この決定の影響

ベストプラクティス

  1. 定期的な更新: 各タスク完了後またはセッション終了時に状態ファイルを更新する
  2. 簡潔なエントリ: 各エントリは数行に収め、詳細はコードやコメントに委ねる
  3. 冪等な更新: 状態ファイルは常に現在の状態を正確に反映する
  4. チェックポイント: 重要なマイルストーンではチェックポイントを作成する
  5. 日次ログ: 1日1ファイルに固執し、過度なファイル分割を避ける

トラブルシューティング

  • 状態ファイルが古い: conductor/ 内の全ファイルが最新であることを確認
  • コンテキスト不足: conductor/STATE.md と最新の日次ログのみを読み込む
  • 競合する更新: チームで作業する場合、変更前に状態ファイルを読み込むことを徹底する

関連スキル