session-finder
Skill0 starsChanged 2 months agoMITView on GitHub
Show recent Claude Code sessions for the current folder — a table in chat plus a local HTML page with a copy button per session — covering what each was about, when it started and was last active, where it stopped, whether it is open in a terminal right now, and the exact `claude --resume` command with the full session ID. Use whenever the user asks for their last or recent sessions, past conversations, "what was I working on", which session did X, how to get back into an earlier conversation, or wants to resume or continue one — even if they don't say "table". Read-only.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- trac3r00/agent-skillstheir own version, first seen Aug 26, 2026
- glebis/claude-skillstheir own version, first seen Jul 1, 2026
- JAVICHILEON/claude---Skillstheir own version, first seen Jul 1, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- glebis/claude-skills★ 410same name
- JAVICHILEON/claude---Skills★ 0same name
- trac3r00/agent-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository3 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- cricbay-pom-reportSkill
- your-skill-nameSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
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
- Very specific: line 23
If it exits with NO_TRANSCRIPTS, say no sessions exist for that folder, ask which folder they launched Claude from, and stop.
- Distinctive: line 44
If a row is ambiguous and the prompts don't settle it, search that one transcript under the projects folder rather than guessing.
- Distinctive: line 63
If the user asked about one specific session ("which one was the database migration?"), answer that first in a sentence, then show the …
- Very specific: line 68
Other windows: If unnamed_claude_processes is above 0, say other Claude windows are open that can't be matched to a row.
- Distinctive: line 73
Read-only: never edit, rename or delete transcripts.
≈ “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
session-finder
Help the user find a past Claude Code session and get back into it. They get 2 things: a short table in chat, and a local page in their browser with the last 10 sessions and a copy button on each.
Scripts live in this skill's scripts/ folder. Work files go in ~/.claude/session-finder/, or in $CLAUDE_CONFIG_DIR/session-finder/ if that variable is set.
1. Collect the facts
mkdir -p ~/.claude/session-finder
python3 <skill>/scripts/sessions.py --count 10 --more 0 --json > ~/.claude/session-finder/facts.json--project DIRpoints at another folder. You don't need tocdfirst: the script walks up to the nearest folder that has sessions, because your shell has often drifted into a subfolder.- The session you're running in is left out automatically.
- The page always gets 10 sessions, so it stays useful for browsing. A number the user asks for ("last 4", "last 6") only changes the chat table in step 4. If they ask for more than 10, use that number for the page too.
- If it exits with
NO_TRANSCRIPTS, say no sessions exist for that folder, ask which folder they launched Claude from, and stop. Don't invent rows.
Each session has first_prompt, recent_prompts, last_reply, started, last_active, open_now, recent and resume. The script is read-only.
2. Write the summaries
For every session in facts.json, write 2 short fields to ~/.claude/session-finder/summaries.json:
{
"a1f3c2d4-…full id…": {
"about": "**Flaky checkout test**, then caching dependencies in CI",
"stopped": "PR #42 is open with both fixes, **waiting for your review**"
}
}- about: bold the main topic, then a few words on where the session went. Sessions drift and the first prompt often describes something the session left behind hours ago, so read the recent prompts too. The auto-generated
titleis only a hint. - stopped: 1 sentence on what finished or is still in progress, from the last reply and last prompt. Bold the part that is waiting on the user or still running, because that's usually why someone resumes.
**double asterisks**are the only formatting. Everything else is shown as plain text, so never add HTML.- Summarise, don't quote. Transcripts can contain anything the user pasted, including secrets. Write only what identifies the session.
- If a row is ambiguous and the prompts don't settle it, search that one transcript under the projects folder rather than guessing.
3. Render and open the page
python3 <skill>/scripts/render.py --facts ~/.claude/session-finder/facts.json --summaries ~/.claude/session-finder/summaries.jsonThe script writes sessions.html next to those files and opens it in the default browser, unless SESSION_FINDER_NO_OPEN=1 is set. The page is 1 self-contained file: it downloads nothing, follows the system's light or dark setting, escapes all text, and gives every row a copy button. Rows without a summary still appear, marked "not summarised". If the output says NOT_OPENED, give the user the PAGE path.
4. Answer in chat
Newest activity first. Show the number of sessions the user asked for, or 4 if they didn't say, with exactly these columns:
| # | What it was about | Started | Last active | Where it stopped | Resume with |
- Reuse the summaries you just wrote. Put
`claude --resume <full-id>`in the last column, and never shorten the ID. - Lead-in: one line naming the folder and saying this session is excluded. When every row is from today, give the date once there.
- If the user asked about one specific session ("which one was the database migration?"), answer that first in a sentence, then show the table with that row marked.
Then, briefly:
- The page. Say it's open in the browser with all sessions and a copy button on each, and give the path.
- Open sessions. A row with
open_nowis already running in another terminal. Tell them to switch to that window rather than resuming it, because 2 processes writing one session can overwrite each other's work. Arecentrow may still be open, so tell them to check first. Name the rows. - Other windows. If
unnamed_claude_processesis above 0, say other Claude windows are open that can't be matched to a row. - Where to run it. The commands run from the project folder, and
claude --resumewith no ID lists everything.
Rules
- Read-only: never edit, rename or delete transcripts.
- The page and the work files hold summaries of private conversations. Keep them in the session-finder folder under Claude's config, never in the project or anywhere that syncs.
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.

