Help us improve
Share bugs, ideas, or general feedback.
From claude-leverage
Writes a short distilled summary of a working session to docs/sessions/YYYY-MM-DD-<topic>.md after substantial work. Useful for maintaining continuity across sessions without dumping raw chat transcripts.
npx claudepluginhub filip-podstavec/claude-leverage --plugin claude-leverageHow this skill is triggered — by the user, by Claude, or both
Slash command
/claude-leverage:session-log [topic-one-liner] [--noninteractive][topic-one-liner] [--noninteractive]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
At the end of a working session, writes a short distilled summary to
Generates and saves Markdown session logs capturing objectives, file changes, referenced materials, technical notes, future plans, open items, and metrics to resume project work across conversations.
Logs session accomplishments, file changes, commits, decisions, and next steps for future recall. Triggered by phrases like 'save diary' or 'wrapping up'.
Wraps up coding sessions: appends devlog summaries with accomplishments, decisions, blockers, next steps; captures undocumented research/debugging; audits session link health; updates project index.
Share bugs, ideas, or general feedback.
At the end of a working session, writes a short distilled summary to
docs/sessions/YYYY-MM-DD-<topic>.md following the standard template
(context, what was done, key decisions, open questions, next steps,
references). The next agent — yours tomorrow, or a different agent in a
month — reads it to pick up the thread without re-discovering everything
cold.
This is not a transcript dump. Raw chat is noise the next agent can't usefully consume. A session log is the distillate: 30–80 lines that compress a multi-hour conversation into actionable continuity.
Find target dir. Default docs/sessions/ from the current repo
root (via git rev-parse --show-toplevel). If it doesn't exist, ask
"create it now?" — if yes, create with a stub README.md describing
the convention (mirror the one shipped with this plugin at
docs/sessions/README.md).
Get topic. If $ARGUMENTS has a positional, use it. Otherwise
ask: "what was this session about, in one line?" Convert to
kebab-case for the filename: 2026-05-24-pivot-cleanup.md.
Compute filename. YYYY-MM-DD-<kebab-topic>.md. If a file with
the same name exists (multiple sessions on the same topic same day),
suffix with -2, -3, etc.
Gather facts from git and the conversation:
git rev-parse --abbrev-ref HEAD.git log --oneline -10. Use the
first commit hash after the previous session's HEAD if you
can infer it, otherwise show the last 5–10 with the human
confirming which ones belong./adr-new for any
decision likely to be re-litigated).Generate the file using the template
(docs/sessions/template.md).
Substitute:
<TODO> for anything you
genuinely can't infer; better an honest gap than a fabrication.Confidentiality pass. This file gets committed and pushed — sometimes to a public repo. Before writing, scrub anything that shouldn't ship: secrets, credentials, client names, internal business reasoning, security details. Keep the decision, drop the sensitive specific ("chose vendor X for pricing reasons" → "chose the payments vendor; rationale in the private tracker"). See the Hard rule below.
Hard cap on length. If your draft is over 80 lines, reduce. Cut the "what was done" bullets to the load-bearing 5–8. Move tactical detail into commit messages, ADRs, or specs. The session log is pointers + decisions + next-actions, not a play-by-play.
Report. Print the file path and one line:
"Next session: start by reading
docs/sessions/<filename>plus the last 1–2 prior session logs."
docs/sessions/ is
a tracked, durable artifact that gets pushed, sometimes to a public
repo. Never put secrets, credentials, client names, internal business
reasoning, or security details in a log. The block-secrets-precommit
hook catches key-shaped secrets at commit time, but it cannot catch
confidential prose — that judgment is yours. Distill the sensitive
specifics out: write "the client" not the name; reference a private
ticket by ID rather than pasting its content. Gitignore docs/sessions/
only as a last resort in a fully public repo where even the distilled
narrative shouldn't ship (you lose cross-agent continuity if you do).docs/specs/<file>."-2, -3 suffix) rather than editing.--noninteractive — skip prompts; requires a topic positional.
Pulls everything else from git + the visible conversation context.--dry-run — print the generated content to stdout, write nothing.A useful rule of thumb: would the next agent benefit from knowing where this session left off? If yes, write the log. If no, skip.
/adr-new — when a session produces a load-bearing decision,
record it as an ADR in addition to the session log. The session log
is "what happened this session"; the ADR is "the durable reason for
the choice."AIDEV-TODO(by: YYYY-MM-DD): and reference from the session log.