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

project-ledger(プロジェクト台帳)

プロジェクト構造解析とAIエージェント向け開発ログ管理 — プロジェクト初期化+ドキュメント生成を行います。

project-ledger(プロジェクト台帳) とは?

project-ledgerは、プロジェクトオンボーディング(project-onboard)とプロジェクト文書管理(project-docs)を統合したAIエージェントスキルです。プロジェクトの構造を解析し、AGENTS.md、PROJECT_STATE.md、DEVLOG.mdの3文書システムを自動生成・保守します。対応するプロジェクトタイプは、Unreal Engine、Unity、Node.js、Pythonなど多岐にわたり、プロジェクトタイプに応じたテンプレートを自動選択します。初期化時には言語をユーザーに問い合わせ、任意の言語で文書を出力可能です。更新時には、各文書の範囲を厳守し(AGENTS.mdは全体アーキテクチャ、PROJECT_STATE.mdは詳細パラメータと状態、DEVLOG.mdは時系列ログ)、一貫性チェックを実施します。これにより、AIエージェントがプロジェクトの全体像・現在のタスク状況・開発履歴を把握し、適切な意思決定とコード生成を行うための基盤を提供します。

対応~Claude Code~Codex CLI~Cursor
npx skills add Zions-store/project-ledger

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

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

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

ドキュメント

Copyright (C) 2026 ZionXiaoxiSuOGLocGo SPDX-License-Identifier: GPL-3.0-or-later

project-docs

3文書からなるプロジェクト知識体系を作成・維持します。project-onboard が検出するすべてのプロジェクトタイプをサポートし、プロジェクトタイプに応じて適切なテンプレートを自動選択します。

3文書体系

ファイル目的更新頻度
AGENTS.mdプロジェクト概要:識別情報、ディレクトリ構造、クラスアーキテクチャ、エントリポイント、依存関係、メモマイルストーンごと(新しいファイル/クラスが約3〜5個)
PROJECT_STATE.md生きたドキュメント:全クラス/ソース一覧(パラメータ付き)、設定、モジュールマップ、システムフロー、完了/ToDoリストセッション終了ごと
DEVLOG.md開発ログ:時系列エントリ—何を行ったか、なぜ行ったか、学んだこと1日ごと、または機能マイルストーンごと

更新トリガー、コンテンツ境界、一貫性チェックの詳細なルールについては maintenance-spec.md を参照してください。

テンプレート選択

テンプレートは project-onboard のルールパックと同じ自動発見パターンに従います。このスキルは templates/<type>/PROJECT_STATE.md.tmpl をロードしようと試みます。ここで <type> は AGENTS.md のBasic InformationにあるType値を小文字にしたものです。タイプ固有のテンプレートが存在しない場合は、templates/PROJECT_STATE.md.tmpl にフォールバックします。

templates/<type>/PROJECT_STATE.md.tmpl が存在する? → 使用する
                                         存在しない → templates/PROJECT_STATE.md.tmpl を使用(汎用フォールバック)

新しいエンジンやフレームワークのサポートを追加するには:templates/<type>/PROJECT_STATE.md.tmpl を作成してください。コードの変更は不要です。スキルが自動的に発見します。

すべてのタイプで共通の templates/DEVLOG.md.tmpl を使用します(プロジェクトタイプに依存しません)。

AGENTS.md → PROJECT_STATE.md フィールドマッピング

AGENTS.md のデータから PROJECT_STATE.md を事前入力する場合は、次のマッピングを使用します。

AGENTS.md セクションAGENTS.md フィールドSTATE テンプレートセクションSTATE プレースホルダー
Basic InformationType, Language, Framework/Engine, Key Dependencies§1 プロジェクト情報{{PROJECT_TYPE}}, {{LANGUAGE}}, {{FRAMEWORK}}, {{KEY_DEPENDENCIES}}
Basic InformationEngine(ゲームプロジェクトの場合)§1 プロジェクト情報{{ENGINE_VERSION}}
Directory Structureディレクトリと説明§2 ディレクトリ構造{{DIRECTORY_TREE}}(汎用)または Source/{{MODULE_NAME}}/...(UE)
Core Architecture主要ファイル/クラスとその役割§3 ソース/スクリプト一覧{{CLASS_NAME}}, {{RESPONSIBILITY}}, {{FILE_NAME}}
Dependenciesパッケージ概要§4 設定 / §7 依存関係{{CONFIG_KEY}}, {{DEP_NAME}}(コンテキスト依存)
Build & Runビルド/テストコマンド§9 ビルドと実行{{BUILD_CMD}}, {{RUN_CMD}}, {{TEST_CMD}}
Entry Points起動ファイル/シーンとその役割§1 プロジェクト情報(モジュール){{MODULE_NAME}}

非英語出力の場合: セクションヘッダー、ラベル、プレースホルダーの説明は翻訳しますが、{{プレースホルダー}} マーカーはそのまま保持してください。

このスキルを使用するタイミング

  • ユーザーが「プロジェクトドキュメントを初期化して」「init project docs」「建立文档体系」「project-docs」などと言った場合
  • 新しいプロジェクトに PROJECT_STATE.md と DEVLOG.md が必要な場合
  • 既存プロジェクトに AGENTS.md はあるが、他の2文書が不足している場合
  • ユーザーがセッション後にプロジェクトの状態更新を依頼した場合

ワークフロー

