[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M77YY4M3KC7Y3EX4SS3FQ5WQ":3,"skill-same:01M77YY4M3KC7Y3EX4SS3FQ5WQ":53},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":35,"ownerHtmlUrl":36,"ownerBlogUrl":6,"ownerDescription":37,"updatedAt":38,"install":39,"resources":52},"01M77YY4M3KC7Y3EX4SS3FQ5WQ","memory-auto-manager",null,"记忆自动主动管理：每15分钟自动扫描对话，发现重要信息自动写入每日memory。解决\"主动感知靠自觉经常失效\"的问题。\n\n使用场景：\n- 每次对话结束后自动检查是否有遗漏的重要信息\n- 自动记录完成的任务、决策、教训、配置变更\n- 增量扫描对话历史，不遗漏不重复\n- user + assistant 消息双读，确保不漏AI回复中的结论\n\n核心组件：\n- memory-scan.py：增量扫描脚本\n- 两个 cron：Memory自动检查（每15分钟）+ 每周六记忆合并\n\n适用版本：OpenClaw","Lord1Egypt\u002Fawesome-skill-forge","Lord1Egypt","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F99746359?v=4","01M7592YDNT0XK9WJ0T2MQVPDN","Mohamed Mounir Ali AL Keshita","01M75GRFNHC8VZNWEB8DKDE433",3,"MIT","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fcommunity\u002Fclawhub\u002Fx\u002Fxiazun-memory-auto\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: memory-auto-manager\nversion: 1.0.0\ndescription: |\n  记忆自动主动管理：每15分钟自动扫描对话，发现重要信息自动写入每日memory。解决\"主动感知靠自觉经常失效\"的问题。\n  \n  使用场景：\n  - 每次对话结束后自动检查是否有遗漏的重要信息\n  - 自动记录完成的任务、决策、教训、配置变更\n  - 增量扫描对话历史，不遗漏不重复\n  - user + assistant 消息双读，确保不漏AI回复中的结论\n  \n  核心组件：\n  - memory-scan.py：增量扫描脚本\n  - 两个 cron：Memory自动检查（每15分钟）+ 每周六记忆合并\n  \n  适用版本：OpenClaw\nallowed-tools: [\"exec\", \"read\", \"write\"]\n---\n\n# Memory Auto Manager Skill\n\n自动记忆管理系统，解决\"agent经常忘记记录重要信息\"的问题。\n\n## 核心机制\n\n**Hybrid 方案：cron 自动扫描 + AI 对比判断**\n\n```\n每15分钟 cron 自动触发\n        ↓\nexec 运行 memory-scan.py\n        ↓\n读取主会话 transcript .jsonl（增量：只读新消息，user+assistant 都读）\n        ↓\n读取当前 memory 文件\n        ↓\nAI 分析：对话 vs 现有memory → 判断是否有遗漏\n        ↓\n有遗漏 → 写入 memory\u002FYYYY-MM-DD.md + 更新 last-memory-write.json\n无遗漏 → 静默结束\n```\n\n## 判断标准\n\n满足任一 → **必须写入 memory**：\n1. 完成了什么（任务、里程碑）\n2. 确认了什么（方案、决策）\n3. 发现了什么（关键数据）\n4. 犯了什么错（教训、踩坑）\n5. 配置改了什么\n6. 有阻塞\u002F待确认\n\n**不写入**：过程讨论、简单确认、无结论的闲聊\n\n## 文件结构\n\n```\n~\u002F.openclaw\u002F\n├── agents\u002Fmain\u002Fsessions\u002F\n│   └── {session-id}.jsonl              ← 主会话 transcript\n├── scripts\u002F\n│   └── memory-scan.py                   ← 扫描脚本\n└── workspace\u002F\n    ├── memory\u002F\n    │   ├── YYYY-MM-DD.md               ← 每日 memory\n    │   ├── last-memory-write.json       ← 上次写入时间\n    │   └── scan-state.json             ← 增量扫描状态\n    └── HEARTBEAT.md                    ← 汇报规则\n```\n\n## 快速安装\n\n### Step 1：创建 cron（自动检查，每15分钟）\n\n```bash\nopenclaw cron add \\\n  --name \"Memory自动检查V3\" \\\n  --every \"15m\" \\\n  --session isolated \\\n  --message \"你是记忆管理员。执行memory扫描：\n1. exec 运行：python3 ~\u002F.openclaw\u002Fscripts\u002Fmemory-scan.py\n2. 读取输出的新消息内容（user + assistant）\n3. 分析是否有重要信息（完成的任务\u002F决策\u002F教训\u002F配置变更）\n4. 有重要信息？→ 写入 memory\u002FYYYY-MM-DD.md + 更新 last-memory-write.json\n5. 输出：检查完成，写入X条\u002F无新增\n\n判断标准：\n- 完成了什么（任务、里程碑）\n- 确认了什么（方案、决策）\n- 发现了什么（关键数据）\n- 犯了什么错（教训、踩坑）\n- 配置改了什么\n- 有阻塞\u002F待确认\" \\\n  --tools \"exec,read,write\" \\\n  --no-deliver\n```\n\n### Step 2：创建 cron（每周六记忆合并）\n\n```bash\nopenclaw cron add \\\n  --name \"每周六记忆合并\" \\\n  --cron \"0 0 * * 6\" \\\n  --tz \"Asia\u002FShanghai\" \\\n  --session isolated \\\n  --message \"你是记忆管理员。每周六自动执行记忆合并。\n1. 读取本周所有 memory\u002FYYYY-MM-DD.md 文件\n2. 提炼重要信息：里程碑\u002F教训\u002F关键数据\u002F配置变更\u002F决策\n3. 合并写入 MEMORY.md 对应区块\n4. 更新 last-memory-write.json 的 lastMemoryMerge\n5. 向用户发送合并完成通知\" \\\n  --timeout-seconds 300 \\\n  --deliver \\\n  --channel feishu \\\n  --to \"user:ou_xxxxxxxx\"  # 替换为实际 user id\n```\n\n### Step 3：创建 scan-state.json\n\n```bash\necho '{\"last_scan_ts\": 0}' > ~\u002F.openclaw\u002Fworkspace\u002Fmemory\u002Fscan-state.json\n```\n\n### Step 4：确认 transcript 路径\n\n```bash\n# 找到主会话 transcript 文件\nls -lt ~\u002F.openclaw\u002Fagents\u002Fmain\u002Fsessions\u002F*.jsonl | head -1\n```\n\n然后更新 memory-scan.py 中的 `TRANSCRIPT` 变量，或设置环境变量 `MEMORY_SCAN_TRANSCRIPT`。\n\n## 每日 memory 文件格式\n\n```markdown\n# YYYY-MM-DD 工作日志\n\n## 今日完成\n- [任务名称]\n  - 具体内容\n\n## 决策（HH:MM 新增）\n- [具体决策及原因]\n\n## 教训\u002F发现\n- [踩坑记录]\n\n## 配置变更\n- [改了哪些配置]\n\n## 待确认\n- [待确认的事项]\n```\n\n## last-memory-write.json 格式\n\n```json\n{\n  \"lastDailyWrite\": \"2026-04-15T15:09:00+08:00\",\n  \"lastMemoryMerge\": \"2026-04-05T00:00:00+08:00\",\n  \"todayEntries\": 8,\n  \"lastEntry\": \"上一条写入的内容摘要\"\n}\n```\n\n## 验证方法\n\n```bash\n# 查看 cron 状态\nopenclaw cron list | grep Memory\n\n# 查看最近运行记录\nopenclaw cron runs --id \u003Ccron-id> | head -50\n\n# 查看 memory 文件\ncat ~\u002F.openclaw\u002Fworkspace\u002Fmemory\u002FYYYY-MM-DD.md\n\n# 查看 scan 状态\ncat ~\u002F.openclaw\u002Fworkspace\u002Fmemory\u002Fscan-state.json\n```\n\n## 局限性\n\n- 无法感知纯 AI 端的思考（transcript 只记录显式消息）\n- 如果用户几小时不说话，memory 不会更新\n- AI 判断仍有误差可能\n\n## 依赖\n\n- OpenClaw cron 系统\n- Python 3\n- 主会话 transcript 文件可访问\n\n## 版本\n\n- v2.0：增量扫描 + user\u002Fassistant 双读\n- v1.0：固定窗口扫描 + 只读 user 消息\n","# Memory Auto Manager Skill\n\n自动记忆管理系统，解决\"agent经常忘记记录重要信息\"的问题。\n\n## 核心机制\n\n**Hybrid 方案：cron 自动扫描 + AI 对比判断**\n\n```\n每15分钟 cron 自动触发\n        ↓\nexec 运行 memory-scan.py\n        ↓\n读取主会话 transcript .jsonl（增量：只读新消息，user+assistant 都读）\n        ↓\n读取当前 memory 文件\n        ↓\nAI 分析：对话 vs 现有memory → 判断是否有遗漏\n        ↓\n有遗漏 → 写入 memory\u002FYYYY-MM-DD.md + 更新 last-memory-write.json\n无遗漏 → 静默结束\n```\n\n## 判断标准\n\n满足任一 → **必须写入 memory**：\n1. 完成了什么（任务、里程碑）\n2. 确认了什么（方案、决策）\n3. 发现了什么（关键数据）\n4. 犯了什么错（教训、踩坑）\n5. 配置改了什么\n6. 有阻塞\u002F待确认\n\n**不写入**：过程讨论、简单确认、无结论的闲聊\n\n## 文件结构\n\n```\n~\u002F.openclaw\u002F\n├── agents\u002Fmain\u002Fsessions\u002F\n│   └── {session-id}.jsonl              ← 主会话 transcript\n├── scripts\u002F\n│   └── memory-scan.py                   ← 扫描脚本\n└── workspace\u002F\n    ├── memory\u002F\n    │   ├── YYYY-MM-DD.md               ← 每日 memory\n    │   ├── last-memory-write.json       ← 上次写入时间\n    │   └── scan-state.json             ← 增量扫描状态\n    └── HEARTBEAT.md                    ← 汇报规则\n```\n\n## 快速安装\n\n### Step 1：创建 cron（自动检查，每15分钟）\n\n```bash\nopenclaw cron add \\\n  --name \"Memory自动检查V3\" \\\n  --every \"15m\" \\\n  --session isolated \\\n  --message \"你是记忆管理员。执行memory扫描：\n1. exec 运行：python3 ~\u002F.openclaw\u002Fscripts\u002Fmemory-scan.py\n2. 读取输出的新消息内容（user + assistant）\n3. 分析是否有重要信息（完成的任务\u002F决策\u002F教训\u002F配置变更）\n4. 有重要信息？→ 写入 memory\u002FYYYY-MM-DD.md + 更新 last-memory-write.json\n5. 输出：检查完成，写入X条\u002F无新增\n\n判断标准：\n- 完成了什么（任务、里程碑）\n- 确认了什么（方案、决策）\n- 发现了什么（关键数据）\n- 犯了什么错（教训、踩坑）\n- 配置改了什么\n- 有阻塞\u002F待确认\" \\\n  --tools \"exec,read,write\" \\\n  --no-deliver\n```\n\n### Step 2：创建 cron（每周六记忆合并）\n\n```bash\nopenclaw cron add \\\n  --name \"每周六记忆合并\" \\\n  --cron \"0 0 * * 6\" \\\n  --tz \"Asia\u002FShanghai\" \\\n  --session isolated \\\n  --message \"你是记忆管理员。每周六自动执行记忆合并。\n1. 读取本周所有 memory\u002FYYYY-MM-DD.md 文件\n2. 提炼重要信息：里程碑\u002F教训\u002F关键数据\u002F配置变更\u002F决策\n3. 合并写入 MEMORY.md 对应区块\n4. 更新 last-memory-write.json 的 lastMemoryMerge\n5. 向用户发送合并完成通知\" \\\n  --timeout-seconds 300 \\\n  --deliver \\\n  --channel feishu \\\n  --to \"user:ou_xxxxxxxx\"  # 替换为实际 user id\n```\n\n### Step 3：创建 scan-state.json\n\n```bash\necho '{\"last_scan_ts\": 0}' > ~\u002F.openclaw\u002Fworkspace\u002Fmemory\u002Fscan-state.json\n```\n\n### Step 4：确认 transcript 路径\n\n```bash\n# 找到主会话 transcript 文件\nls -lt ~\u002F.openclaw\u002Fagents\u002Fmain\u002Fsessions\u002F*.jsonl | head -1\n```\n\n然后更新 memory-scan.py 中的 `TRANSCRIPT` 变量，或设置环境变量 `MEMORY_SCAN_TRANSCRIPT`。\n\n## 每日 memory 文件格式\n\n```markdown\n# YYYY-MM-DD 工作日志\n\n## 今日完成\n- [任务名称]\n  - 具体内容\n\n## 决策（HH:MM 新增）\n- [具体决策及原因]\n\n## 教训\u002F发现\n- [踩坑记录]\n\n## 配置变更\n- [改了哪些配置]\n\n## 待确认\n- [待确认的事项]\n```\n\n## last-memory-write.json 格式\n\n```json\n{\n  \"lastDailyWrite\": \"2026-04-15T15:09:00+08:00\",\n  \"lastMemoryMerge\": \"2026-04-05T00:00:00+08:00\",\n  \"todayEntries\": 8,\n  \"lastEntry\": \"上一条写入的内容摘要\"\n}\n```\n\n## 验证方法\n\n```bash\n# 查看 cron 状态\nopenclaw cron list | grep Memory\n\n# 查看最近运行记录\nopenclaw cron runs --id \u003Ccron-id> | head -50\n\n# 查看 memory 文件\ncat ~\u002F.openclaw\u002Fworkspace\u002Fmemory\u002FYYYY-MM-DD.md\n\n# 查看 scan 状态\ncat ~\u002F.openclaw\u002Fworkspace\u002Fmemory\u002Fscan-state.json\n```\n\n## 局限性\n\n- 无法感知纯 AI 端的思考（transcript 只记录显式消息）\n- 如果用户几小时不说话，memory 不会更新\n- AI 判断仍有误差可能\n\n## 依赖\n\n- OpenClaw cron 系统\n- Python 3\n- 主会话 transcript 文件可访问\n\n## 版本\n\n- v2.0：增量扫描 + user\u002Fassistant 双读\n- v1.0：固定窗口扫描 + 只读 user 消息\n",{"name":5,"version":24,"description":25,"allowed-tools":26},"1.0.0","记忆自动主动管理：每15分钟自动扫描对话，发现重要信息自动写入每日memory。解决\"主动感知靠自觉经常失效\"的问题。\n\n使用场景：\n- 每次对话结束后自动检查是否有遗漏的重要信息\n- 自动记录完成的任务、决策、教训、配置变更\n- 增量扫描对话历史，不遗漏不重复\n- user + assistant 消息双读，确保不漏AI回复中的结论\n\n核心组件：\n- memory-scan.py：增量扫描脚本\n- 两个 cron：Memory自动检查（每15分钟）+ 每周六记忆合并\n\n适用版本：OpenClaw\n",[27,28,29],"exec","read","write","master","4aa004da461d820f4ea5499e58eb8d196cf99016","community\u002Fclawhub\u002Fx\u002Fxiazun-memory-auto",0,"https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge","https:\u002F\u002Fskill-explorer-rho.vercel.app","https:\u002F\u002Fgithub.com\u002FLord1Egypt","Unbreakable. Unstoppable. Unmatched⚡.\r\n Speaker of machine tongues 🤖  | World-builder of decentralized dreams 🌐 | Defender of the digital realm🛡️.","2026-06-10 08:21:01",{"source":8,"skillName":5,"commands":40,"prompt":50,"zipAvailable":51},[41,44,47],{"tool":42,"command":43},"npx","npx skills add Lord1Egypt\u002Fawesome-skill-forge --skill memory-auto-manager",{"tool":45,"command":46},"bunx","bunx skills add Lord1Egypt\u002Fawesome-skill-forge --skill memory-auto-manager",{"tool":48,"command":49},"pnpm","pnpm dlx skills add Lord1Egypt\u002Fawesome-skill-forge --skill memory-auto-manager","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fcommunity\u002Fclawhub\u002Fx\u002Fxiazun-memory-auto\u002FSKILL.md",true,[],[54,61,68,75,82,89],{"skillNo":55,"name":56,"nameZh":6,"description":57,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":58,"categories":59,"keywords":60,"publishedAt":19},"01M785WKJB99G3STR1NF9NRTJW","youtube-content","YouTube transcripts to summaries, threads, blogs.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fyoutube-content\u002FSKILL.md",[],[],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":19},"01M785WEFHB0G2S9YA6EPR3H0E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fxurl\u002FSKILL.md",[],[],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":19},"01M785W98EDN4EFJXJPMQEHCRC","touchdesigner-mcp","Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Ftouchdesigner-mcp\u002FSKILL.md",[],[],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":19},"01M785W5S9FP3QBH2V191E025P","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[],[],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":19},"01M785W2AS08NSSH9YATCV6FJB","teams-meeting-pipeline","Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fteams-meeting-pipeline\u002FSKILL.md",[],[],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":19},"01M785VXKW4T34BTP1SCHW1R7F","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fsystematic-debugging\u002FSKILL.md",[],[]]