agentleFS
Adonis0123Adonis0123/hermes-kit/skills/hermes-daily-review/SKILL.md

hermes-daily-review

Skill1 starsChanged 51 days agoMITView on GitHub

Use for daily 09:20 review of yesterday before skill edits.

The file

Files
SKILL.md

昨日工作复盘(确认后才改)

owner 要求:定时复盘 只总结 + 建议,等确认 再自我改进或改 skill。

本机细节:若 references/local-*.md 存在,先读它(真实 cron job id、本机相关 skill 路由)。下文 <job_id> 指本复盘 cron 的 job id(没有 local 文件时用 cronjob action=list 按任务名查)。

触发

  • 每日 09:20(Asia/Shanghai 上午) cron(job <job_id>,表达式 20 9 * * *)
  • 用户说「复盘昨天 / 昨天做了什么 / 昨天有哪些可以改进」

时间口径(硬,2026-08-02 已改)

说法真值
任务名「昨日工作复盘 09:20」 / 20 9 * * *每天上午 09:20(当前正式配置)
复盘范围前一完整自然日 00:00:00–23:59:59(Asia/Shanghai)
禁止混入今天尚未完成的工作、前天及更早内容
当天 09:20 后才建 / 修改首次自动执行在次日 09:20;需要补跑可 cronjob action=run
last_run_at=null + executions 空从未执行,不是「静默成功」

建 / 改 cron 硬步骤

  1. 口语 → 24 小时 cron(上午 9:20 → 20 9 * * *)
  2. 回显:表达式 + next_run_at / 人话时间
  3. owner 明确要求修改时直接执行;否则先确认
  4. cronjob action=list 复核 schedule / next_run_at / 任务名 / attached skill

排障:cronjob action=list + ~/.hermes/cron/jobs.json + executions.db;ticker 正常 ≠ 任务已跑过。详见 hermes-local-ops → references/cron-schedule-echo.md(hermes-local-ops 是可选的本机运维 skill;没装就跳过这些指针)。

取证要求

  1. 用 session_search 浏览昨天的相关会话;必要时读取多个会话终稿。读整个会话只传 session_id;around_message_id 是全库全局 id,只能填搜索/读取结果里出现过的 id,禁止猜 1 当"从头"(2026-09-23:9 个会话并发传 1 全部报错,触发 cron 硬停)。
  2. 只把真实完成并有消息、文件、测试或外部状态支撑的内容写成结果。
  3. 计划、推断和未验收状态必须明确标注,禁止写成已完成。
  4. 改进建议最多 5 条;没有值得改的内容就不硬凑。每条必须写「改哪条已有 skill / 为何不新建」。写「新建 xxx」须说明现有哪几条合不进去。禁止默认 skill_manage create。细则 hermes-local-ops → skill-admission.md。
  5. MEMORY.md / USER.md 不是昨日证据(硬·v0.20.5):cron 现会注入热层记忆。复盘「昨天做了什么」只认 session_search / cron output / 文件或外部状态;禁止用 MEMORY 条目当完成证明,禁止用记忆工具改 MEMORY。热层规则最多当「落点建议」的标签。

硬规则

做禁
汇总昨日事项、结果与证据在 cron 会话内自动改 skill / memory / 代码 / 配置
列改进建议并标落点凭 MEMORY.md / USER.md / 热层记忆编造工作或结果
建议默认「改哪条已有 skill」默认「新建 xxx」或 skill_manage create
等「确认 1,3」「按推荐来」未确认先执行建议

用户明确确认某条后,再由当前交互会话执行对应 skill / memory / 流程改动。

确认语解析(硬)

