Agent skill

What Have We Done Today

by asimons81 in asimons81/hermes-field-kit

A skill your agent uses when a recap of today's sessions, cron, and kanban helps.

Apache-2.0Auto-check passedProductivity & Automation

Install What Have We Done Today

skills CLI
$ npx skills add asimons81/hermes-field-kit --skill what-have-we-done-today -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install asimons81/hermes-field-kit what-have-we-done-today --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/asimons81/hermes-field-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/what-have-we-done-today .claude/skills/what-have-we-done-today && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
what-have-we-done-today
GitHub stars
126
Token cost
~1.3k tokens
SKILL.md length
699 words
Files
6 (incl. scripts)
Skills in repo
20
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when a recap of today's sessions, cron, and kanban helps.

  • Works in 7 steps: Scan all three surfaces. Invoke through… → Separate the signals. User-facing… → Drill where it matters. session_search… → …
  • A recap of todays sessions
  • SKILL.md covers Overview, When to Use, Workflow and Common Pitfalls, plus 1 more section
  • Runs Python scripts from its folder; calls python3

What it does

What Have We Done Today is an agent skill from asimons81/hermes-field-kit. Use when a recap of today's sessions, cron, and kanban helps.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts (for example `README.md`, `examples/README.md` and `scripts/today_sessions.py`).

It sits in Productivity & Automation, covering Scheduled and recurring tasks and Task management. The repository describes itself as: Field-tested, open-source skills for Hermes Agent. The licence is Apache-2.0.

When your agent uses it

  • A recap of todays sessions
  • Tasks that involve Scheduled and recurring tasks
  • Tasks that involve Task management

Example prompts

  • “/what-have-we-done-today”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Scan all three surfaces. Invoke through the terminal tool
  2. Separate the signals. User-facing session sources are desktop,
  3. Drill where it matters. session_search reads only the current
  4. Split Done vs Open. Done = a verified outcome (session excerpt,
  5. Pull open items (optional). --ledger FILE lists non-completed items
  6. Write the log. Target $RECAP_DIR/YYYY-MM-DD.md (default
  7. Brief the user. Compact and ranked: ✅ Done today, 🟡 Still open, ⛔

What it can do on your machine

Read from SKILL.md and the folder at commit 367f8a3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

What Have We Done Today loads about 1.3k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 699 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~21
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from asimons81/hermes-field-kit at commit 367f8a3, republished under its Apache-2.0 licence (© asimons81). 699 words, ~1,335 tokens.

Download SKILL.mdSave it as .claude/skills/what-have-we-done-today/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
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

What Have We Done Today

Overview

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).

When to Use

  • "What have we done today?" / "Recap today" / "What did I get up to today?"
  • The user lost track of a busy multi-project day and wants the threads pulled together.
  • Before shutting down for the night: capture progress + leftovers.

Counter-triggers — do NOT load this skill when:

  • The user asks about a specific past session or topic (use session search).
  • The user wants a recurring scheduled recap (this skill is manual-only).
  • The user wants to mutate sessions, kanban cards, or cron jobs.

Workflow

  1. Scan all three surfaces. Invoke through the 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).
  2. Separate the signals. User-facing session sources are 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.
  3. Drill where it matters. 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.
  4. Split Done vs Open. Done = a verified outcome (session excerpt, kanban done-today card, cron ok run). Open = kanban ▶/✋/todo cards, cron ❌/⏳ rows, sessions with no resolution. Never infer completion from a session merely existing.
  5. Pull open items (optional). --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.
  6. Write the log. Target $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.
  7. Brief the user. Compact and ranked: ✅ Done today, 🟡 Still open, ⛔ Needs you, Next pick. Include @session:default/<id> links for anything they might reopen.
Show full SKILL.md (248 more words)Show less

Common Pitfalls

  • ~/.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.
  • Sessions that straddle midnight still count: the filter is started_at OR last_activity_at ≥ local midnight.
  • Each kanban board is its own DB: root ~/.hermes/kanban.db holds only the default board; named boards live at ~/.hermes/kanban/boards/<slug>/kanban.db (_archived/ is skipped).
  • no_agent cron jobs leave no session at all — jobs.json last_run_at/last_status and executions.db are their only trace. A quiet sessions list does not mean a quiet day.
  • Executions use ISO-text timestamps; sessions use epoch floats. Parse each surface with its own type.
  • The recap log is append-friendly by design — never overwrite an existing day file or the earlier recap is destroyed.
  • The scanner never writes: every DB opens mode=ro with a busy timeout, so a live Hermes holding the default DB still scans fine.
  • Don't install this as a cron — the manual trigger is the design.

Verification Checklist

  • Scanner ran with exit code 0 and reported sessions, kanban, and cron.
  • The daily log exists and contains a recap section for today: grep -n "Daily recap" ~/.hermes/daily-recaps/$(date +%F).md
  • Re-running the scanner returns the same inventory.
  • Every open item in the briefing traces to an excerpt, kanban card, or ledger row read during this run.

© asimons81, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts) in skills/what-have-we-done-today of asimons81/hermes-field-kit.

  • SKILL.md
  • README.md
  • examples/README.md
  • scripts/today_sessions.py
  • tests/cases.json
  • tests/test_contracts.py

Open the folder on GitHubat commit 367f8a3

Compare with similar skills

What Have We Done Today next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

