---
name: save-checkpoint
description: 現在のコンテキストからトピックに関する情報を整理して記録します。
argument-hint: "<name> <topic>"
---

# Save Checkpoint

現在のコンテキストからトピックに関する情報を整理し記録したチェックポイントを作成します。

## 入力

1.  **名前**: チェックポイントの名前を表す短いスラグ/識別子（例: `new-agent-skill`, `docs-writing`）。
2.  **トピック**: このチェックポイントが扱う内容/テーマの説明（例: `Create a skill for AI agents.`）。

これらをユーザーの引数からパースします（例: `new-skill "Create a skill for AI agents."`）。これらの入力が不足しているか曖昧な場合は、ユーザーに問いかけて提供を求めてください。

## 出力ファイルの保存場所

-   このスキルファイルからの相対パスで `../../checkpoints/` ディレクトリ配下にチェックポイントファイルを保存します。
-   ファイル名は `checkpoint-<name>-<timestamp>.md` の形式とします。ここで、`<timestamp>` はローカル時間の現在のタイムスタンプ（YYYYMMDD_HHmm）、`<name>` はチェックポイントの名前です。

## チェックポイントドキュメントの構造

次のセクションを含むチェックポイントのMarkdownファイルを作成します。

1.  **トピック**:
    -   このチェックポイントが扱う内容/テーマ。
2.  **関連情報**:
    -   このトピックに必要な背景、設計、ドメイン知識などを整理してまとめます。
3.  **テンプレート**（任意）:
    -   再利用できるテンプレートファイルがある場合、その概要と相対パスを記載します。
4.  **注意事項**（任意）:
    -   開発における制約、コーディングルール、有効にすべきスキル、その他の注意事項をまとめます。

## 手順

1.  引数から名前とトピックをパースします（不足している場合はユーザーに確認してください）。
2.  現在のコンテキストから関連情報、テンプレート、注意事項を収集します。これら以外の情報は含めないでください。
    -   関連情報（必須）: トピックに必要な情報を整理してまとめます。
    -   テンプレート（任意）: 再利用できるテンプレートファイルがあれば概要とパスを記載します。
    -   注意事項（任意）: 記録すべきトピックに関する注意事項をまとめます。
3.  チェックポイントドキュメントの構造に従ってコンテンツを作成し、スキルファイルの位置を基準とした相対パス（`../../checkpoints/checkpoint-<name>-<timestamp>.md`）に書き込みます。
4.  ユーザーに対し、チェックポイントが正常に保存されたことを報告します。

## 注意事項

-   チェックポイントには個人情報・機密情報を含めないでください。
