auto: sync OpenClaw config 2026-09-01 10:10 [manual]

This commit is contained in:
2026-09-01 10:10:21 +08:00
parent 0a394ad88b
commit bb77e01051
1956 changed files with 75339 additions and 571 deletions
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"birthday-reminder-20260731-b22c95216e","kind":"create","status":"applied","title":"Create birthday-reminder","description":"\"管理家人/朋友生日提醒。农历或阳历生日,每年换算公历,生日前7天、前3天、当天通过钉钉提醒杨轩。\"","createdAt":"2026-07-31T11:29:54.202Z","updatedAt":"2026-07-31T11:33:42.919Z","createdBy":"skill-workshop","origin":{"agentId":"main","sessionKey":"agent:main:dingtalk-connector:direct:0464031658857345","runId":"4a92a4e4-442d-4327-90d0-440505518eb3","messageId":"msg003iQyZFijTOfEB9HpgwIg=="},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"68a3da0aa70ccd19d727fb8c3edc9bb50fd0178465c0c9ae927d9c7191fc98c2","target":{"skillName":"birthday-reminder","skillKey":"birthday-reminder","skillDir":"/home/yangxuan/.openclaw/workspace/skills/birthday-reminder","skillFile":"/home/yangxuan/.openclaw/workspace/skills/birthday-reminder/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-07-31T11:33:42.888Z","critical":0,"warn":0,"info":0,"findings":[]},"goal":"统一管理杨轩家庭成员/朋友的生日提醒:记录生日信息(农历/阳历)、每年换算公历生日、创建三次提醒 cron 任务、维护长期记忆。实现一套可复用的标准化流程。","appliedAt":"2026-07-31T11:33:42.919Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"birthday-reminder-20260731-b22c95216e","writtenAt":"2026-07-31T11:33:42.892Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/skills/birthday-reminder/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"calibre-cleaner-20260624-0fc374efd7","kind":"update","status":"applied","title":"Update calibre-cleaner","description":"清洗 Calibre 书库:修复损坏书名/提取作者/检测编码损坏、小文件的批量删除","createdAt":"2026-06-24T03:23:27.062Z","updatedAt":"2026-07-09T09:56:20.404Z","createdBy":"skill-workshop","origin":{"agentId":"storage","sessionKey":"agent:storage:main","runId":"62debb6e-62f3-41ff-ab3a-0d2fdc63ff4d","messageId":"62debb6e-62f3-41ff-ab3a-0d2fdc63ff4d"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"9f8e90cfa549288742db7af62bc54db12a9650208104a2efcba6c7a4fb2b4a49","target":{"skillName":"calibre-cleaner","skillKey":"calibre-cleaner","skillDir":"/home/yangxuan/.openclaw/workspace/storage/skills/calibre-cleaner","skillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/calibre-cleaner/SKILL.md","source":"openclaw-workspace","currentContentHash":"929fdbb7a4de265565ca75bdf3692d33623a634f4991c21a51e5f829b0e9b2c0"},"scan":{"state":"clean","scannedAt":"2026-07-09T09:56:20.395Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-07-09T09:56:20.404Z"}
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"calibre-cleaner-20260624-a441798af9","kind":"create","status":"applied","title":"Create calibre-cleaner","description":"清洗 Calibre 书库:修复损坏书名/提取作者/检测编码损坏、小文件的批量删除","createdAt":"2026-06-24T02:29:02.278Z","updatedAt":"2026-06-24T02:29:27.227Z","createdBy":"skill-workshop","origin":{"agentId":"storage","sessionKey":"agent:storage:main","runId":"6e4a8a08-2c78-4b57-866f-c8377d65f96c","messageId":"6e4a8a08-2c78-4b57-866f-c8377d65f96c"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"15703b0a633a8d2adfce44b7b6623d42f0a25778e39c1436b002a42da67c974e","target":{"skillName":"calibre-cleaner","skillKey":"calibre-cleaner","skillDir":"/home/yangxuan/.openclaw/workspace/storage/skills/calibre-cleaner","skillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/calibre-cleaner/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-06-24T02:29:27.216Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-06-24T02:29:27.227Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"calibre-cleaner-20260624-a441798af9","writtenAt":"2026-06-24T02:29:27.217Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/calibre-cleaner/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"calibre-cleaner-20260624-cdbeb219a3","kind":"update","status":"applied","title":"Update calibre-cleaner","description":"清洗 Calibre 书库:修复损坏书名/提取作者/检测编码损坏、小文件的批量删除","createdAt":"2026-06-24T03:03:28.166Z","updatedAt":"2026-06-24T03:03:30.915Z","createdBy":"skill-workshop","origin":{"agentId":"storage","sessionKey":"agent:storage:main","runId":"86d65e13-ea3d-4313-b25d-ee3fae219431","messageId":"86d65e13-ea3d-4313-b25d-ee3fae219431"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"7a0719492c9262eebf6ea0a5d031bd1fdc45dd0e919e6ef04c5b1ce255ed0f2c","target":{"skillName":"calibre-cleaner","skillKey":"calibre-cleaner","skillDir":"/home/yangxuan/.openclaw/workspace/storage/skills/calibre-cleaner","skillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/calibre-cleaner/SKILL.md","source":"openclaw-workspace","currentContentHash":"dd59723daea61a10edc128f446e41d71c07b03cbe6064ea5140e260a21fce51e"},"scan":{"state":"clean","scannedAt":"2026-06-24T03:03:30.906Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-06-24T03:03:30.915Z"}
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"calibre-title-cleaner-20260624-3760b64e8b","kind":"create","status":"applied","title":"Create calibre-title-cleaner","description":"清洗 Calibre 书库中损坏的 txt 文档书名(HTML标签/长文本/乱码/路径超限修复)","createdAt":"2026-06-24T01:10:56.296Z","updatedAt":"2026-06-24T01:13:39.670Z","createdBy":"skill-workshop","origin":{"agentId":"storage","sessionKey":"agent:storage:main","runId":"af9dc258-69c6-4d62-85d9-80f64c387d85","messageId":"af9dc258-69c6-4d62-85d9-80f64c387d85"},"proposedVersion":"v2","draftFile":"PROPOSAL.md","draftHash":"735afe1e59db22fb6cbffbe074e559ebc91137fa3687e503b12fc91af62f42e1","target":{"skillName":"calibre-title-cleaner","skillKey":"calibre-title-cleaner","skillDir":"/home/yangxuan/.openclaw/workspace/storage/skills/calibre-title-cleaner","skillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/calibre-title-cleaner/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-06-24T01:13:39.659Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-06-24T01:13:39.670Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"calibre-title-cleaner-20260624-3760b64e8b","writtenAt":"2026-06-24T01:13:39.660Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/calibre-title-cleaner/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"db-backup-enroll-20260826-5d24d9c2be","kind":"create","status":"applied","title":"Create db-backup-enroll","description":"新建带数据库的 agent 时,自动把其库加入每日备份脚本 backup-agent-dbs.sh,保证所有本地库被 crontab 03:00 备份。","createdAt":"2026-08-26T11:53:23.566Z","updatedAt":"2026-08-26T11:53:37.051Z","createdBy":"skill-workshop","origin":{"agentId":"main","sessionKey":"agent:main:main","runId":"a11132f3-c852-4cdc-a459-7d059dc70ee6","messageId":"a11132f3-c852-4cdc-a459-7d059dc70ee6"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"5941ec229262e681eb44ff8f3c20f57347eecfc9f015564048d32e9b48255c8d","target":{"skillName":"db-backup-enroll","skillKey":"db-backup-enroll","skillDir":"/home/yangxuan/.openclaw/workspace/skills/db-backup-enroll","skillFile":"/home/yangxuan/.openclaw/workspace/skills/db-backup-enroll/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-08-26T11:53:36.936Z","critical":0,"warn":0,"info":0,"findings":[]},"goal":"固化「新建数据库 agent 必须把库加入自动备份」流程,防新库漏备份。","appliedAt":"2026-08-26T11:53:37.051Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"db-backup-enroll-20260826-5d24d9c2be","writtenAt":"2026-08-26T11:53:36.943Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/skills/db-backup-enroll/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"dianping-review-20260611-d402abec10","kind":"create","status":"applied","title":"Create dianping-review","description":"通过大众点评搜索查询餐厅、老店、美食推荐和评论","createdAt":"2026-06-11T23:50:15.731Z","updatedAt":"2026-07-09T09:56:20.865Z","createdBy":"skill-workshop","origin":{"agentId":"travel","sessionKey":"agent:travel:openclaw-weixin:direct:o9cq80w6znnpgitw-ggackwd69ba@im.wechat","runId":"877b3a72-a43d-4105-bc96-68d122db4362","messageId":"openclaw-weixin:1781221807078-aeb5f501"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"e1b2e0249d29f948d5f7c08421dc563c8ffa8da5eef28d7ee1d7df5cc0315cbf","target":{"skillName":"dianping-review","skillKey":"dianping-review","skillDir":"/home/yangxuan/.openclaw/workspace/travel/skills/dianping-review","skillFile":"/home/yangxuan/.openclaw/workspace/travel/skills/dianping-review/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-07-09T09:56:20.858Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-07-09T09:56:20.865Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"dianping-review-20260611-d402abec10","writtenAt":"2026-07-09T09:56:20.859Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/travel/skills/dianping-review/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"f-download-sorter-20260706-902cc0d5aa","kind":"create","status":"applied","title":"Create f-download-sorter","description":"整理 /mnt/f 下下载的视频文件:扫描→清垃圾→按规则归档到7个大类目录","createdAt":"2026-07-06T09:03:54.941Z","updatedAt":"2026-07-06T09:04:18.513Z","createdBy":"skill-workshop","origin":{"agentId":"storage","sessionKey":"agent:storage:main","runId":"ead41134-1fbd-4c3a-92b3-6ac9ff66c881","messageId":"ead41134-1fbd-4c3a-92b3-6ac9ff66c881"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"6bb936a1321fbabce7a95b719c325be86c0a50005faa4e56bce40a058bdc9360","target":{"skillName":"f-download-sorter","skillKey":"f-download-sorter","skillDir":"/home/yangxuan/.openclaw/workspace/storage/skills/f-download-sorter","skillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/f-download-sorter/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-07-06T09:04:18.504Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-07-06T09:04:18.513Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"f-download-sorter-20260706-902cc0d5aa","writtenAt":"2026-07-06T09:04:18.505Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/f-download-sorter/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"jav-media-sorter-20260707-b1f90c8a4d","kind":"create","status":"applied","title":"Create jav-media-sorter","description":"JAV 视频整理:组装文件、按演员分组、刮削 nfo 元数据与封面图","createdAt":"2026-07-07T12:14:43.074Z","updatedAt":"2026-07-09T09:56:18.413Z","createdBy":"skill-workshop","origin":{"agentId":"storage","sessionKey":"agent:storage:main","runId":"6bfe1579-7e3c-4bdc-8435-9ee0822885bc","messageId":"6bfe1579-7e3c-4bdc-8435-9ee0822885bc"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"aa0d2afcf8a91294ba24b1df0b7326254b82701baa5ad1c1770f7e19de52834a","target":{"skillName":"jav-media-sorter","skillKey":"jav-media-sorter","skillDir":"/home/yangxuan/.openclaw/workspace/storage/skills/jav-media-sorter","skillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/jav-media-sorter/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-07-09T09:56:18.403Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-07-09T09:56:18.413Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"jav-media-sorter-20260707-b1f90c8a4d","writtenAt":"2026-07-09T09:56:18.406Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/jav-media-sorter/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"jellyfin-nfo-builder-20260701-6434352e0d","kind":"create","status":"applied","title":"Create jellyfin-nfo-builder","description":"为剧集整理统一文件名、生成缺失的 Jellyfin .nfo 剧集元数据","createdAt":"2026-07-01T23:52:24.406Z","updatedAt":"2026-07-09T09:56:19.928Z","createdBy":"skill-workshop","origin":{"agentId":"storage","sessionKey":"agent:storage:main","runId":"1b45e119-4276-4a7c-8a20-e52d1679a304","messageId":"1b45e119-4276-4a7c-8a20-e52d1679a304"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"fa9a54a33aecdbb0a96e175f7acf1e923606cbf90114460da48548e127710a48","target":{"skillName":"jellyfin-nfo-builder","skillKey":"jellyfin-nfo-builder","skillDir":"/home/yangxuan/.openclaw/workspace/storage/skills/jellyfin-nfo-builder","skillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/jellyfin-nfo-builder/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-07-09T09:56:19.920Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-07-09T09:56:19.928Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"jellyfin-nfo-builder-20260701-6434352e0d","writtenAt":"2026-07-09T09:56:19.921Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/storage/skills/jellyfin-nfo-builder/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"mysql-schema-sync-20260814-ae77f6b8af","kind":"create","status":"applied","title":"Create mysql-schema-sync","description":"MySQL 表结构同步最佳实践:跨环境同步 DDL,处理 CREATE/ALTER 失败场景","createdAt":"2026-08-14T07:14:36.432Z","updatedAt":"2026-08-14T07:14:46.611Z","createdBy":"skill-workshop","origin":{"agentId":"sql","sessionKey":"agent:sql:main","runId":"0faa8e48-f62f-47a5-8287-ea9b79e0b9c2","messageId":"0faa8e48-f62f-47a5-8287-ea9b79e0b9c2"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"12787d9dc06dc79df3d4b3a043b9fcadac8f8bd86fc794055af161af380a09ef","target":{"skillName":"mysql-schema-sync","skillKey":"mysql-schema-sync","skillDir":"/home/yangxuan/.openclaw/workspace-sql/skills/mysql-schema-sync","skillFile":"/home/yangxuan/.openclaw/workspace-sql/skills/mysql-schema-sync/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-08-14T07:14:46.514Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-08-14T07:14:46.611Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"mysql-schema-sync-20260814-ae77f6b8af","writtenAt":"2026-08-14T07:14:46.521Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace-sql/skills/mysql-schema-sync/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"pbs-bk03-opt-backup-20260821-cd5da2b88c","kind":"create","status":"applied","title":"Create pbs-bk03-opt-backup","description":"bk03 /opt 备份到 pbs01 library。连接 bk03、认证 PBS 仓库、proxmox-backup-client 推送。","createdAt":"2026-08-21T07:59:03.609Z","updatedAt":"2026-08-21T07:59:28.295Z","createdBy":"skill-workshop","origin":{"agentId":"pbs","sessionKey":"agent:pbs:main","runId":"ff49d517-6c11-4f94-8a4a-002025df1603","messageId":"ff49d517-6c11-4f94-8a4a-002025df1603"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"2072b98276500a24b47305c95a3a8148f8389a90942237a02536cfb661839a43","target":{"skillName":"pbs-bk03-opt-backup","skillKey":"pbs-bk03-opt-backup","skillDir":"/home/yangxuan/.openclaw/workspace-pbs/skills/pbs-bk03-opt-backup","skillFile":"/home/yangxuan/.openclaw/workspace-pbs/skills/pbs-bk03-opt-backup/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-08-21T07:59:28.219Z","critical":0,"warn":0,"info":0,"findings":[]},"goal":"将「pbs01 开机后检测 bk03 在线并控制其把 /opt 备份到 library 存储」流程封装为可复用技能。","appliedAt":"2026-08-21T07:59:28.295Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"pbs-bk03-opt-backup-20260821-cd5da2b88c","writtenAt":"2026-08-21T07:59:28.226Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace-pbs/skills/pbs-bk03-opt-backup/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"pbs-vps01-opt-backup-20260821-ecb020b952","kind":"create","status":"applied","title":"Create pbs-vps01-opt-backup","description":"vps01 /opt 备份到 pbs01 library。连接 vps01、认证 PBS 仓库、proxmox-backup-client 推送。","createdAt":"2026-08-21T08:08:39.382Z","updatedAt":"2026-08-21T08:09:37.465Z","createdBy":"skill-workshop","origin":{"agentId":"pbs","sessionKey":"agent:pbs:main","runId":"fcdf099b-f559-4ca4-8ab3-42e176e3b570","messageId":"fcdf099b-f559-4ca4-8ab3-42e176e3b570"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"0118b84319f204d9cbe58403d64d27f95f048df0e7e50bbf3344a798561517c7","target":{"skillName":"pbs-vps01-opt-backup","skillKey":"pbs-vps01-opt-backup","skillDir":"/home/yangxuan/.openclaw/workspace-pbs/skills/pbs-vps01-opt-backup","skillFile":"/home/yangxuan/.openclaw/workspace-pbs/skills/pbs-vps01-opt-backup/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-08-21T08:09:37.398Z","critical":0,"warn":0,"info":0,"findings":[]},"goal":"将「vps01 的 /opt 目录备份到 pbs01 library 存储」封装为独立可复用技能,涵盖连接、认证、备份命令与安全红线。","appliedAt":"2026-08-21T08:09:37.465Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"pbs-vps01-opt-backup-20260821-ecb020b952","writtenAt":"2026-08-21T08:09:37.401Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace-pbs/skills/pbs-vps01-opt-backup/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"table-alias-20260814-97302444a5","kind":"create","status":"applied","title":"Create table-alias","description":"将准生产数据库表结构同步到 VPS 开发库,智能对比差异并执行 ALTER/CREATE","createdAt":"2026-08-14T06:24:41.780Z","updatedAt":"2026-08-14T06:27:19.678Z","createdBy":"skill-workshop","origin":{"agentId":"sql","sessionKey":"agent:sql:main","runId":"5c547b82-c7ac-4d39-967c-12334bb6d791","messageId":"5c547b82-c7ac-4d39-967c-12334bb6d791"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"43fe2c18c63246969f8dfe01e45557e2ee5c0f6eef1ef0ca8f8b43f47b181464","target":{"skillName":"table-alias","skillKey":"table-alias","skillDir":"/home/yangxuan/.openclaw/workspace-sql/skills/table-alias","skillFile":"/home/yangxuan/.openclaw/workspace-sql/skills/table-alias/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-08-14T06:27:19.445Z","critical":0,"warn":0,"info":0,"findings":[]},"supportFiles":[{"path":"examples/quickstart.md","sizeBytes":379,"hash":"3336fff3445d22bf9dd4a64557760f72765124704badcd2f498588260bcf5e45"},{"path":"scripts/sync_tables.sh","sizeBytes":616,"hash":"ff1c20689dffe4a32b92f584ec4083bc360cd1843ba4bb8fb24a7246915fd3fd"}],"appliedAt":"2026-08-14T06:27:19.678Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"table-alias-20260814-97302444a5","writtenAt":"2026-08-14T06:27:19.464Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace-sql/skills/table-alias/SKILL.md","action":"create","supportFiles":[{"path":"examples/quickstart.md","existed":false},{"path":"scripts/sync_tables.sh","existed":false}]}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"weekly-report-dingtalk-draft-20260731-610f0943bc","kind":"create","status":"applied","title":"Create weekly-report-dingtalk-draft","description":"生成项目周报草稿存入钉邮草稿箱(仅草稿禁发)。固化杨轩周报标准格式/签名/收件抄送。","createdAt":"2026-07-31T02:07:55.496Z","updatedAt":"2026-07-31T02:09:58.896Z","createdBy":"skill-workshop","origin":{"agentId":"main","sessionKey":"agent:main:openclaw-weixin:direct:o9cq80w6znnpgitw-ggackwd69ba@im.wechat","runId":"16559456-06ef-4d28-921b-40da704d8ae5","messageId":"openclaw-weixin:1785463647241-96c14cef"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"7b8f70e32ea9f8779a96717cf930d7ee71e8d705999547ac82ff2e01d88029eb","target":{"skillName":"weekly-report-dingtalk-draft","skillKey":"weekly-report-dingtalk-draft","skillDir":"/home/yangxuan/.openclaw/workspace/skills/weekly-report-dingtalk-draft","skillFile":"/home/yangxuan/.openclaw/workspace/skills/weekly-report-dingtalk-draft/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-07-31T02:09:58.869Z","critical":0,"warn":0,"info":0,"findings":[]},"goal":"把本次验证通过的周报草稿生成流程固化为可复用技能,每周五自动复用正确的格式与编码,避免重蹈格式/编码踩坑。","appliedAt":"2026-07-31T02:09:58.896Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"weekly-report-dingtalk-draft-20260731-610f0943bc","writtenAt":"2026-07-31T02:09:58.873Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/skills/weekly-report-dingtalk-draft/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"weekly-report-g5-20260626-7595273f1d","kind":"create","status":"applied","title":"Create weekly-report-g5","description":"维云智造G5周报生成:整理每日工作→多段邮件(纯文本+HTML含签名图)→存入钉邮草稿箱","createdAt":"2026-06-26T00:46:22.478Z","updatedAt":"2026-06-26T00:46:35.812Z","createdBy":"skill-workshop","origin":{"agentId":"resume","sessionKey":"agent:resume:main","runId":"7fa9bf80-5f98-41ba-8744-83e449da1295","messageId":"7fa9bf80-5f98-41ba-8744-83e449da1295"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"f608b6a347fcb01303eff420e73bbb95a2b9d313b55d046fc65c131ec2db14ba","target":{"skillName":"weekly-report-g5","skillKey":"weekly-report-g5","skillDir":"/home/yangxuan/.openclaw/workspace/resume/skills/weekly-report-g5","skillFile":"/home/yangxuan/.openclaw/workspace/resume/skills/weekly-report-g5/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-06-26T00:46:35.797Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-06-26T00:46:35.812Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"weekly-report-g5-20260626-7595273f1d","writtenAt":"2026-06-26T00:46:35.798Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/resume/skills/weekly-report-g5/SKILL.md","action":"create"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"weekly-report-g5-20260821-988ec1cd0e","kind":"update","status":"applied","title":"Update weekly-report-g5","description":"维云智造 G5/G6周报生成:解析任务记录→提取每日工作→多段邮件 (纯文本+HTML)→存入钉邮草稿箱","createdAt":"2026-08-21T06:45:50.933Z","updatedAt":"2026-08-21T06:47:12.811Z","createdBy":"skill-workshop","origin":{"agentId":"resume","sessionKey":"agent:resume:main","runId":"7cd36490-5e8e-49c6-9497-fb610374cfa9","messageId":"7cd36490-5e8e-49c6-9497-fb610374cfa9"},"proposedVersion":"v2","draftFile":"PROPOSAL.md","draftHash":"b41a12972ace8c396d5322ce8769accb2d2e9ed08d81d7e41993c1eee6d2a435","target":{"skillName":"weekly-report-g5","skillKey":"weekly-report-g5","skillDir":"/home/yangxuan/.openclaw/workspace-resume/skills/weekly-report-g5","skillFile":"/home/yangxuan/.openclaw/workspace-resume/skills/weekly-report-g5/SKILL.md","source":"openclaw-workspace","currentContentHash":"37aa514b47c61266e3079e76e7f829cfb700e849a607024e6916360ae5786ad0"},"scan":{"state":"clean","scannedAt":"2026-08-21T06:47:12.689Z","critical":0,"warn":0,"info":0,"findings":[]},"appliedAt":"2026-08-21T06:47:12.811Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"weekly-report-g5-20260821-988ec1cd0e","writtenAt":"2026-08-21T06:47:12.706Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace-resume/skills/weekly-report-g5/SKILL.md","action":"update","previousContent":"---\nname: \"weekly-report-g5\"\ndescription: \"维云智造G5周报生成:整理每日工作→多段邮件(纯文本+HTML含签名图)→存入钉邮草稿箱\"\n---\n\n# weekly-report-g5 — 维云智造 G5 周报生成技能\n\n## 适用场景\n用户提供了周一至周五的每日工作内容,需要生成 G5 周报并存入钉邮草稿箱。\n\n## 工作流程\n\n### 1. 收集每日工作内容\n- 周一(本周首日)至周五\n- 如果用户分多次给出,先等待所有日期内容收齐再生成\n\n### 2. 邮件格式规范\n\n**主题**`G5开发周报 (YYYY-MM-DD ~ YYYY-MM-DD)`\n\n**收件人**liuqiang@witsoft.cn\n\n**抄送**chenm@witsoft.cn, zengli@witsoft.cn\n\n**发送人**:杨轩 \\<yangxuan@witsoft.cn\\>\n\n**正文(纯文本版)**\n```\n项目名称: 维云智造G5\n主要任务: <本周主要任务>\n\n本周工作内容\n周一(YYYY-MM-DD\n - ...\n周二(YYYY-MM-DD\n - ...\n周三(YYYY-MM-DD\n - ...\n周四(YYYY-MM-DD\n - ...\n周五(YYYY-MM-DD\n - ...\n\n存在问题\n<内容或\"无\">\n```\n\n**签名格式(纯文本)**\n```\nBest regards,\n杨轩\nhttps://minio.climbcube.cn/img/202606260843249.jpg\n地址:中国·南京云密城L栋5/10楼\n手机:18726128489\n邮箱:yangxuan@witsoft.cn\n```\n\n### 3. 发送方式\n\n使用 Python 构造**多段邮件**(同时含纯文本和 HTML),然后通过 IMAP APPEND 存入钉邮草稿箱。\n\n调用脚本:\n```bash\npython3 /home/yangxuan/.openclaw/workspace-resume/send_weekly_report.py\n```\n\n或直接执行 Python 代码:\n```python\nfrom send_weekly_report import send_to_drafts\nsend_to_drafts(plain_body, html_body, \"YYYY-MM-DD ~ YYYY-MM-DD\")\n```\n\n### 4. 最后通知\n通知用户去钉钉邮箱草稿箱确认并发送。\n\n## 注意事项\n- 纯文本版签名包含图片 URL 链接\n- HTML 版使用 `<img>` 标签嵌入签名图片\n- 如用户不提供签名信息,使用 MEMORY.md 中的默认签名:姓名、地址、手机、邮箱\n- 所有交互使用中文\n","previousContentHash":"37aa514b47c61266e3079e76e7f829cfb700e849a607024e6916360ae5786ad0"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.proposal.v1","id":"wellness-20260825-6804d40cde","kind":"create","status":"applied","title":"Create wellness","description":"管理按摩放松记录:查询/新增技师联系人(cc_contract)和放松记录(cc_contract_record),本地 MySQL wellness 库。","createdAt":"2026-08-25T13:29:04.543Z","updatedAt":"2026-08-25T13:30:12.970Z","createdBy":"skill-workshop","origin":{"agentId":"main","sessionKey":"agent:main:openclaw-weixin:direct:o9cq80w6znnpgitw-ggackwd69ba@im.wechat","runId":"c6b51ea8-5ab4-49dc-9e72-f48fb692aa4d","messageId":"c6b51ea8-5ab4-49dc-9e72-f48fb692aa4d"},"proposedVersion":"v1","draftFile":"PROPOSAL.md","draftHash":"d35751bb2265684f42344b6c6212d070d8fe6928e8b8135021eff85b2a2904ea","target":{"skillName":"wellness","skillKey":"wellness","skillDir":"/home/yangxuan/.openclaw/workspace/skills/wellness","skillFile":"/home/yangxuan/.openclaw/workspace/skills/wellness/SKILL.md","source":"openclaw-workspace"},"scan":{"state":"clean","scannedAt":"2026-08-25T13:30:12.933Z","critical":0,"warn":0,"info":0,"findings":[]},"goal":"为 wellness agent 提供按摩放松数据库的查询与记录操作流程","appliedAt":"2026-08-25T13:30:12.970Z"}
@@ -1 +0,0 @@
{"schema":"openclaw.skill-workshop.rollback.v1","proposalId":"wellness-20260825-6804d40cde","writtenAt":"2026-08-25T13:30:12.938Z","targetSkillFile":"/home/yangxuan/.openclaw/workspace/skills/wellness/SKILL.md","action":"create"}