What Have We Done Today compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
What Have We Done Today this skillasimons81/hermes-field-kit126—~1.3kAutomated safety check: PassApache-2.0
Task Managementchenhg5/agencycli238—~2.5kAutomated safety check: PassCustom licence
Task Manager0xranx/golembot322—~694Automated safety check: PassMIT
Bot Statusespennilsen/pi122—~2.1kAutomated safety check: PassMIT
Dream EngineSzotasz/marveen117—~3kAutomated safety check: PassMIT
Omnifocussundial-org/awesome-openclaw-skills663—~1kAutomated safety check: PassNone

Similar skills

  • Task Management

    chenhg5/agencycli

    Create, assign, monitor, and close tasks across agents. An agent skill from chenhg5/agencycli.

    238 GitHub stars~2.5k tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check passed
  • Task Manager

    0xranx/golembot

    Creates and manages scheduled tasks, cron jobs, recurring reminders, and timers via the Task HTTP API.

    322 GitHub stars~694 tokensUpdated 12 days ago
    Productivity & AutomationAuto-check passed
  • Bot Status

    espennilsen/pi

    Generate a full operational status report for the Aivena bot.

    122 GitHub stars~2.1k tokensUpdated 19 days ago
    Productivity & AutomationAuto-check passed
  • Dream Engine

    Szotasz/marveen

    Éjszakai analízis-loop az aznapi memóriákról, naplóról és kanban-állapotról.

    117 GitHub stars~3k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Omnifocus

    sundial-org/awesome-openclaw-skills

    Manage OmniFocus tasks, projects, and folders via Omni Automation.

    663 GitHub stars~1k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check passed
  • OpenObserve PR Brief

    openobserve/openobserve

    Produces a read-only morning brief of your open pull requests across the openobserve GitHub org, with a next step for each and a reminder for idle ones.

    22k GitHub stars~1.8k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed

More from asimons81/hermes-field-kit

All 20 skills in this repo
  • Repo Readiness Audit

    asimons81/hermes-field-kit

    A skill your agent uses when a user asks whether an identified repository is ready for further development, release work, a new feature, handoff, or a new contributor, requiring a disciplined…

    126 GitHub stars~4.7k tokensUpdated 1 mo ago
    Auto-check passed
  • X Analytics Import

    asimons81/hermes-field-kit

    A skill your agent uses when X Analytics CSV exports must be inspected, validated, normalized, imported, or compared through a repeatable private-by-default workflow.

    126 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • X Post Writer

    asimons81/hermes-field-kit

    A skill your agent uses when drafting, rewriting, or repurposing short-form X content, including single posts, quote posts, replies, threads, launches, and personal stories, with source fidelity and…

    126 GitHub stars~2.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Dont Lie To Me

    asimons81/hermes-field-kit

    A skill your agent uses when the user explicitly wants evidence-disciplined answers that separate observed facts, sourced claims, user reports, inference, unknowns, and contradictions before making…

    126 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check passed
  • Hermes Environment Migration

    asimons81/hermes-field-kit

    A skill your agent uses when a Hermes environment must be safely migrated between machines with staged exports, integrity manifests, secret separation, selective imports, verification, and rollback.

    126 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Hermes Gateway Doctor

    asimons81/hermes-field-kit

    A skill your agent uses when Hermes messaging gateway failures must be diagnosed across process state, adapters, credential posture, logs, delivery evidence, polling conflicts, and service…

    126 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed

Questions about What Have We Done Today

What does What Have We Done Today do?

A skill your agent uses when a recap of today's sessions, cron, and kanban helps. What Have We Done Today is an agent skill from asimons81/hermes-field-kit. Use when a recap of today's sessions, cron, and kanban helps.

When should I use What Have We Done Today?

What Have We Done Today fits situations like: A recap of todays sessions; tasks that involve Scheduled and recurring tasks; tasks that involve Task management.

How do I install What Have We Done Today in Claude Code?

Run `npx skills add asimons81/hermes-field-kit --skill what-have-we-done-today -a claude-code`. Or copy the skill folder (skills/what-have-we-done-today in asimons81/hermes-field-kit) into .claude/skills/what-have-we-done-today in your project. Claude Code loads it when a task matches its description.

How do I install What Have We Done Today in Codex?

Run `npx skills add asimons81/hermes-field-kit --skill what-have-we-done-today -a codex`. Or copy the skill folder (skills/what-have-we-done-today in asimons81/hermes-field-kit) into .agents/skills/what-have-we-done-today in your project. Codex loads it when a task matches its description.

Can I use What Have We Done Today in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add asimons81/hermes-field-kit --skill what-have-we-done-today -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/what-have-we-done-today, .gemini/skills/what-have-we-done-today, .github/skills/what-have-we-done-today and .opencode/skills/what-have-we-done-today in your project.

What does What Have We Done Today need to run?

Going by SKILL.md and its folder, What Have We Done Today needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does What Have We Done Today access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is What Have We Done Today safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does What Have We Done Today use?

What Have We Done Today is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does What Have We Done Today use?

About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to What Have We Done Today?

Skills that share tags, products or a category with What Have We Done Today: Task Management (chenhg5/agencycli, 238 stars), Task Manager (0xranx/golembot, 322 stars), Bot Status (espennilsen/pi, 122 stars) and Dream Engine (Szotasz/marveen, 117 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains What Have We Done Today?

asimons81 (a GitHub user) maintains it in asimons81/hermes-field-kit, which has 126 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on September 9, 2026.

Source: asimons81/hermes-field-kit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.