AgentSkillsCN

cron-daily-report

生成昨日OpenClaw Cron执行日的总结报告(成功/失败次数、主要错误类型),并自动发送摘要至Telegram群组。

SKILL.md
--- frontmatter
name: cron-daily-report
version: 0.1.0
description: 生成昨日 OpenClaw cron 執行日總結(成功/失敗次數、主要錯誤類型),並發送摘要到 Telegram 群組。
user-invocable: true

Cron Daily Report(昨日日總結)

目標

  • 讀取「所有 OpenClaw cron jobs」與「昨日(Asia/Hong_Kong 00:00-23:59)」的 runs。
  • 統計每個 job:成功/失敗次數。
  • 額外分類失敗原因(特別係:
    • 429 overload
    • gateway timeout
    • path /workspace 不存在
    • read-only file system
    • tool validation failed
    • Telegram send failed / chat not found(屬於通知層,唔一定係工作本體失敗) )。
  • 產出一份精簡報告,寫入:{baseDir}/../../reports/YYYY-MM-DD.md(YYYY-MM-DD = 昨日日期)。
  • 另外用 message tool 將「摘要」發到 Telegram 群組:-5162606720

可用工具

  • 使用 cron 工具:
    • cron.list(includeDisabled:true)
    • cron.runs(jobId)
  • 使用 write/edit:寫 report 檔
  • 使用 message.send:發送摘要到群組(只發摘要,唔好貼長 log)

操作步驟(建議)

  1. cron.list(includeDisabled:true) 取得 job 清單。
  2. 對每個 job 呼叫 cron.runs(jobId),取足夠多 entries(例如最近 200 次),然後用時間範圍過濾到「昨日 00:00-23:59」(Asia/Hong_Kong)。
  3. 逐 job 統計:
    • runs_total、success、error
    • error 類型 top(可從 error / summary 字段做 keyword 分類)
  4. 匯總全局:總 runs、成功、失敗、成功率。
  5. 寫入 report 檔(Markdown)。
  6. 組裝 10~20 行摘要並發到 Telegram 群組 -5162606720

報告格式(Markdown 建議)

  • 標題:# Cron 日總結:YYYY-MM-DD(昨日)
  • 資料完整性聲明(必備)
    • cron.list 是否成功取得 job 清單
    • cron.runs 是否能取得足夠 runs(若 runs 記錄量太少,必須明確寫明「昨日可能未被覆蓋」,避免把「0 runs」誤判成故障)
  • 昨日新增 Cron Jobs(必備)
    • createdAtMs 落在昨日(Asia/Hong_Kong 00:00-23:59)為準
    • 列出:name、jobId、schedule、sessionTarget、enabled
  • 總覽:總 runs / 成功 / 失敗 / 成功率
  • 失敗原因 Top(分「通知層」同「工作本體層」)
  • Job 列表(只列:昨日有 run 的 job;失敗 job 放前面)
    • job name (id)
    • success x / fail y
    • 最近一次失敗時間 + 一行錯誤摘要(最多 1-2 條 sample)

注意

  • 全程使用繁體中文。
  • 唔好輸出任何敏感 token。
  • 唔好嘗試自動修復 cron;只提出建議。