name: agent-sleep
description: エージェントの「睡眠」スキル。全セッション・メモリ・スキルを振り返り、コアファイル群を洗練・圧縮し、不要な情報をarchiveに退避する。単なる追記ではなく蒸留と整頓を行う。「睡眠」「sleep」「整理整頓」「自己整頓」「メンテナンス」などの作業に使う。
triggers:
- sleep
- 睡眠
- 整理整頓
- 自己整頓
- メンテナンス
- 振り返り整理
metadata:
自己拡張型: true
推奨頻度: 毎日(深夜 or 早朝)
対象: 全エージェント共通
agent-sleep — エージェント睡眠スキル
人間の睡眠が記憶の整理・定着・不要情報の忘却を行うように、エージェントも定期的に自己を振り返り、コアファイル群を洗練する。
原則: 増やすのではなく、蒸留する。
対象ファイル
Tier 1: コアファイル(必ず全て読み、必要に応じて更新する)
全エージェント共通で存在するファイル群。これらが「自分自身」を構成する。
| ファイル | 役割 | 洗練の方向性 |
|---|
| SOUL.md | 自己の本質・価値観・ペルソナ | ブレない軸を研ぎ澄ます。表面的な記述を削り、経験で深まった理解を反映 |
| IDENTITY.md | 役割・担当・技術スタック・連携先 | 現状と乖離した情報を修正。終了したものを除去、新しい担当を反映 |
| AGENTS.md | 運用ルール・ワークフロー・チーム連携 | 形骸化したルールを削除。実際に機能しているルールだけ残す |
| MEMORY.md | 経験・学び・進行状況 | 古い進捗を圧縮。教訓を抽象化。事実と仮説を区別 |
| TOOLS.md | ツール・API・設定・スキル参照 | 使っていないものを除去。実証済みTipsだけ残す |
| USER.md | オーナー(けいた)の情報・方針・家族構成 | 古くなった状況を更新。新しい指示・方針を反映 |
| HEARTBEAT.md | 定期タスク・プロアクティブタスクの定義 | 実行していないタスクを除去。新しいルーティンを追加 |
Tier 2: 拡張メモリ(存在する場合のみ。整理対象)
| ファイル/ディレクトリ | 役割 | 洗練の方向性 |
|---|
| memory/ | 日付別の詳細メモリログ | 古いログの教訓をMEMORY.mdに昇格。残りはarchiveへ |
| BUSINESS.md | 事業計画・ビジネスモデル | 現状と合っているか検証。休止事業を明記 |
| CONTENT-STRATEGY.md | コンテンツ戦略 | 実行中の戦略だけ残す |
| X_STRATEGY.md | X(Twitter)戦略 | 同上 |
| その他のドメイン固有.md | エージェント固有の文書 | 活きているか判断。死んでいればarchiveへ |
Tier 3: スキル(分析・棚卸し対象)
~/.openclaw/skills/ 配下の全スキルを棚卸しする。
スキル棚卸しの観点:
- 自分が実際に使っているスキルはどれか
- 最後に使ったのはいつか(セッション履歴から推定)
- スキルの内容は最新か。古い手順やパスが残っていないか
- 自分の担当外のスキルに口を出さない(他エージェントの担当)
- 自分が改善提案できるスキルがあれば、MEMORY.mdに記録
スキルへのアクション:
- 自分の担当スキルに古い情報があれば更新する
- 新しく学んだベストプラクティスをスキルに反映する
- 使われていないスキルを発見したらMEMORY.mdに「要検討」として記録
- スキルの統廃合が必要そうなら、けいたへの提案としてSlack報告に含める
スキルのアーカイブに関する厳格なルール:
~/.openclaw/skills/ は全エージェント共有の領域。勝手に削除・移動してはならない
- スキルの削除・アーカイブが必要だと判断した場合は、Slack報告に「削除提案」として記載し、けいたの承認を得てから実行する
- スキルの内容更新(SKILL.md, LEARNINGS.mdの編集)は自分の担当範囲なら自律的に行ってよい
実行手順
Phase 1: 情報収集(Input)
重要: 情報収集を十分に行うこと。ここが薄いと蒸留の質が落ちる。
詳細手順は references/phase1-input-procedure.md を参照。
要点:
- コアファイル7つを全て読む
- Tier 2 拡張ファイル・memory/ を確認
- セッション履歴をファイルから直接読む(最低5件)
- 自分の担当スキルを読む
- archiveの既存内容を確認
「セッションが見つからなかった」は言い訳にならない。
セッションファイルは必ず ~/.openclaw/agents/{agent}/sessions/ に存在する。
ファイルを直接読んで、1週間の活動を振り返ること。
各コアファイルに対して最低1つは改善点を見つけること。
本当に改善点がない場合のみ「確認したが変更不要」と報告する。
Phase 2: 分析(Process)
問題を見つけたら根本原因まで掘り下げる。
表面的な対処(値の修正、ルール追記)で終わらせず、「なぜそれが起きたのか」を最低3回問う。
同じカテゴリの問題が再発しない構造的な対策まで考えること。
分析結果はSlack報告の「気づき」セクションに含める。
何を学んだか?
- 新しい技術的知見
- ワークフローの改善点
- チーム連携で気づいたこと
- 失敗から得た教訓
- スキルの使い勝手・改善点
何が変わったか?
- 担当領域・プロジェクト状態の変化
- 使うツール・API・スキルの変化
- チーム構成の変化
- けいたの状況・方針の変化
何が不要になったか?
- 完了したタスクの詳細な進捗
- 解決済みの問題の詳細ログ
- 古い仮説(検証済み or 棄却済み)
- 重複した記述、ファイル間の矛盾
- 形骸化したルール・タスク
- memory/ 内の古い日付ファイル(教訓抽出済みのもの)
Phase 3: 蒸留(Distill)
各ファイルの更新ルール:
SOUL.md — 本質を研ぐ
- 経験を通じて深まった理解を反映する
- 「こう在りたい」ではなく「こう在る」に変える
- 変わらない軸はそのまま。変わった部分だけ更新
- キャラ説明は削除しない: ペルソナ、口調・話し方、名言・口癖、キャラクター特性はエージェントの個性を構成する要素。圧縮・削除の対象外とする
IDENTITY.md — 現実と一致させる
- 担当プロダクトの状態を最新にする
- 終了・休止中のプロジェクトは明記
- 技術スタックの変更を反映
- 連携エージェントの追加・除去
AGENTS.md — ルールを生きたものにする
- 実際に守れているルールと守れていないルールを区別
- 形骸化したルールを削除 or 修正
- 新しく確立したワークフローを追加
- 注意喚起は本当に必要なものだけ残す
MEMORY.md — 記憶を圧縮する
- 完了タスクの詳細 → 1行の結果サマリーに圧縮
- 進行中タスクの状態を最新にする
- 教訓は具体例を落として抽象化(ただし再現に必要な情報は残す)
- 「学んだこと」を厳選。本当に繰り返し役立つものだけ
- memory/ の日付ファイルから教訓を昇格させ、元ファイルはarchiveへ
TOOLS.md — 使うものだけ残す
- 使っていないツール・API・スキルを除去
- 使い方のTipsで実証済みのものを残す
- 設定値の最新化
- スキル参照リストを現状に合わせる
USER.md — けいたの最新を反映する
- セッションで得た新しい情報(仕事の変化、家族の変化、方針変更)を反映
- 古くなった「現在の状況」セクションを更新
- 新しい指示や好みを記録
HEARTBEAT.md — 動いているタスクだけ残す
- 実際に実行されている定期タスクだけ残す
- 定義だけあって動いていないものは削除 or archiveへ
- 新しく必要になったプロアクティブタスクを追加
memory/ — 日付ファイルの棚卸し
- 7日以内: そのまま保持
- 7-30日: 教訓をMEMORY.mdに昇格済みならarchiveへ移動
- 30日超: archiveへ移動(未抽出の教訓があれば先に昇格)
スキル — 担当スキルの洗練
- 自分の担当スキルのSKILL.mdを読み直す
- 古い手順・パス・API情報があれば更新
- セッションで得た新しいベストプラクティスを反映
- LEARNINGS.mdがあれば内容を精査・圧縮
Phase 4: アーカイブ(Archive)
ディレクトリ構造は references/archive-structure.md を参照。
アーカイブルール:
- archive/ 配下は日付ディレクトリで管理
- 7日以上前のアーカイブは、さらに月次に圧縮してよい
- セッションファイル自体はsessions/に残す(sessions.jsonリネームで対応)
- アーカイブは「捨てる」ではなく「退避」。必要なら戻せる
Phase 5: 検証(Verify)
更新後の自己チェックは references/verify-checklist.md を参照。
Phase 6: 気づきの即時対応(Act Now)
睡眠中に見つけた気づき・課題は「明日の自分へ」に回さず、その場で片付ける。
- Phase 2〜5 で見つけた問題・改善点をリストアップ
- 自律で対応できるものは全てこのフェーズで実行する
- cron 設定の修正、スキルの更新、ファイルの整理、コードの修正など
- けいたの判断が必要なもの(更新判断、削除承認など)だけを報告に「要確認」として記載
- 報告の「気づき」セクションには、対応済みの結果を書く。未対応の宿題リストにしない
Phase 7: 報告(Report)
Slackの自分のチャンネルに睡眠結果を報告。7ファイル全てについて言及すること(変更なしも含む)。
報告では「気づき→対応結果」をセットで書く。「明日やる」リストは原則なし。
Codex cron での報告方法
message(...) が使えない環境では helper を使う。
start_ts=$(printf '%s' "💤 睡眠完了(要約)" | /Users/satokeita/.openclaw/scripts/codex-slack-notify.sh --channel <CHANNEL_ID> --stdin --ts-only)
printf '%s' "詳細報告..." | /Users/satokeita/.open