Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add jkm-4314/claude-code-skills --skill session-endgit clone --depth 1 https://github.com/jkm-4314/claude-code-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jkm-4314/claude-code-skills/session-end)<a href="https://agentmods.dev/skills/jkm-4314/claude-code-skills/session-end"><img src="https://agentmods.dev/badge/skills/jkm-4314/claude-code-skills/session-end/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jkm-4314/claude-code-skills/session-end"><img src="https://agentmods.dev/badge/skills/jkm-4314/claude-code-skills/session-end.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00027 | $0.01631 |
| Opus 5.5 | $0.00011 | $0.00652 |
| Sonnet 5.5 | $0.00005 | $0.00326 |
| Haiku 4.5 | $0.00003 | $0.00163 |
Grade A, and why
session-end scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 175 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Session End Handoff
You are finalizing a work session to preserve context for future sessions. Follow these steps.
Override note: This is the generic global version. If this project has a project-level session-end skill (in .claude/skills/session-end/), that version runs instead of this one and may include project-specific app shutdown logic.
Step 1: Git-Grounded Reconciliation
Run:
git log --since="6am" --oneline --all
git diff --stat
Cross-reference commits against this Claude session's own work. Flag any commits that THIS session didn't make (other agents, manual commits, or earlier context-cleared sub-sessions). For unfamiliar commits, briefly read the changed files so you can describe them accurately.
Step 2: Detect Today's Session Entry
Read the top of .claude/SESSION_LOG.md.
If the top entry's date matches today's date (stub from session-start, or an already-finalized entry being appended to):
- Continue to Step 3 to finalize / augment it.
If no entry exists for today (user worked informally without running session-start):
- Ask: "No session-start entry exists for today. Options:
- Create a retroactive entry for today's work
- Skip log creation — just run housekeeping (ROADMAP / DECISIONS / MISTAKES / pruning)
- Do nothing"
- If they pick (1): create a new entry at the top with today's date and next session number, then continue to Step 3.
- If they pick (2): jump to Step 5.
- If they pick (3): stop.
Step 3: Finalize Today's Entry
Check today's entry for a <!-- last-update: <hash> --> marker. Its presence signals that session-update has been run during the day and the entry already has substantive content — in that case, session-end is a lightweight finalization. Its absence means you're reconstructing from scratch against git history.
Path A: Entry has been updated during the day (marker present OR sections populated)
Most content is already captured. Focus on:
- "What title best describes today's session?" (replaces
[In Progress]) - "One-line focus for the session?"
- Quick cross-check against git reconciliation:
- Compare the commits from Step 1 against
### Files Modifiedand### What Was Accomplished. Anything missing? Ask the user briefly.
- Compare the commits from Step 1 against
- "Any final decisions, blockers, or notes to add?"
- Remove the
<!-- last-update: ... -->marker — the session is being finalized, marker no longer needed.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 175 lines · 27 tokens per session scan A ad876a500e99
session-end is a skill published in the GitHub repository jkm-4314/claude-code-skills (4 stars, last pushed 5mo ago), licensed MIT. It adds 27 tokens to every session and 1,631 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
vienen-las-visitas
Use before work crosses to another person or system — opening a pull request, pushing a shared branch, requesting review, handing off to another agent, a demo, or a release. NOT for ordinary intermediate commits; this is the boundary-crossing gate, not a per-commit ritual.
git-master
MUST USE for ANY git operations: atomic commits, rebase/squash/fixup, and history search (blame, bisect, log -S, reflog). Load it before running git yourself, or pass loadskills=['git-master'] to the task that commits. Triggers: 'commit', 'rebase', 'squash', 'who wrote', 'when was X added', 'find the commit that'.
oss-contribution-research
Research and prepare an outside contribution to an open-source repo, then stop at a queue item for a human to approve: policy check, intake, duplicate check, reproduction, patch, the repo's own checks, an independent critic rerun, and a disclosed, hashed draft of the exact text to post. Use this skill whenever the…
get-unpublished-changes
Compare HEAD with the latest published npm versions and list all unpublished changes by release layer. Triggers: unpublished changes, changelog, what changed, whats new.
bitbucket-workflow
Bitbucket best practices for pull requests, Pipelines CI/CD, Jira integration, and Atlassian ecosystem workflows.
github-workflow
GitHub best practices for pull requests, code reviews, issues, Actions workflows, and repository management.