用户说法含义
确认 1,3 / 确认 1 / 确认 2,4只做最新复盘编号清单对应项
只优化 N / 只优化 1,3等价 确认 N:只做磁盘最新 <job_id>/*.md 的第 N 条;其余不动。不是升版后「值得关注」编号、不是长会话自拟清单
确认,按你推荐的来 / 按推荐来 / 按推荐的来 / 全部优化做最新复盘里的全部建议项(除非明确跳过)
全部跳过零改动,短回即可
改一下第 N 条:…按改写后的 N 执行,其余未点名不动
其他会话裸数字(1、3、4 / 1 2,无「确认」/「优化」)不当复盘确认。可能是当前会话自己的选项编号
已续 / 已续费 / 停车费已确认不是复盘确认。走停车费月末循环,禁止改 skill
你看看这个 / 之前出过bug / 纠结怎么改不是确认。先对上引用卡。按现行做法写一条规则,不要把旧极端和新建议拼成例外句

跨会话确认(硬)

复盘由 cron 投递到 home;owner 可能在新 DM 会话回复确认。

  1. 执行前强制读磁盘最新表(硬·2026-08-27;补·2026-09-09/11/28):确认语进来 第一件事只读 ls -t ~/.hermes/cron/output/<job_id>/*.md | head -1,读完 ### 可以改进 再动手。最新文件若是 (FAILED) 或只有 ## Error、没有 ### 可以改进,不当确认表,禁止退回上一份成功表去改。先说明这次没出表。听到「补跑」才 cronjob run。session_search 命中复盘会话 不算读过表,禁止凭搜索片段改 skill。压缩窗口后:只认磁盘最新表 + 压缩后那条用户原文。禁止执行摘要里的旧「按照推荐来」/「确认 1,2」/「锁屏」。课例 2026-09-08:先按旧确认 1,2 改了一轮。课例 2026-09-10:「只优化 2」压缩后先回放 9/9 表和晚上「锁屏」。课例 2026-09-27:搜到今早复盘会话就改了两条,没跑 ls -t。
  2. 先定位最新复盘终稿,不要猜建议内容:
    • session_search query:昨日工作复盘 / cron_<job_id>
    • 优先读取 session_id 形如 cron_<job_id>_* 的最后一条 assistant
    • FTS 找不到 / 只命中旧会话 / 标题对不上当天(硬·2026-08-20):同上,读 cron output 最新 *.md。session_search 与磁盘文件日期不一致时,以磁盘 ls -t 为准。
  3. 解析该编号清单,再按确认语执行。数字「1 2 3」只对这份清单,不对长会话旧清单。
    • 只认带「确认」的回复(确认 1,3 / 确认 1)、只优化 N、复盘会话本身的跟进、或「按推荐来 / 全部优化」。
    • 其他会话裸数字不当复盘确认(硬·2026-08-25):09:25「1、3、4」落在卡片流式会话,不是 8/24 复盘 1–4。两套编号间隔几分钟也要停问或先对表,禁止当复盘执行。
  4. 执行顺序:skill 补丁 → 同 skill/reference 扫旧口径 → memory(仅建议明确需要且通过写入闸)→ 验证。
  5. 执行完用短表回执:编号 / 落点 / 验证 / 是否需 /restart;不要重贴整份复盘。
  6. 找不到最新复盘时,直说缺源并请用户贴编号或 @session:…;禁止用当前长会话可复用项顶替;禁止凭记忆编造。
  7. 引用今早复盘卡问「怎么回事」:引用正文只有标题时,读磁盘最新 *.md。标题是 (FAILED) 或有 ## Error → 一句说明失败原因,不要请补贴卡片。同早还有别的定时任务失败,补一句没跑成的名字(早报、上游检查),不要只解释被点名的那张卡。用户接着说「重试」是重做这次诊断,不是「按推荐来」,也不要自动 cronjob run;要补跑须听到「补跑」。课例 2026-10-01:只解释了复盘卡,没提早报没发。
  8. 当天已投过、尚未确认,禁止再跑(硬·2026-10-03):不要 cronjob run 验格式。验格式只写文件,不投递。再跑会再投一张,并把清单换成后一张。课例 2026-10-02:09:27 已投 2 条,10:23 又投 1 条,确认时早上第 2 条没做。
  9. 推荐句和旧规则冲突时,只写现行规则:先读被替换的那句在防什么,再写成一条现行规则。禁止「旧规则(例外:新情况)」。删掉被替换的句子,不要两句并存。
  10. 引用卡问「怎么改」不是确认:先对上引用卡和磁盘现行句。两边都曾经出过问题时,按现行做法写成一条,禁止把旧极端和新建议拼成例外句。

输出结构(中文、短)

顺序固定:可以改进 → 待你确认 → 昨日做了什么。飞书卡片很长,改进放最前,打开就能看到(2026-09-24)。

可以改进

编号清单,不用 markdown 表格:问题 / 根因 / 建议 / 落点 / 改哪条已有(或为何不新建)。飞书卡片里的表格各列平分宽度、不能设列宽,长句会挤在格里滚动(2026-10-02)。每条按下面写,每行一句:

**1. 问题一句话**
- 根因:……
- 建议:……
- 落点:改 `skill-a`(改哪条已有 / 为何不新建)

失败课例默认 patch 已有 skill;合不进去才允许新建。

待你确认

示例:确认 1,3 / 按推荐来 / 全部跳过

昨日做了什么

表:事项 / 结果 / 证据或会话

昨日无显著工作:明确写「昨日无显著工作」,只给 0–2 条轻量观察。

相关

  • 09:30 Hermes 上游检查 → hermes-upstream-check(无更新静默)
  • cron 排障 → hermes-local-ops §7 + references/cron-schedule-echo.md
  • 多仓共享的 skill:改上游仓(PR 给维护者),不直接改本机安装副本;两处同名 skill 会 Ambiguous,加载时写全路径。本机具体仓与路径见 references/local-*.md
  • 入库闸 / 失败默认改已有 → hermes-local-ops → skill-admission.md
  • 改完本 skill 跑 python3 ${HERMES_SKILL_DIR}/scripts/check.py

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.