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 Jewgah/claude-code-skills --skill sessionsgit clone --depth 1 https://github.com/Jewgah/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/jewgah/claude-code-skills/sessions)<a href="https://agentmods.dev/skills/jewgah/claude-code-skills/sessions"><img src="https://agentmods.dev/badge/skills/jewgah/claude-code-skills/sessions/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/jewgah/claude-code-skills/sessions"><img src="https://agentmods.dev/badge/skills/jewgah/claude-code-skills/sessions.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.00061 | $0.00632 |
| Opus 5 | $0.00030 | $0.00316 |
| Sonnet 5 | $0.00012 | $0.00126 |
| Haiku 4.5 | $0.00006 | $0.00063 |
Grade A, and why
sessions 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 9d 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 — 42 lines — stays where its author put it; the contents beside it link to each section on GitHub.
List recent Claude Code sessions
When invoked, run the helper script and pass its output through.
Step 1 — pick the mode from the skill argument
| Argument | Command | View |
|---|---|---|
(none) or recent |
python3 ~/.claude/skills/sessions/list_sessions.py |
default — one flat list, newest first, across all projects |
project (or "grouped", "by project") |
python3 ~/.claude/skills/sessions/list_sessions.py --grouped |
grouped per project, so parallel sessions are visible |
Other arguments (use only if the user asks):
--days 30— widen the window to 30 days (default 7)--all— show everything ever recorded--project <substring>— filter by project name, case-insensitive (e.g.--project myapp). Unrelated to theprojectgrouping mode above; combines with both views.
Step 2 — present the output
Default mode prints one flat chronological list — [timestamp] project session-id + the first prompt — with the resume hint once at the bottom.
--grouped mode prints: project header → cd line → one block per session with timestamp, session UUID, first user prompt, and the exact claude --resume <id> command.
After running it:
- Pass through the output as-is — do not re-summarise every session, the user wants the raw list.
- If the user names a specific topic or project, point out the matching session(s) at the top.
- If there are many sessions for one project, note it ("3 parallel sessions for X today") so the user knows multiple threads exist.
- If the user is about to reboot, remind them:
claude --resume <session-id>restores full context;claude --resumealone opens an interactive picker scoped to the current working directory, so they mustcdinto the project first if they use the picker form.
Notes on the data
- Sessions live in
~/.claude/projects/<encoded-cwd>/<session-uuid>.jsonl. - One
.jsonl= one session. Multiple files in the same project dir = parallel sessions. - The script extracts the first real user prompt as the "description" — it skips system/caveat blocks.
- Image-only prompts show as
[Image #1]; that's expected, not a bug. - The encoded directory name (
-Users-you-projects-myapp) isn't always the same as the realcwd; the script reads thecwdfield from inside the JSONL for accuracy.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 9d ago First seen · 42 lines · 61 tokens per session scan A e63ba313f307
sessions is a skill published in the GitHub repository Jewgah/claude-code-skills (2 stars, last pushed 1mo ago), licensed MIT. It adds 61 tokens to every session and 632 once invoked, about $0.0003 per session on Opus 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
stay-within-limits
Use when long-running or parallel agent work must respect 5-hour and weekly usage limits by checking usage between waves, pausing near the cap, and resuming only when the window is clear.
obsidian-bases
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.
crisis-holding
Draft crisis holding statements, journalist Q&A posture, and what-not-to-say guidance from confirmed incident facts, with a hard legal-counsel gate. Builds each statement through proven crisis-comms frameworks (holding-statement anatomy, SCCT, CAP order, the legitimate non-answer, bridge/flag/block).
find-journalists
Build, refine, dedupe, and enrich small fit-checked journalist lists for newsjack campaigns. Uses the newsjack CLI (preferred) or the medialyst MCP for news search and journalist enrichment, and falls back to a best-effort local mode with no verified contacts; the agent owns how returned data is organized.
story-origin-check
Recover the first public timestamp and canonical major coverage for a newsjacking signal, then decide whether newer coverage is the same story, a different story, or a materially new development.
agent-estate
Perpetual autonomous work loop for Claude Code — no end condition, no memory regression, no context overfill. Maintains a persistent ledger across all sessions.