end-of-day-summary
Skill1 starsChanged 19 days agoMITView on GitHub
End-of-day consolidation — a dated digest of what changed and what was learned, written into the repo's committed .cortex/memory/. Triggers — "dream", "wrap up the day", "what did we learn today".
In this repository43 other files it gives its agents.
- AGENTS.mdAGENTS.md
- core/AGENTS.mdAGENTS.md
- evals/AGENTS.mdAGENTS.md
- index/AGENTS.mdAGENTS.md
- mcp/AGENTS.mdAGENTS.md
- tools/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- architecture-reviewSkill
- audit-notesSkill
- challenge-planSkill
- change-impactSkill
- clarify-requestSkill
- connect-mcpSkill
- create-teamSkill
- daily-planSkill
- debug-issueSkill
- define-termsSkill
- design-specSkill
- handover-notesSkill
- join-teamSkill
- merge-workSkill
- migrate-legacy-engineSkill
- personal-setupSkill
- quick-noteSkill
- register-projectsSkill
- repo-mapSkill
- resolve-conflictsSkill
- resume-workSkill
- retrospectiveSkill
- review-changeSkill
- set-profileSkill
- setup-repoSkill
- story-mapSkill
- suggest-skillsSkill
- summarize-filesSkill
- sync-websiteSkill
- trim-agent-docsSkill
- update-pluginSkill
- weekly-reviewSkill
- whats-changedSkill
- write-agent-docsSkill
- write-area-briefSkill
- write-context-docsSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
If the index exists, re-run it and compare — new files, new areas, structure that moved.
- Distinctive: line 38
Keep it short and durable.
- Distinctive: line 50
Not worth writing: a restatement of the diff, a task list, anything the code already says.
- Very specific: line 58
Read back recent days with ...
- Distinctive: line 97
If nothing notable happened, write nothing and say so.
- Very specific: line 106
If the day is ending mid-task, you likely need both.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/end-of-day-summary — end the day without losing it
Context dies when a session ends. Dreaming is the ritual that moves the day's understanding out of a transcript and into a file the whole team — and every future agent — can read.
Memory lives in .cortex/memory/<date>/<author>.md: committed, append-only, one file per
author per day. Several developers who dream on the same day each write their own file, so their
branches merge with no conflict. A repo may also hold older <date>.md day files. They are read
like the rest and never moved or rewritten.
1. Gather what actually happened
Evidence, not recollection:
git log --since=midnight --pretty='%h %s' --stat
git status --porcelainIf the index exists, re-run it and compare — new files, new areas, structure that moved. The guard
is deliberate: /end-of-day-summary never creates .cortex/, so it can never be the first write
ADR 0005 gates. On a repo with no
index, skip straight to the digest.
node "${CLAUDE_PLUGIN_ROOT}/index/cortex-index.mjs" .2. Write the digest
Keep it short and durable. Ask of every line: will this still be useful in a month? Commit messages already record what changed — memory records why, and what it cost.
Worth writing:
- Decisions taken and the option rejected. This is the highest-value line in the file.
- Something learned the hard way — a gotcha, a surprising coupling, a dead end not worth re-exploring.
- Drift: where the code and the context files disagree now.
- What the next session should pick up — written as the state it walks into, not as a command to
run. This file is read back months later by
/whats-changedand byrecall; a pasted command with its arguments is the one line that ages into an instruction.
Not worth writing: a restatement of the diff, a task list, anything the code already says.
Append through the memory CLI so the write goes through the gate:
node "${CLAUDE_PLUGIN_ROOT}/index/cortex-memory.mjs" append "<the digest text>" --kind dreamRead back recent days with ... cortex-memory.mjs recent --days 7.
The command finds the author itself: CORTEX_AUTHOR when it is set, otherwise git user.name in
this repo. Only a slug of it is written (a-z, 0-9, -, at most 40 characters), in the path
and the file's heading. No email address is read.
- To choose the name that is published, set
CORTEX_AUTHORto a short handle, for exampledev-a. Memory is committed, so the name is in every checkout. - A line on stderr that starts
memory: this entry went to the shared day filemeans there was no usable name: git has nouser.namehere, or the name has no ASCII letter or digit. The entry is written, to<date>.md, and the exit is 0. That file is shared by everyone in the same position, and two branches that each write it on one day conflict when they merge. Pass the line on to the user with its fix, which is to setCORTEX_AUTHOR. - Exit 1 naming
CORTEX_AUTHORmeans it is set and gives no slug. Nothing was written. Tell the user to set it to a handle likedev-a, then append again.
3. Respect the refusal
The gate refuses any entry carrying a credential, key, token or connection string. If it
throws refused_write, do not rewrite the note to sneak past it and do not sanitise it silently.
Tell the user what kind of secret was detected and let them decide what to record instead.
The reason is structural: this file is committed. A secret written here is a secret in the repository's history, and history is forever.
The same applies to personal and employer-sensitive content. Repo memory is about the codebase.
4. Close
Say what was written and where. If today produced a decision that is hard to reverse, surprising
without context, or a genuine trade-off, offer to record an ADR in the repo's ADR directory (docs/adr/, or adr/) as well —
memory is chronological, an ADR is findable.
Gotchas
- Dreaming is additive. Never rewrite or prune a previous day's file; if something recorded earlier turned out wrong, append the correction with today's date. The record of having been wrong is often the useful part.
- One digest per session, not per commit. A memory file with thirty entries is a log, not a memory.
- If nothing notable happened, write nothing and say so. An honest empty day beats filler that future readers must wade through.
- No banner here.
/handover-notesopens its file with a record, not instructions line; this file is append-only, so the same banner would repeat once per entry, andcore/memory.jsowns the one header it does get. The fence lives in the writing instead — past tense for what happened, the state rather than the command for what is next.
Not the same as /handover-notes
If the day is ending mid-task, you likely need both. /handover-notes writes in-flight state to the OS temp
dir for the next agent — the branch, the half-applied change, what you were about to try — and it is
deliberately ephemeral. This writes what a future reader of the codebase needs, months from now, and
it is committed. Running /handover-notes alone on a day that taught you something parks the work and loses
the lesson; the temp file is gone by the time anyone would have wanted it. /whats-changed is what
reads this back.
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
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.