1. 初期化(新規プロジェクト / 不足文書がある場合)

  1. ドキュメントを生成する言語をユーザーに確認します。ユーザーがスキップしたり「どちらでもよい」と言った場合は、デフォルトの英語を使用します。LLMが出力可能な任意の言語をサポートしています。エージェントが生成時に翻訳を処理します:

    「プロジェクトドキュメントはどの言語で作成しますか? デフォルト:英語。LLMが出力可能な任意の言語をサポートしています。」

  2. AGENTS.md が存在するか確認します。

    • 存在しない場合: 最初に project-onboard スキルを実行して AGENTS.md を生成するよう提案します。ここで停止します。
    • 存在する場合: AGENTS.md を読み込み、以下を抽出します:
      • プロジェクト名
      • Type(Basic Informationから取得 — 例:「unreal」「unity」「nodejs」「python」)
      • コアアーキテクチャ(クラス、ファイル、役割)
  3. テンプレートを検出: 抽出したType(小文字)に基づき、タイプ固有のテンプレートを読み込もうとします。一致するものがなければ汎用テンプレートにフォールバックします:

    • 最初に templates/<type>/PROJECT_STATE.md.tmpl を試行
    • そのファイルが存在しない場合は templates/PROJECT_STATE.md.tmpl(汎用)を使用
  4. 選択したテンプレートから PROJECT_STATE.md を生成:

    • 上記のフィールドマッピングテーブルを使用して、§1〜§3を AGENTS.md のデータで事前入力します。
    • 残りのセクションは、将来の更新に備えてプレースホルダー構造のままにします。
  5. templates/DEVLOG.md.tmpl から DEVLOG.md を生成:

    • プロジェクト名を入力します。
    • エントリテンプレートは、最初の開発ログエントリの準備ができた状態にします。
  6. 以下のブロックを AGENTS.md の先頭、# プロジェクト名 見出し行の直後(ただし残りのコンテンツの前)に追加します:

    ## 最初に読むこと
    
    1. `PROJECT_STATE.md` — 現在のタスク状況とToDo項目(§10)を読む
    2. `DEVLOG.md` — 最近の開発履歴を読む
    
    ---
    
  7. 作成したもの、使用したテンプレート、使用言語を報告します。

2. 更新(既存の文書がある場合)

  1. PROJECT_STATE.md を読み込む → §10のToDoリストを特定
  2. 完了したことや変更点をユーザーに確認
  3. 影響を受けるセクションを更新:
    • §1〜§2:プロジェクト情報またはディレクトリ構造が変更された場合
    • §3:新しいクラス、ファイル、または主要メンバー
    • §4:設定変更(ブループリントプロパティ、プレハブ設定、または汎用設定)
    • §5:入力バインディング、アクションマッピング、またはモジュール/パッケージの変更
    • §6:システムロジック、アーキテクチャフロー、またはゲームシステムの変更
    • §7:シーン/レベル設定または外部サービスの変更
    • §8:数値パラメータの変更
    • §9:ビルドの問題、新しいコンパイルエラー、またはコマンドの変更
    • §10:常に更新 — 完了リスト、ToDoリスト、既知の問題
  4. DEVLOG.md にエントリを追記(maintenance-spec.md の形式に従う)
  5. アーキテクチャが変更された場合(新しいクラス、プラグイン、ディレクトリ)→ AGENTS.md を更新

3. 一貫性チェック

更新後、以下を確認します:

  • AGENTS.mdとPROJECT_STATE.mdの間でデータの重複がないこと(アーキテクチャ概要 vs パラメータ詳細)
  • AGENTS.mdのディレクトリ構造エントリには、PROJECT_STATE.mdに対応するエントリがすべて存在すること
  • PROJECT_STATE.md §8のパラメータ値が実際のソースのデフォルト値と一致していること(例:.h のデフォルト値、設定ファイルの値、BP CDOのオーバーライド)
  • PROJECT_STATE.md §10のToDoリストがDEVLOG.mdの最新エントリと矛盾していないこと(DEVLOGで完了とされている場合、STATEも一致しているべき)
  • 3つの文書間で情報の重複がないこと(1つの事実は1か所のみ)

テンプレート

テンプレートはプロジェクトタイプによって自動発見されます。ハードコードされたマッピングテーブルはありません。ディレクトリは project-onboard の参照構造を反映しています:

templates/
├── DEVLOG.md.tmpl              ← すべてのタイプ(汎用)
├── PROJECT_STATE.md.tmpl       ← フォールバック(汎用)
├── unreal/PROJECT_STATE.md.tmpl     ← Unreal Engine
└── unity/PROJECT_STATE.md.tmpl      ← Unity

templates/<type>/PROJECT_STATE.md.tmpl ファイルはオプションです。スキルはAGENTS.mdのTypeに一致するものを読み込もうとし、存在しない場合はルートの汎用テンプレートを使用します。

新しいタイプの追加: templates/<type>/PROJECT_STATE.md.tmpl をタイプ固有のセクションと共に作成します。スキルは次の実行時に自動的に発見します。コードの変更は不要です。

ルール

  • 既存ファイルを上書きしない。文書が存在する場合は、その場で更新します。
  • コンテンツの境界を尊重する: AGENTS.md = アーキテクチャ概要。PROJECT_STATE.md = パラメータ詳細+状態。DEVLOG.md = 時系列の説明。
  • メンテナンス仕様: 正確な更新トリガー、コンテンツ境界、禁止事項については maintenance-spec.md を参照してください。
  • STATE/DEVLOG内のプロジェクト固有のパス/クラス名は想定されています。これらはプロジェクト文書であり、再利用可能なマニュアルではありません。

関連スキル