mcpField
C
chatcrystal-task-writeback

chatcrystal-task-writeback

github.com/zengliangyiエージェントワークフロー6154 回インストール5 日前に更新
リポジトリ

chatcrystal-task-writeback について

ChatCrystal Core 向けの作業後メモリ書き戻しワークフローです。再利用できる知見が得られた重要な作業を対象とし、候補を審査したうえで、スキップ、統合、作成を Core に委ねます。

主な機能

  1. 01長期的に役立つ成果のみを書き戻す
  2. 02結果種別に応じて必須項目を確認
  3. 03自動書き戻しに実行キーを要求
  4. 04ツール不在時は構造化候補を出力

活用シーン

  1. 01原因と解決策を含む再利用可能な修正を記録
  2. 02将来の作業向けに設計判断やパターンを保存

MCP 対応

完全なワークフローには ChatCrystal Core と MCP ツール write_task_memory が必要です。自動・手動モード、メモリ項目、書き戻し結果の正確な報告方法を定めています。

インストール

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

$npx skills add https://github.com/zengliangyi/chatcrystal --skill chatcrystal-task-writeback

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

同梱ファイルagents/openai.yaml

詳細

ChatCrystal タスクの書き戻し

意味のある作業が完了した後に、このスキルを使用します。メモリをスキップ、統合、または作成するかどうかは、ChatCrystal Core に判断させてください。

ワークフロー

  1. 実質的な作業が完了し、その結果から再利用可能な知識が得られた場合にのみ実行します。
  2. 適切な候補には、次のようなものがあります。
    • 長期的に有効な修正
    • 重要な落とし穴
    • 再利用可能なパターン
    • 明示的なエンジニアリング上の決定

品質ゲートの事前確認

write_task_memory を呼び出す前に、候補が作業ログではなく、経験に基づく知見であることを確認します。

次の場合は write_task_memory を呼び出さないでください。

  • 要約が変更内容を述べているだけで、なぜ重要なのかを説明していない。
  • 明確な問題、決定、落とし穴、解決策、または再利用可能なパターンがない。
  • 今後の作業に役立つ、長期的に有効な教訓が得られていない。

memory.outcome_type ごとに必要なフィールド:

  • fix:root_cause または resolution を含めます。
  • pitfall:pitfalls と resolution または reusable_patterns を含めます。
  • decision:decisions を含めます。
  • pattern:reusable_patterns を含めます。

memory.summary は、「自分が X を行った」という形式ではなく、長期的に有効な経験上の結論として記述します。 自動書き戻しには source_run_key が必要です。これがない場合は、手動メモリを黙って書き込むのではなく、後で保存できる構造化候補を出力します。

  1. write_task_memory が利用可能で、ランタイムに安定した実行キーまたはセッションキーがある場合は、次の項目を指定して呼び出します。
    • mode: "auto"
    • source_run_key:安定した実行キーまたはセッションキー
    • task.goal、task.task_kind、task.project_dir、task.cwd、task.branch
    • 判明している場合は task.source_agent
    • memory.summary:簡潔で長期的に有効な内容とし、くだけた表現は避けます
    • memory.outcome_type:pitfall、fix、pattern、decision のいずれか
    • 関連する場合は memory.root_cause、memory.resolution、memory.error_signatures、memory.files_touched、memory.tags
  2. mode: "manual" は、明示的な手動保存フローでのみ使用します。自動書き戻しの暗黙の代替手段として使用してはいけません。
  3. プロジェクト単位の知識をデフォルトとします。グローバルスコープは、明らかに複数のプロジェクトにまたがる知識に限り、明示的な手動保存フローでのみ使用します。
  4. 保存結果を正確に報告します。
    • created
    • merged
    • skipped

MCP 入力の例

安定した実行キーがある状態でタスクを完了した後に write_task_memory を呼び出す場合は、次の形式を使用します。

{
  "mode": "auto",
  "source_run_key": "agent-session-or-run-id",
  "scope": "project",
  "task": {
    "goal": "Fix MCP recall schema validation",
    "task_kind": "debug",
    "project_dir": "/path/to/project",
    "cwd": "/path/to/project",
    "branch": "fix/mcp-recall-schema",
    "files_touched": [
      "server/src/services/memory/schemas.ts",
      "server/src/cli/mcp/server.ts"
    ],
    "error_signatures": [
      "invalid_type",
      "recall_for_task schema mismatch"
    ],
    "source_agent": "codex"
  },
  "memory": {
    "summary": "MCP tool schemas must stay aligned with memory service request shapes; mismatches surface as validation failures before tool execution.",
    "outcome_type": "fix",
    "root_cause": "The MCP tool input shape diverged from the service schema.",
    "resolution": "Reused the shared request shape in the MCP server registration.",
    "files_touched": [
      "server/src/services/memory/schemas.ts",
      "server/src/cli/mcp/server.ts"
    ],
    "tags": [
      "mcp",
      "memory-loop",
      "schema"
    ]
  }
}

フルモード

フルモードには、ChatCrystal Core と write_task_memory への MCP アクセスが必要です。

  • スキル内でスキップまたは統合のロジックを再実装しないでください。
  • メモリをスキップ、統合、または作成するかどうかは、Core の判断に委ねます。
  • ツールが skipped を返した場合は、タスクの結果を維持しつつ、無理に保存しないでください。

制限モード

ChatCrystal Core または MCP ツールが利用できない場合、あるいは自動書き戻しに必要な安定した実行キーがない場合:

  • メモリが保存されたと主張しないでください。
  • 後で保存できるよう、応答に構造化されたメモリ候補を出力します。
  • 候補は、後で再利用できるよう write_task_memory.memory のペイロード形式に合わせます。
  • スキルのフローの一環として ChatCrystal Core を自動インストールするよう、ランタイムに指示しないでください。

コメント