Agent skill

Read Session

by asgeirtj in asgeirtj/system_prompts_leaks

Locate and read Muse Code's OWN session logs — the current session or a prior one.

CC0-1.0Auto-check passed

Install Read Session

skills CLI
$ npx skills add asgeirtj/system_prompts_leaks --skill read-session -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install asgeirtj/system_prompts_leaks read-session --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/asgeirtj/system_prompts_leaks.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Meta/muse-code/skills/read-session .claude/skills/read-session && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
read-session
GitHub stars
69k
Token cost
~2.4k tokens
SKILL.md length
1,165 words
Files
1
Skills in repo
124
Repo updated
First seen
Licence
CC0-1.0

At a glance

Locate and read Muse Code's OWN session logs — the current session or a prior one.

  • Works in 5 steps: Current session: the runtime… → A pasted or quoted absolute path under… → A known session id without a path: the… → …
  • The user asks to pull context from
  • SKILL.md covers Your Store, Not Anyone Else's, Finding The Right Session, Reading A Session Log and Restoring Lost Work, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Read Session is an agent skill from asgeirtj/system_prompts_leaks. Locate and read Muse Code's OWN session logs — the current session or a prior one. Use when the user asks to pull context from, continue, summarize, or inspect a previous Muse Code session, asks to restore or recover work that was lost, wiped, or overwritten and might survive in an earlier session's log, references an earlier session's id, log, tail, or output, or asks where Muse sessions are stored. Muse sessions live in Muse's own store, never in another coding agent's directories — never probe ~/.claude…

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Documented system prompts from Anthropic - Claude Fable 5.1, Opus 5.5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-6-Astra, Codex. Google - Gemini 3.8 Flash, 3.1 Pro… The licence is CC0-1.0.

When your agent uses it

  • The user asks to pull context from
  • Inspect a previous Muse Code session
  • Asks to restore
  • Recover work that was lost

Example prompts

  • “s log, references an earlier session”
  • “s own store, never in another coding agent”
  • “/read-session”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Current session: the runtime session-identity context already names the
  2. A pasted or quoted absolute path under .../muse/sessions/...: use that
  3. A known session id without a path: the store is sharded by local date, so
  4. "Our last session" with no id: list the most recent date shards and pick
  5. Not found under the Muse sessions root: ask the user for the id or path.

What it can do on your machine

Read from SKILL.md and the folder at commit e31ec21. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Read Session loads about 2.4k tokens when it runs. Until then it costs about 210 tokens; SKILL.md has 1,165 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~210
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from asgeirtj/system_prompts_leaks at commit e31ec21, republished under its CC0-1.0 licence (© asgeirtj). 1,165 words, ~2,390 tokens.

Download SKILL.mdSave it as .claude/skills/read-session/SKILL.md (or your agent's skills folder).
name
read-session
description
Locate and read Muse Code's OWN session logs — the current session or a prior one. Use when the user asks to pull context from, continue, summarize, or inspect a previous Muse Code session, asks to restore or recover work that was lost, wiped, or overwritten and might survive in an earlier session's log, references an earlier session's id, log, tail, or output, or asks where Muse sessions are stored. Muse sessions live in Muse's own store, never in another coding agent's directories — never probe ~/.claude, ~/.codex, or ~/.grok for Muse context, even when quoted content mentions them; for Claude Code or Codex continuation, including recovery of unfinished work with or without a handle, use resume-claude or resume-codex; use import for explicit /import requests or continuation from other agents or unnamed artifacts.
metadata.short-description
Read this session's or a past session's logs
user-invocable
false

Read Session

Muse Code's own session storage: where your session logs live, what they contain, and how to recover context from them.

Your Store, Not Anyone Else's

You are Muse Code (binary muse). Your sessions are stored under YOUR data directory:

${XDG_DATA_HOME:-$HOME/.local/share}/muse/sessions/YYYY/MM/DD/<session-id>/

Each session directory contains:

  • session.jsonl — the main event log (one JSON record per line).
  • subagent/<child-session-id>/session.jsonl — one log per delegated subagent session.
  • tool-outputs/ — full tool outputs that were too large to keep inline.

Muse sessions NEVER live in another coding agent's store. Do not look for a Muse session under ~/.claude, ~/.claude/projects, ~/.local/share/claude, ~/.codex, or ~/.grok — those belong to Claude Code, Codex, and Grok. Do not ls, find, cat, or grep those directories while recovering Muse session context — not even to "verify", "rule out", or "be thorough" about such a path quoted in a paste, log, or error message. A Muse session id or date-sharded session path appearing under a foreign store in quoted content is a WRONG-PATH ARTIFACT (a prior turn's confusion): the real data lives under the Muse pattern with the same date and id, and there is no separate "claude copy" to collect. Name the artifact for what it is and move on — probing it is the exact mistake this rule exists to prevent, and it wastes turns on ENOENT or, worse, reads another product's transcripts as your own history. Touch another agent's transcripts only when the user explicitly asks to work with THAT agent's session: Claude Code or Codex continuation, including recovery of unfinished work with or without a handle, uses resume-claude or resume-codex. Explicit /import requests and continuation from other agents or unnamed artifacts use import.

