用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/asimons81/hermes-field-kit --skill what-have-we-done-today命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | what-have-we-done-today |
| description | Use when a recap of today's sessions, cron, and kanban helps. |
| version | 0.2.0 |
| author | Tony Simons |
| license | Apache-2.0 |
| platforms | ["platform-agnostic"] |
| metadata | {"hermes":{"category":"productivity","tags":["sessions","kanban","cron","journal","recap","productivity"],"related_skills":[]}} |
A manual, on-demand daily recap for any Hermes installation. It scans three local surfaces for today's activity — sessions (default profile plus every named profile, all sources), kanban boards (done today, running, blocked, todo/ready), and cron stores (jobs that ran, errored, are running now, or are due today) — then writes a plain append-friendly daily markdown log the user can read to remember what happened and what is still open.
Stdlib Python only. Read-only on all databases (mode=ro); the only write is
the daily markdown file in the recap directory. It is intentionally NOT a
cron job: it runs when a human actually wants the recap (tired, stoned,
context-switch heavy, or closing out the day).
Counter-triggers — do NOT load this skill when:
terminal tool:
python3 ~/.hermes/skills/productivity/what-have-we-done-today/scripts/today_sessions.py --excerpts
Output: sessions grouped by profile (time, source, title, counts,
goal/outcome hints), then kanban per board (done today, ▶ running, ✋
blocked, todo/ready counts), then cron (ran today with ❌ on errors, ▶
running now, ⏳ due today after an error).desktop,
cli, telegram. kanban sessions are worker lanes (generic titles —
outcome comes from the excerpt, not the title). Cron ❌/⏳ rows are real
breakage candidates; running executions are work happening right now.session_search reads only the current
profile's DB; use it for ambiguous or high-stakes default-profile
sessions. For sessions from profiles/*/state.db, the scanner's excerpts
are the cheap evidence.ok run). Open = kanban ▶/✋/todo cards,
cron ❌/⏳ rows, sessions with no resolution. Never infer completion from
a session merely existing.--ledger FILE lists non-completed items
from a task ledger JSON: {"items": [{"id", "title", "status", "next_action", "updated_at"}]}. Statuses other than completed /
cancelled count as open.$RECAP_DIR/YYYY-MM-DD.md (default
~/.hermes/daily-recaps/); create the directory if missing. Create the
file with a # YYYY-MM-DD heading if absent; otherwise append a
## Daily recap — HH:MM section with Done / In flight / Needs attention
bullets. Re-runs the same day append new sections.@session:default/<id> links for anything
they might reopen.~/.hermes/sessions.db may be an empty legacy file — the real session
store is ~/.hermes/state.db plus profiles/*/state.db. A scan of the
wrong file reports a false quiet day.started_at is epoch seconds; compare against local midnight (the
scanner does this in Python). SQLite's 'start of day' modifier is UTC
midnight and silently drops the first hours of the local day.started_at OR
last_activity_at ≥ local midnight.~/.hermes/kanban.db holds only the
default board; named boards live at
~/.hermes/kanban/boards/<slug>/kanban.db (_archived/ is skipped).jobs.json
last_run_at/last_status and executions.db are their only trace. A
quiet sessions list does not mean a quiet day.mode=ro with a busy timeout, so
a live Hermes holding the default DB still scans fine.grep -n "Daily recap" ~/.hermes/daily-recaps/$(date +%F).md基于 SOC 职业分类