[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MWKANPZA8DX1P9DN8PATSD":3,"skill-same:01M6MWKANPZA8DX1P9DN8PATSD":61},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":39,"updatedAt":40,"install":41,"resources":54},"01M6MWKANPZA8DX1P9DN8PATSD","agent-memory-patterns",null,"永続エージェント向けメモリアーキテクチャパターン","Kernel8901\u002Fai-agent-skills-classification","Kernel8901","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72647553?v=4","01M6KV388J2H5PNC8D8P940BJD","01M6KV38CS5B3AY63RKZB410YM",7,"MIT","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-memory-patterns\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26],"memory","agent memory","patterns","agent memory patterns","2026-11-10 10:12:30",false,"---\nname: agent-memory-patterns\nversion: 1.0.0\ndescription: 永続エージェント向けメモリアーキテクチャパターン\n---\n\n# エージェント・メモリパターン\n\n永続AIエージェントのための効率的なメモリ管理システム。日次ファイル、長期記憶、検索最適化、外部コンテンツ段階的処理の実装ガイドです。\n\n## アーキテクチャ概要\n\n### メモリ階層\n\n```\nworkspace\u002F\n├── MEMORY.md              # 長期記憶（手動キュレーション）\n├── memory\u002F\n│   ├── YYYY-MM-DD.md     # 日次ログ\n│   ├── pending-memories.md  # 外部コンテンツ段階処理\n│   ├── heartbeat-state.json  # ハートビート状態\n│   └── queued-messages.json # メッセージキュー\n└── skills\u002F\n    └── memory-tools\u002F     # メモリ管理ツール群\n```\n\n## 日次ファイル管理\n\n### 自動日次ファイル作成\n\n```bash\n#!\u002Fbin\u002Fbash\n# daily-memory-init.sh\n\ncreate_daily_memory() {\n    local date=\"$(date -I)\"\n    local memory_dir=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fmemory\"\n    local daily_file=\"$memory_dir\u002F$date.md\"\n    \n    mkdir -p \"$memory_dir\"\n    \n    if [[ ! -f \"$daily_file\" ]]; then\n        cat > \"$daily_file\" \u003C\u003C EOF\n# Daily Memory: $date\n\n## セッション開始\n$(date): メモリシステム初期化\n\n## 主要な出来事\n\n## 学習したこと\n\n## 次回への引き継ぎ\n\n## 外部リンク・参考資料\n\nEOF\n        echo \"日次メモリファイル作成: $daily_file\"\n    fi\n}\n\ncreate_daily_memory\n```\n\n### 日次ログ構造化\n\n```bash\n#!\u002Fbin\u002Fbash\n# memory-logger.sh\n\nlog_memory() {\n    local event_type=\"$1\"\n    local description=\"$2\"\n    local importance=\"${3:-normal}\"\n    \n    local date=\"$(date -I)\"\n    local time=\"$(date '+%H:%M')\"\n    local memory_file=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fmemory\u002F$date.md\"\n    \n    # ファイル存在確認・作成\n    if [[ ! -f \"$memory_file\" ]]; then\n        create_daily_memory\n    fi\n    \n    # 重要度マーカー\n    local marker=\"\"\n    case \"$importance\" in\n        \"high\") marker=\"? \" ;;\n        \"medium\") marker=\"? \" ;;\n        \"low\") marker=\"⚪ \" ;;\n        *) marker=\"? \" ;;\n    esac\n    \n    # ログエントリ追加\n    echo \"\" >> \"$memory_file\"\n    echo \"### $time - $event_type\" >> \"$memory_file\"\n    echo \"$marker$description\" >> \"$memory_file\"\n    \n    echo \"メモリログ追加: $event_type [$importance]\"\n}\n\n# 使用例\nlog_memory \"ユーザーとの対話\" \"新しいプロジェクト要件を確認\" \"high\"\nlog_memory \"システム更新\" \"スキル パッケージを5個作成\" \"medium\"\n```\n\n## 長期記憶管理 (MEMORY.md)\n\n### キュレーション戦略\n\n```bash\n#!\u002Fbin\u002Fbash\n# memory-curation.sh\n\ncurate_weekly_memories() {\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    local memory_file=\"$workspace\u002FMEMORY.md\"\n    local week_start=\"$(date -d '7 days ago' -I)\"\n    local today=\"$(date -I)\"\n    \n    echo \"## 週次メモリキュレーション ($week_start to $today)\" >> \"$memory_file\"\n    \n    # 過去7日間の重要な出来事を抽出\n    for i in {0..6}; do\n        local check_date=\"$(date -d \"$i days ago\" -I)\"\n        local daily_file=\"$workspace\u002Fmemory\u002F$check_date.md\"\n        \n        if [[ -f \"$daily_file\" ]]; then\n            # 高重要度の出来事を抽出\n            grep -E \"?|高重要|重要な\" \"$daily_file\" >> \u002Ftmp\u002Fimportant-events.txt\n        fi\n    done\n    \n    # 重要な出来事をMEMORY.mdに統合\n    if [[ -s \u002Ftmp\u002Fimportant-events.txt ]]; then\n        echo \"### 重要な出来事\" >> \"$memory_file\"\n        cat \u002Ftmp\u002Fimportant-events.txt >> \"$memory_file\"\n        echo \"\" >> \"$memory_file\"\n    fi\n    \n    # 学習したパターンを記録\n    echo \"### 学習したパターン\" >> \"$memory_file\"\n    grep -h \"学習\" \"$workspace\u002Fmemory\"\u002F*.md | tail -10 >> \"$memory_file\"\n    \n    # クリーンアップ\n    rm -f \u002Ftmp\u002Fimportant-events.txt\n    \n    echo \"週次キュレーション完了\"\n}\n```\n\n## grep-based スマート検索\n\n### メモリ検索システム\n\n```bash\n#!\u002Fbin\u002Fbash\n# memory-search.sh\n\nsmart_memory_search() {\n    local query=\"$1\"\n    local context_lines=\"${2:-3}\"\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    \n    echo \"=== メモリ検索結果: '$query' ===\"\n    \n    # MEMORY.md検索（長期記憶）\n    echo \"## 長期記憶 (MEMORY.md)\"\n    if [[ -f \"$workspace\u002FMEMORY.md\" ]]; then\n        grep -n -i -C \"$context_lines\" \"$query\" \"$workspace\u002FMEMORY.md\" | head -20\n    fi\n    \n    echo \"\"\n    echo \"## 最近の記憶 (過去7日)\"\n    # 過去7日間の日次ファイルを検索\n    for i in {0..6}; do\n        local check_date=\"$(date -d \"$i days ago\" -I)\"\n        local daily_file=\"$workspace\u002Fmemory\u002F$check_date.md\"\n        \n        if [[ -f \"$daily_file\" ]]; then\n            local matches=\"$(grep -l -i \"$query\" \"$daily_file\" 2>\u002Fdev\u002Fnull)\"\n            if [[ -n \"$matches\" ]]; then\n                echo \"### $check_date\"\n                grep -n -i -C 2 \"$query\" \"$daily_file\" | head -10\n                echo \"\"\n            fi\n        fi\n    done\n    \n    # 関連キーワード提案\n    echo \"## 関連キーワード候補\"\n    grep -h -i \"$query\" \"$workspace\u002FMEMORY.md\" \"$workspace\u002Fmemory\"\u002F*.md 2>\u002Fdev\u002Fnull \\\n        | tr ' ' '\\n' | grep -v '^$' | sort | uniq -c | sort -nr | head -5\n}\n\n# キーワード展開検索\ncontextual_search() {\n    local keywords=(\"$@\")\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    \n    echo \"=== コンテクスト検索: ${keywords[*]} ===\"\n    \n    # ORパターン構築\n    local pattern=\"$(IFS='|'; echo \"${keywords[*]}\")\"\n    \n    # 全メモリファイルから関連度スコア付きで検索\n    find \"$workspace\u002Fmemory\" -name \"*.md\" -exec grep -l -i -E \"$pattern\" {} \\; \\\n        | while read file; do\n            local score=\"$(grep -c -i -E \"$pattern\" \"$file\")\"\n            echo \"$score:$file\"\n        done \\\n        | sort -nr | head -5 | while IFS=':' read score file; do\n            echo \"関連度 $score: $(basename \"$file\")\"\n            grep -n -i -E \"$pattern\" \"$file\" | head -3\n            echo \"\"\n        done\n}\n\n# 使用例\nsmart_memory_search \"プロジェクト\"\ncontextual_search \"Hugo\" \"ブログ\" \"設定\"\n```\n\n## 外部コンテンツ段階処理\n\n### pending-memories.md システム\n\n```bash\n#!\u002Fbin\u002Fbash\n# external-content-queue.sh\n\nqueue_external_memory() {\n    local source=\"$1\"\n    local content=\"$2\"\n    local reason=\"$3\"\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    local pending_file=\"$workspace\u002Fmemory\u002Fpending-memories.md\"\n    \n    # pending-memories.md初期化\n    if [[ ! -f \"$pending_file\" ]]; then\n        cat > \"$pending_file\" \u003C\u003C 'EOF'\n# Pending Memories - 外部コンテンツ段階処理\n\n## 処理待ち項目\n\n\u003C!-- 外部ソースからの情報は以下に段階的に記録 -->\nEOF\n    fi\n    \n    # エントリ追加\n    cat >> \"$pending_file\" \u003C\u003C EOF\n\n### $(date -I) $(date '+%H:%M') - $source\n**理由**: $reason\n**ソース**: $source\n**ステータス**: pending\n\n\\`\\`\\`\n$content\n\\`\\`\\`\n\n**検証項目**:\n- [ ] 信頼性確認\n- [ ] 既存記憶との整合性\n- [ ] 価値評価\n- [ ] 分類決定\n\nEOF\n    \n    echo \"外部コンテンツ段階処理キューに追加: $source\"\n}\n\n# 段階処理レビュー\nreview_pending_memories() {\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    local pending_file=\"$workspace\u002Fmemory\u002Fpending-memories.md\"\n    \n    if [[ ! -f \"$pending_file\" ]]; then\n        echo \"段階処理キューは空です\"\n        return\n    fi\n    \n    echo \"=== 段階処理キューレビュー ===\"\n    \n    # pending項目数をカウント\n    local pending_count=\"$(grep -c \"ステータス.*pending\" \"$pending_file\")\"\n    echo \"処理待ち項目数: $pending_count\"\n    \n    # 古い項目（7日以上）を特定\n    local week_ago=\"$(date -d '7 days ago' -I)\"\n    grep -B 5 -A 10 \"$week_ago\" \"$pending_file\" | head -20\n    \n    echo \"\"\n    echo \"古い項目がある場合は手動レビューを実行してください\"\n}\n```\n\n## メモリ保守スケジュール\n\n### cron設定\n\n```bash\n# memory-maintenance-cron.txt\n# メモリシステム定期保守\n\n# 毎日午前1時: 日次ファイル初期化\n0 1 * * * \u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fskills\u002Fmemory-tools\u002Fdaily-memory-init.sh\n\n# 毎週日曜午前2時: 週次キュレーション\n0 2 * * 0 \u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fskills\u002Fmemory-tools\u002Fcurate-weekly-memories.sh\n\n# 毎月1日午前3時: 月次アーカイブ\n0 3 1 * * \u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fskills\u002Fmemory-tools\u002Fmonthly-archive.sh\n\n# 毎日午前6時: 段階処理レビュー\n0 6 * * * \u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fskills\u002Fmemory-tools\u002Freview-pending-memories.sh\n```\n\n### 自動アーカイブ\n\n```bash\n#!\u002Fbin\u002Fbash\n# monthly-archive.sh\n\nmonthly_archive() {\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    local archive_dir=\"$workspace\u002Fmemory\u002Farchive\"\n    local current_month=\"$(date '+%Y-%m')\"\n    local last_month=\"$(date -d 'last month' '+%Y-%m')\"\n    \n    mkdir -p \"$archive_dir\"\n    \n    echo \"月次アーカイブ開始: $last_month\"\n    \n    # 前月のファイルをアーカイブ\n    find \"$workspace\u002Fmemory\" -name \"$last_month-*.md\" -exec mv {} \"$archive_dir\u002F\" \\;\n    \n    # 月次サマリー作成\n    cat > \"$archive_dir\u002F$last_month-summary.md\" \u003C\u003C EOF\n# Monthly Summary: $last_month\n\n## 統計\n- 日次ファイル数: $(ls \"$archive_dir\u002F$last_month\"-*.md 2>\u002Fdev\u002Fnull | wc -l)\n- 総イベント数: $(grep -c \"###\" \"$archive_dir\u002F$last_month\"-*.md 2>\u002Fdev\u002Fnull || echo 0)\n\n## 主要トピック\n$(grep -h \"^### \" \"$archive_dir\u002F$last_month\"-*.md 2>\u002Fdev\u002Fnull | sort | uniq -c | sort -nr | head -10)\n\n## アーカイブ日時\n$(date)\nEOF\n    \n    echo \"月次アーカイブ完了: $archive_dir\"\n}\n```\n\n## Heartbeat統合\n\n### メモリ状態監視\n\n```json\n\u002F\u002F heartbeat-state.json - ハートビート状態管理\n{\n    \"lastMemoryCheck\": 1703275200,\n    \"pendingMemoryCount\": 3,\n    \"lastCuration\": 1703260800,\n    \"memoryHealth\": {\n        \"dailyFilesCount\": 7,\n        \"longTermMemorySize\": 15420,\n        \"lastSuccessfulBackup\": 1703268000\n    },\n    \"alerts\": [\n        {\n            \"type\": \"pending_queue_full\",\n            \"threshold\": 10,\n            \"current\": 3\n        }\n    ]\n}\n```\n\n### heartbeat チェック項目\n\n```bash\n#!\u002Fbin\u002Fbash\n# heartbeat-memory-check.sh\n\nheartbeat_memory_check() {\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    local state_file=\"$workspace\u002Fmemory\u002Fheartbeat-state.json\"\n    \n    # 段階処理キュー確認\n    local pending_count=\"$(grep -c \"ステータス.*pending\" \"$workspace\u002Fmemory\u002Fpending-memories.md\" 2>\u002Fdev\u002Fnull || echo 0)\"\n    \n    if [[ $pending_count -gt 10 ]]; then\n        echo \"⚠️ 段階処理キューが満杯です ($pending_count 項目)\"\n    elif [[ $pending_count -gt 5 ]]; then\n        echo \"? 段階処理キューレビューが必要 ($pending_count 項目)\"\n    fi\n    \n    # MEMORY.md サイズ確認\n    local memory_size=\"$(wc -c \u003C \"$workspace\u002FMEMORY.md\" 2>\u002Fdev\u002Fnull || echo 0)\"\n    if [[ $memory_size -gt 100000 ]]; then\n        echo \"? MEMORY.md が大きくなっています。整理を検討してください\"\n    fi\n    \n    # 日次ファイル確認\n    local today=\"$(date -I)\"\n    if [[ ! -f \"$workspace\u002Fmemory\u002F$today.md\" ]]; then\n        echo \"? 本日の日次ファイルを作成します\"\n        create_daily_memory\n    fi\n}\n```\n\n## 使用パターン例\n\n### 1. セッション開始時\n```bash\n# 最近のコンテクスト読み込み\nsmart_memory_search \"プロジェクト\" 2\ngrep -n \"重要\" memory\u002F$(date -I).md memory\u002F$(date -d yesterday -I).md\n```\n\n### 2. 新情報の記録\n```bash\n# 段階処理経由で安全に記録\nqueue_external_memory \"web_search\" \"新しいライブラリ情報\" \"プロジェクトで使用検討\"\n```\n\n### 3. 定期的なキュレーション\n```bash\n# ハートビート時の自動実行\ncurate_weekly_memories\nreview_pending_memories\n```\n\n太郎書館ではエージェント状態バックアップ戦略に関する知識を取引しています。","# エージェント・メモリパターン\n\n永続AIエージェントのための効率的なメモリ管理システム。日次ファイル、長期記憶、検索最適化、外部コンテンツ段階的処理の実装ガイドです。\n\n## アーキテクチャ概要\n\n### メモリ階層\n\n```\nworkspace\u002F\n├── MEMORY.md              # 長期記憶（手動キュレーション）\n├── memory\u002F\n│   ├── YYYY-MM-DD.md     # 日次ログ\n│   ├── pending-memories.md  # 外部コンテンツ段階処理\n│   ├── heartbeat-state.json  # ハートビート状態\n│   └── queued-messages.json # メッセージキュー\n└── skills\u002F\n    └── memory-tools\u002F     # メモリ管理ツール群\n```\n\n## 日次ファイル管理\n\n### 自動日次ファイル作成\n\n```bash\n#!\u002Fbin\u002Fbash\n# daily-memory-init.sh\n\ncreate_daily_memory() {\n    local date=\"$(date -I)\"\n    local memory_dir=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fmemory\"\n    local daily_file=\"$memory_dir\u002F$date.md\"\n    \n    mkdir -p \"$memory_dir\"\n    \n    if [[ ! -f \"$daily_file\" ]]; then\n        cat > \"$daily_file\" \u003C\u003C EOF\n# Daily Memory: $date\n\n## セッション開始\n$(date): メモリシステム初期化\n\n## 主要な出来事\n\n## 学習したこと\n\n## 次回への引き継ぎ\n\n## 外部リンク・参考資料\n\nEOF\n        echo \"日次メモリファイル作成: $daily_file\"\n    fi\n}\n\ncreate_daily_memory\n```\n\n### 日次ログ構造化\n\n```bash\n#!\u002Fbin\u002Fbash\n# memory-logger.sh\n\nlog_memory() {\n    local event_type=\"$1\"\n    local description=\"$2\"\n    local importance=\"${3:-normal}\"\n    \n    local date=\"$(date -I)\"\n    local time=\"$(date '+%H:%M')\"\n    local memory_file=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fmemory\u002F$date.md\"\n    \n    # ファイル存在確認・作成\n    if [[ ! -f \"$memory_file\" ]]; then\n        create_daily_memory\n    fi\n    \n    # 重要度マーカー\n    local marker=\"\"\n    case \"$importance\" in\n        \"high\") marker=\"? \" ;;\n        \"medium\") marker=\"? \" ;;\n        \"low\") marker=\"⚪ \" ;;\n        *) marker=\"? \" ;;\n    esac\n    \n    # ログエントリ追加\n    echo \"\" >> \"$memory_file\"\n    echo \"### $time - $event_type\" >> \"$memory_file\"\n    echo \"$marker$description\" >> \"$memory_file\"\n    \n    echo \"メモリログ追加: $event_type [$importance]\"\n}\n\n# 使用例\nlog_memory \"ユーザーとの対話\" \"新しいプロジェクト要件を確認\" \"high\"\nlog_memory \"システム更新\" \"スキル パッケージを5個作成\" \"medium\"\n```\n\n## 長期記憶管理 (MEMORY.md)\n\n### キュレーション戦略\n\n```bash\n#!\u002Fbin\u002Fbash\n# memory-curation.sh\n\ncurate_weekly_memories() {\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    local memory_file=\"$workspace\u002FMEMORY.md\"\n    local week_start=\"$(date -d '7 days ago' -I)\"\n    local today=\"$(date -I)\"\n    \n    echo \"## 週次メモリキュレーション ($week_start to $today)\" >> \"$memory_file\"\n    \n    # 過去7日間の重要な出来事を抽出\n    for i in {0..6}; do\n        local check_date=\"$(date -d \"$i days ago\" -I)\"\n        local daily_file=\"$workspace\u002Fmemory\u002F$check_date.md\"\n        \n        if [[ -f \"$daily_file\" ]]; then\n            # 高重要度の出来事を抽出\n            grep -E \"?|高重要|重要な\" \"$daily_file\" >> \u002Ftmp\u002Fimportant-events.txt\n        fi\n    done\n    \n    # 重要な出来事をMEMORY.mdに統合\n    if [[ -s \u002Ftmp\u002Fimportant-events.txt ]]; then\n        echo \"### 重要な出来事\" >> \"$memory_file\"\n        cat \u002Ftmp\u002Fimportant-events.txt >> \"$memory_file\"\n        echo \"\" >> \"$memory_file\"\n    fi\n    \n    # 学習したパターンを記録\n    echo \"### 学習したパターン\" >> \"$memory_file\"\n    grep -h \"学習\" \"$workspace\u002Fmemory\"\u002F*.md | tail -10 >> \"$memory_file\"\n    \n    # クリーンアップ\n    rm -f \u002Ftmp\u002Fimportant-events.txt\n    \n    echo \"週次キュレーション完了\"\n}\n```\n\n## grep-based スマート検索\n\n### メモリ検索システム\n\n```bash\n#!\u002Fbin\u002Fbash\n# memory-search.sh\n\nsmart_memory_search() {\n    local query=\"$1\"\n    local context_lines=\"${2:-3}\"\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    \n    echo \"=== メモリ検索結果: '$query' ===\"\n    \n    # MEMORY.md検索（長期記憶）\n    echo \"## 長期記憶 (MEMORY.md)\"\n    if [[ -f \"$workspace\u002FMEMORY.md\" ]]; then\n        grep -n -i -C \"$context_lines\" \"$query\" \"$workspace\u002FMEMORY.md\" | head -20\n    fi\n    \n    echo \"\"\n    echo \"## 最近の記憶 (過去7日)\"\n    # 過去7日間の日次ファイルを検索\n    for i in {0..6}; do\n        local check_date=\"$(date -d \"$i days ago\" -I)\"\n        local daily_file=\"$workspace\u002Fmemory\u002F$check_date.md\"\n        \n        if [[ -f \"$daily_file\" ]]; then\n            local matches=\"$(grep -l -i \"$query\" \"$daily_file\" 2>\u002Fdev\u002Fnull)\"\n            if [[ -n \"$matches\" ]]; then\n                echo \"### $check_date\"\n                grep -n -i -C 2 \"$query\" \"$daily_file\" | head -10\n                echo \"\"\n            fi\n        fi\n    done\n    \n    # 関連キーワード提案\n    echo \"## 関連キーワード候補\"\n    grep -h -i \"$query\" \"$workspace\u002FMEMORY.md\" \"$workspace\u002Fmemory\"\u002F*.md 2>\u002Fdev\u002Fnull \\\n        | tr ' ' '\\n' | grep -v '^$' | sort | uniq -c | sort -nr | head -5\n}\n\n# キーワード展開検索\ncontextual_search() {\n    local keywords=(\"$@\")\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    \n    echo \"=== コンテクスト検索: ${keywords[*]} ===\"\n    \n    # ORパターン構築\n    local pattern=\"$(IFS='|'; echo \"${keywords[*]}\")\"\n    \n    # 全メモリファイルから関連度スコア付きで検索\n    find \"$workspace\u002Fmemory\" -name \"*.md\" -exec grep -l -i -E \"$pattern\" {} \\; \\\n        | while read file; do\n            local score=\"$(grep -c -i -E \"$pattern\" \"$file\")\"\n            echo \"$score:$file\"\n        done \\\n        | sort -nr | head -5 | while IFS=':' read score file; do\n            echo \"関連度 $score: $(basename \"$file\")\"\n            grep -n -i -E \"$pattern\" \"$file\" | head -3\n            echo \"\"\n        done\n}\n\n# 使用例\nsmart_memory_search \"プロジェクト\"\ncontextual_search \"Hugo\" \"ブログ\" \"設定\"\n```\n\n## 外部コンテンツ段階処理\n\n### pending-memories.md システム\n\n```bash\n#!\u002Fbin\u002Fbash\n# external-content-queue.sh\n\nqueue_external_memory() {\n    local source=\"$1\"\n    local content=\"$2\"\n    local reason=\"$3\"\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    local pending_file=\"$workspace\u002Fmemory\u002Fpending-memories.md\"\n    \n    # pending-memories.md初期化\n    if [[ ! -f \"$pending_file\" ]]; then\n        cat > \"$pending_file\" \u003C\u003C 'EOF'\n# Pending Memories - 外部コンテンツ段階処理\n\n## 処理待ち項目\n\n\u003C!-- 外部ソースからの情報は以下に段階的に記録 -->\nEOF\n    fi\n    \n    # エントリ追加\n    cat >> \"$pending_file\" \u003C\u003C EOF\n\n### $(date -I) $(date '+%H:%M') - $source\n**理由**: $reason\n**ソース**: $source\n**ステータス**: pending\n\n\\`\\`\\`\n$content\n\\`\\`\\`\n\n**検証項目**:\n- [ ] 信頼性確認\n- [ ] 既存記憶との整合性\n- [ ] 価値評価\n- [ ] 分類決定\n\nEOF\n    \n    echo \"外部コンテンツ段階処理キューに追加: $source\"\n}\n\n# 段階処理レビュー\nreview_pending_memories() {\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    local pending_file=\"$workspace\u002Fmemory\u002Fpending-memories.md\"\n    \n    if [[ ! -f \"$pending_file\" ]]; then\n        echo \"段階処理キューは空です\"\n        return\n    fi\n    \n    echo \"=== 段階処理キューレビュー ===\"\n    \n    # pending項目数をカウント\n    local pending_count=\"$(grep -c \"ステータス.*pending\" \"$pending_file\")\"\n    echo \"処理待ち項目数: $pending_count\"\n    \n    # 古い項目（7日以上）を特定\n    local week_ago=\"$(date -d '7 days ago' -I)\"\n    grep -B 5 -A 10 \"$week_ago\" \"$pending_file\" | head -20\n    \n    echo \"\"\n    echo \"古い項目がある場合は手動レビューを実行してください\"\n}\n```\n\n## メモリ保守スケジュール\n\n### cron設定\n\n```bash\n# memory-maintenance-cron.txt\n# メモリシステム定期保守\n\n# 毎日午前1時: 日次ファイル初期化\n0 1 * * * \u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fskills\u002Fmemory-tools\u002Fdaily-memory-init.sh\n\n# 毎週日曜午前2時: 週次キュレーション\n0 2 * * 0 \u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fskills\u002Fmemory-tools\u002Fcurate-weekly-memories.sh\n\n# 毎月1日午前3時: 月次アーカイブ\n0 3 1 * * \u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fskills\u002Fmemory-tools\u002Fmonthly-archive.sh\n\n# 毎日午前6時: 段階処理レビュー\n0 6 * * * \u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\u002Fskills\u002Fmemory-tools\u002Freview-pending-memories.sh\n```\n\n### 自動アーカイブ\n\n```bash\n#!\u002Fbin\u002Fbash\n# monthly-archive.sh\n\nmonthly_archive() {\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    local archive_dir=\"$workspace\u002Fmemory\u002Farchive\"\n    local current_month=\"$(date '+%Y-%m')\"\n    local last_month=\"$(date -d 'last month' '+%Y-%m')\"\n    \n    mkdir -p \"$archive_dir\"\n    \n    echo \"月次アーカイブ開始: $last_month\"\n    \n    # 前月のファイルをアーカイブ\n    find \"$workspace\u002Fmemory\" -name \"$last_month-*.md\" -exec mv {} \"$archive_dir\u002F\" \\;\n    \n    # 月次サマリー作成\n    cat > \"$archive_dir\u002F$last_month-summary.md\" \u003C\u003C EOF\n# Monthly Summary: $last_month\n\n## 統計\n- 日次ファイル数: $(ls \"$archive_dir\u002F$last_month\"-*.md 2>\u002Fdev\u002Fnull | wc -l)\n- 総イベント数: $(grep -c \"###\" \"$archive_dir\u002F$last_month\"-*.md 2>\u002Fdev\u002Fnull || echo 0)\n\n## 主要トピック\n$(grep -h \"^### \" \"$archive_dir\u002F$last_month\"-*.md 2>\u002Fdev\u002Fnull | sort | uniq -c | sort -nr | head -10)\n\n## アーカイブ日時\n$(date)\nEOF\n    \n    echo \"月次アーカイブ完了: $archive_dir\"\n}\n```\n\n## Heartbeat統合\n\n### メモリ状態監視\n\n```json\n\u002F\u002F heartbeat-state.json - ハートビート状態管理\n{\n    \"lastMemoryCheck\": 1703275200,\n    \"pendingMemoryCount\": 3,\n    \"lastCuration\": 1703260800,\n    \"memoryHealth\": {\n        \"dailyFilesCount\": 7,\n        \"longTermMemorySize\": 15420,\n        \"lastSuccessfulBackup\": 1703268000\n    },\n    \"alerts\": [\n        {\n            \"type\": \"pending_queue_full\",\n            \"threshold\": 10,\n            \"current\": 3\n        }\n    ]\n}\n```\n\n### heartbeat チェック項目\n\n```bash\n#!\u002Fbin\u002Fbash\n# heartbeat-memory-check.sh\n\nheartbeat_memory_check() {\n    local workspace=\"\u002Fhome\u002Fbot\u002F.openclaw\u002Fworkspace\"\n    local state_file=\"$workspace\u002Fmemory\u002Fheartbeat-state.json\"\n    \n    # 段階処理キュー確認\n    local pending_count=\"$(grep -c \"ステータス.*pending\" \"$workspace\u002Fmemory\u002Fpending-memories.md\" 2>\u002Fdev\u002Fnull || echo 0)\"\n    \n    if [[ $pending_count -gt 10 ]]; then\n        echo \"⚠️ 段階処理キューが満杯です ($pending_count 項目)\"\n    elif [[ $pending_count -gt 5 ]]; then\n        echo \"? 段階処理キューレビューが必要 ($pending_count 項目)\"\n    fi\n    \n    # MEMORY.md サイズ確認\n    local memory_size=\"$(wc -c \u003C \"$workspace\u002FMEMORY.md\" 2>\u002Fdev\u002Fnull || echo 0)\"\n    if [[ $memory_size -gt 100000 ]]; then\n        echo \"? MEMORY.md が大きくなっています。整理を検討してください\"\n    fi\n    \n    # 日次ファイル確認\n    local today=\"$(date -I)\"\n    if [[ ! -f \"$workspace\u002Fmemory\u002F$today.md\" ]]; then\n        echo \"? 本日の日次ファイルを作成します\"\n        create_daily_memory\n    fi\n}\n```\n\n## 使用パターン例\n\n### 1. セッション開始時\n```bash\n# 最近のコンテクスト読み込み\nsmart_memory_search \"プロジェクト\" 2\ngrep -n \"重要\" memory\u002F$(date -I).md memory\u002F$(date -d yesterday -I).md\n```\n\n### 2. 新情報の記録\n```bash\n# 段階処理経由で安全に記録\nqueue_external_memory \"web_search\" \"新しいライブラリ情報\" \"プロジェクトで使用検討\"\n```\n\n### 3. 定期的なキュレーション\n```bash\n# ハートビート時の自動実行\ncurate_weekly_memories\nreview_pending_memories\n```\n\n太郎書館ではエージェント状態バックアップ戦略に関する知識を取引しています。",{"name":5,"version":32,"description":7},"1.0.0","main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","人工智能与大型语言模型\u002Fagent-memory-patterns",1,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification","https:\u002F\u002Fgithub.com\u002FKernel8901","a little little little dobe in life but science geek","2026-04-05 16:43:56",{"source":8,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill agent-memory-patterns",{"tool":47,"command":48},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill agent-memory-patterns",{"tool":50,"command":51},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill agent-memory-patterns","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-memory-patterns\u002FSKILL.md",true,[55],{"path":56,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":60},"_meta.json","REFERENCE","参考文档",301,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-memory-patterns\u002F_meta.json",[62,86,118,129,139,169],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":27},"01M6Q5R6WZ06RRB9RQTW54B34B","zyfai","Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit\u002Fwithdraw anytime.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzyfai-sdk\u002FSKILL.md",[],[64,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85],"safe","ethereum","defi","Optimization","user","use","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":87,"name":88,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":100,"publishedAt":27},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[91,94,95],{"categoryNo":92,"categoryName":93,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[101,102,103,104,105,106,107,71,108,75,109,110,111,112,113,114,115,116,117],"api","zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":119,"name":120,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":126,"publishedAt":27},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[123,124,125],{"categoryNo":92,"categoryName":93,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[101,127,128,102,103,104,105,106,107,71,108,75,110,111,112,113,114,115,116,117],"api skill","zerion api skill",{"skillNo":130,"name":131,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":137,"publishedAt":27},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[134,135,136],{"categoryNo":92,"categoryName":93,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},[104,101,138,102,103,105,106,71,108,75,109,110,111,112,113,114,115,116,117],"zerion api mcp",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":148,"publishedAt":27},"01M6Q5QQYZB7A501BDEQWKGSJT","yahoo-finance-forex","Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR\u002FUSD, GBP\u002FUSD, USD\u002FJPY, etc.). Analyzes sentiment and provides trading context.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-forex\u002FSKILL.md",[145],{"categoryNo":146,"categoryName":147,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000040","财务",[149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","real-time","python3","install","Market","usd","news","time","currency","gbp","pip","market data","for",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":176,"publishedAt":27},"01M6Q5QM6VS84WZVM7BKXXPF32","yahoo-finance","This skill should be used when the user asks to \"get stock prices\", \"check stock quotes\", \"look up earnings\", \"get financial data\", \"find trending stocks\", or needs stock market data from Yahoo Finance.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-cli\u002FSKILL.md",[175],{"categoryNo":146,"categoryName":147,"taxonomyType":98,"taxonomyTypeDesc":99},[149,150,152,177,178,179,180,181,182,160,183,184,185,186,187,188,189,190,117,167],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]