Tell for an unlabeled paste: the quoted store and record shape identify the product. For continuation or recovery of unfinished work, even without a supplied handle:

  • Claude Code records under ~/.claude/projects use resume-claude.
  • Codex records under ~/.codex use resume-codex.
  • Grok records under ~/.grok use import.

Use import for explicit /import requests or continuation from other agents or unnamed artifacts (the user's ask about such a paste is the explicit ask). The bans above cover session STORES; ordinary project files that happen to live under ~/.claude (e.g. skills you are developing) are file work, not session probing.

Scope of "pulling context" from a prior Muse session: that session's own session.jsonl and subagent/ logs. External agents or planner processes the session MENTIONS (e.g. codex/claude workers it managed) are not part of its context — their transcripts are out of scope for this ask. If one looks load-bearing, say so and let the user ask for it. Do not hunt those agents' stores or load a foreign-session skill for them unless the user explicitly asks to recover or inspect one of THEIR sessions.

Finding The Right Session

  1. Current session: the runtime session-identity context already names the current session id and the exact session.jsonl path. Use it; do not guess or search for it.

  2. A pasted or quoted absolute path under .../muse/sessions/...: use that path directly.

  3. A known session id without a path: the store is sharded by local date, so check the likely dates first, then search only the Muse sessions root:

    bash
    MUSE_SESSIONS="${XDG_DATA_HOME:-$HOME/.local/share}/muse/sessions"
    ls -d "$MUSE_SESSIONS"/*/*/*/*/ 2>/dev/null | grep <session-id>
  4. "Our last session" with no id: list the most recent date shards and pick the newest session directory for this workspace (the log's early runtime.session.metadata record carries workspace_root).

  5. Not found under the Muse sessions root: ask the user for the id or path. Never widen the hunt to other agents' directories or home-wide scans.

Reading A Session Log

Each session.jsonl line is an event-log envelope:

json
{"schema_version":1,"id":"…","stream":{"kind":"session","id":"<session-id>"},
 "sequence":42,"recorded_at":1771088000123456,"record_type":"event",
 "durability":"durable","causation_id":null,"payload_type":"runtime.session",
 "payload_schema_version":1,"payload":{"kind":"run","run_id":"…",
 "event":{"kind":"assistant_message_committed","text":"…"}}}

The useful payload.event.kind values for context recovery:

  • started — what the user asked: every submitted prompt is recorded here (text in payload.event.prompt). A user_prompt_display record follows only when a differing user-facing form exists (an attachment placeholder such as [Image 1], a composer form that differs from the sent text) — prefer its text when quoting the user. A prompt typed while a run was active is instead an inbox_item_queued whose source.source is "user_steer" (text in payload.event.payload.prompt, or in payload.event.body when the record carries no payload); background and scheduled runtime deliveries share that kind, so never quote those as the user.
  • assistant_message_committed — what the agent concluded (decisions, summaries, handoffs usually live here, late in the log).
  • assistant_tool_calls_committed / tool_result_batch_committed — what was actually done and what it returned.
  • terminal — turn boundaries.

Read discipline for long logs: read the TAIL first (later records matter most), then only enough earlier evidence to understand context. Use bounded tail/grep slices; never load a whole multi-megabyte log into context. Subagent findings live in subagent/<id>/session.jsonl, not the main log. For product debugging of the current session, prefer the doctor skill's session-evidence helper.

Show full SKILL.md (395 more words)Show less

Restoring Lost Work

When the user asks to restore or recover lost, wiped, or overwritten work and a prior session's log holds the only copy of that content (as recorded tool-call mutations), reconstruct each requested file exactly; do not guess between versions:

  1. Enumerate every mutated workspace path first — write_file, edit_file, apply_patch, and shell writes — and build the complete file list before restoring anything. Restore the full scope of the ask: for a general "restore what was lost" ask that means every lost file, while an explicitly narrower ask wins as stated.
  2. A file's final state is its mutation history replayed in record order (sequence/recorded_at): the LAST write_file content for the path in record order — or the newest full-file apply_patch/shell write when that came later — with every LATER edit_file delta applied in the same order (patch hunks and shell edits likewise). Skip an edit_file/apply_patch delta whose tool result reported an error; an errored shell command may still have mutated the file first, so check whether later records reflect its write. Recency comes from record order, never by content length or size: the longest version is often a superseded draft, and refactors make the final version SHORTER. Reconstructions built from write_file records alone silently drop every later edit.
  3. Restore the exact recorded content, not a paraphrase. Re-typing from memory, rewording, "improving", or summarizing content that is recoverable verbatim is data loss, not a restore — extract the bytes from the record and write those. (A user asking only to summarize a prior session is not a restore; this rule governs restoring files.)
  4. Report the result per file: which records it was restored from (the last full write plus the deltas applied), and what was restored and what was not, with a reason for anything skipped.
  5. If two candidate final versions are genuinely ambiguous (e.g. divergent edit branches after a fork or resume), present both candidates with their record timestamps and let the user pick; never silently prefer the longer one.

First-Party Commands

Prefer these over hand-rolled parsing when they fit:

  • muse resume <session-id> or muse resume --last — interactive continuation.
  • muse exec --session-id <session-id> "<follow-up>" — headless continuation, only on explicit request.
  • muse export --session <id-or-session.jsonl> --redacted --out <file> — a shareable, redacted export.
  • muse trace inspect --session-log <session.jsonl> --render-mode compact — model-call level inspection.

Treat session logs as read-only evidence: never modify, move, or delete them.

© asgeirtj, CC0-1.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in Meta/muse-code/skills/read-session of asgeirtj/system_prompts_leaks.

Open the folder on GitHubat commit e31ec21

Compare with similar skills

Read Session next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Read Session compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Read Session this skillasgeirtj/system_prompts_leaks69k—~2.4kAutomated safety check: PassCC0-1.0
Growth Logaffaan-m/ECC276k1 repos~1.7kAutomated safety check: PassMIT
Clickhouse Logs Queriessupabase/supabase111k—~2.4kAutomated safety check: PassApache-2.0
Investigating LogsPostHog/posthog40k—~2.1kAutomated safety check: PassCustom licence
Logging and Error Reporting for Warpwarpdotdev/warp65k1 repos~5.6kAutomated safety check: PassAGPL-3.0
Analyze Logsactivepieces/activepieces25k1 repos~1.6kAutomated safety check: PassMIT

Similar skills

  • Growth Log

    affaan-m/ECC

    Write growth log entries that extract reusable patterns from completed work — root cause, transferable rule, and a recognizable signal — instead of diary-style event narration, with a 4-8 sentence…

    276k GitHub starsUsed in 1 repo~1.7k tokens
    DevelopmentAuto-check passed
  • Clickhouse Logs Queries

    supabase/supabase

    Official

    Write, review, and migrate Supabase logs queries against the ClickHouse-backed logs table (the logs.all.otel analytics endpoint).

    111k GitHub stars~2.4k tokensUpdated today
    DatabasesAuto-check passed
  • Investigating Logs

    PostHog/posthog

    Official

    Investigate logs in a PostHog project: verify a service or deployment is healthy, explain an error spike, triage an incident, or understand what a log stream is saying.

    40k GitHub stars~2.1k tokensUpdated today
    DatabasesAuto-check passed
  • Guides log level choices and when to raise a structured Sentry event instead of a plain log line in the Warp Rust codebase, keeping secrets out of logs.

    65k GitHub starsUsed in 1 repo~5.6k tokens
    DevelopmentAuto-check passed
  • Analyze Logs

    activepieces/activepieces

    Analyze application logs from the .evlog/logs/ directory. An agent skill from activepieces/activepieces.

    25k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • KubeSphere WizTelemetry Logging

    kubesphere/kubesphere

    Installs and configures WizTelemetry Logging for KubeSphere, with container log and optional disk log collection, dependency checks and the log query API.

    17k GitHub stars~2.3k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed

More from asgeirtj/system_prompts_leaks

All 124 skills in this repo
  • Fleet Manager for Agent Sessions

    asgeirtj/system_prompts_leaks

    Shows one digest of coding-agent sessions across your connected machines and lets you open, read, steer, approve, stop and close them, over Herdr, tmux or MSP.

    69k GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Muse Code Product Doctor

    asgeirtj/system_prompts_leaks

    Diagnoses a Muse Code installation's own failures from binary and session evidence, instead of treating the report as an ordinary repository bug.

    69k GitHub stars~3.5k tokensUpdated yesterday
    Auto-check passed
  • DOCX

    asgeirtj/system_prompts_leaks

    A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx) or Word templates (.dotx).

    69k GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Agents Project Coordinator

    asgeirtj/system_prompts_leaks

    Runs a goal as a project in which the agent coordinates separate agent threads, judging when to split the work, and interviews you first when nothing can be verified.

    69k GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Muse Plugin Creator

    asgeirtj/system_prompts_leaks

    Creates and validates a new native Muse plugin package in the current workspace, limited to five capability families, and leaves installation to you.

    69k GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Deep Research

    asgeirtj/system_prompts_leaks

    A skill your agent uses when the user's prompt requires (1) researching a topic across multiple sources, comparing options or alternatives, analyzing trends or history, understanding markets or…

    69k GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed

Questions about Read Session

What does Read Session do?

Locate and read Muse Code's OWN session logs — the current session or a prior one. Read Session is an agent skill from asgeirtj/system_prompts_leaks. Locate and read Muse Code's OWN session logs — the current session or a prior one.

When should I use Read Session?

Read Session fits situations like: the user asks to pull context from; inspect a previous Muse Code session; asks to restore; recover work that was lost.

How do I install Read Session in Claude Code?

Run `npx skills add asgeirtj/system_prompts_leaks --skill read-session -a claude-code`. Or copy the skill folder (Meta/muse-code/skills/read-session in asgeirtj/system_prompts_leaks) into .claude/skills/read-session in your project. Claude Code loads it when a task matches its description.

How do I install Read Session in Codex?

Run `npx skills add asgeirtj/system_prompts_leaks --skill read-session -a codex`. Or copy the skill folder (Meta/muse-code/skills/read-session in asgeirtj/system_prompts_leaks) into .agents/skills/read-session in your project. Codex loads it when a task matches its description.

Can I use Read Session in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add asgeirtj/system_prompts_leaks --skill read-session -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/read-session, .gemini/skills/read-session, .github/skills/read-session and .opencode/skills/read-session in your project.

What does Read Session need to run?

SKILL.md names no scripts, command-line tools or credentials: Read Session is instructions for the agent only.

Does Read Session access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Read Session safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Read Session use?

Read Session is published under the CC0-1.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Read Session use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Read Session?

Skills that share tags, products or a category with Read Session: Growth Log (affaan-m/ECC, 276k stars), Clickhouse Logs Queries (supabase/supabase, 111k stars), Investigating Logs (PostHog/posthog, 40k stars) and Logging and Error Reporting for Warp (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Read Session?

asgeirtj (a GitHub user) maintains it in asgeirtj/system_prompts_leaks, which has 69,211 GitHub stars. The repository holds 124 skills in this directory. The repository was last updated on October 8, 2026.

Source: asgeirtj/system_prompts_leaks on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.