Borrowing it
Nothing to install: this file belongs to ozgurkarahan/ai-agent-memory. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/ozgurkarahan/ai-agent-memory/master/.claude/skills/review-sessions/SKILL.mdgit clone --depth 1 https://github.com/ozgurkarahan/ai-agent-memoryWrote 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/ozgurkarahan/ai-agent-memory/review-sessions)<a href="https://agentmods.dev/skills/ozgurkarahan/ai-agent-memory/review-sessions"><img src="https://agentmods.dev/badge/skills/ozgurkarahan/ai-agent-memory/review-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/ozgurkarahan/ai-agent-memory/review-sessions"><img src="https://agentmods.dev/badge/skills/ozgurkarahan/ai-agent-memory/review-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.00076 | $0.01934 |
| Opus 5 | $0.00038 | $0.00967 |
| Sonnet 5 | $0.00015 | $0.00387 |
| Haiku 4.5 | $0.00008 | $0.00193 |
Grade A, and why
review-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 11d 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 — 159 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Review Sessions
When the user says "review sessions", "session review", or invokes /review-sessions, analyse coding-agent session data to identify workflow improvements, prompt-quality patterns, error trends, and security hygiene issues.
Works across both supported agents:
| Agent | Where sessions live | Format |
|---|---|---|
| GitHub Copilot CLI | ~/.copilot/session-state/{session-id}/events.jsonl (+ plan.md, checkpoints/, command-history-state.json) |
JSONL event stream — typed events (session.start, session.mode_changed, turn.user, turn.assistant, tool.invoked, …) with timestamp, id, parentId |
| Claude Code | ~/.claude/projects/{project-hash}/{session-id}.jsonl (+ ~/.claude/history.jsonl) |
JSONL conversation turns — `type: user |
Resolve the memory root
- If
memory/schema.mdexists in the current workspace, setWIKI_ROOTtomemory/. - Else if
schema.mdexists, setWIKI_ROOTto the current directory. - Else follow the memory-wiki path in
AGENT.md. - If no folder containing both
schema.mdandindex.mdcan be resolved, report the missing path and stop.
All ops/... paths below are relative to WIKI_ROOT.
Scope modifiers
Interpret these optional modifiers from the user's request:
--agent {copilot,claude,all}— source to review; defaultall--all— ignore the watermark and review every session--project SLUG— match the sessioncwdor git root--since YYYY-MM-DD— include sessions on or after this date- No modifiers — incremental review using
ops/review-state.json
Step 1: Discover and normalize sessions directly
Use the agent's native file listing, search, JSON/JSONL reading, and reasoning capabilities. Do not require or create a helper extraction script.
- Inventory session files for the selected agent source(s).
- For incremental mode, read
ops/review-state.jsonif it exists and exclude namespaced file IDs already present inwatermark.reviewed_files. A file ID iscopilot:{absolute-path}orclaude:{absolute-path}. - Apply project and date filters before reading large files.
- Read each JSONL file in manageable chunks. Parse each line independently; count and report malformed lines instead of silently discarding them.
- Normalize records into this common in-memory model:
agent:copilotorclaudesession_id,timestampkind:user_turn,assistant_turn,tool_call,tool_result,error, ormode_changetext,tool_name,success,duration_mswhen available
- Copilot mapping: use event
typevalues such asturn.user,turn.assistant,tool.invoked, tool completion/error events, andsession.mode_changed. - Claude mapping: use
type: user|assistantrecords and nestedtool_use/tool_resultcontent; infer plan-mode changes only when explicitly represented. - Keep the processed namespaced file IDs for the state update in Step 6.
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.
- 11d ago First seen · 159 lines · 76 tokens per session scan A d09c5f417dd7
review-sessions is a skill published in the GitHub repository ozgurkarahan/ai-agent-memory (8 stars, last pushed 1mo ago), licensed MIT. It adds 76 tokens to every session and 1,934 once invoked, about $0.0004 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
media-ingest
Ingest video, audio, PDF, book, screenshot, and GitHub repo content into the brain. Multi-format handling with entity extraction and backlink propagation. Covers video-ingest, youtube-ingest, and book-ingest subtypes.
mem0-oss-to-platform
Plan and then execute a migration of a project from the mem0 open-source / self-hosted SDK (the local Memory class) to the mem0 Platform / hosted / managed SDK (the MemoryClient class). Use this whenever a developer wants to move, switch, or migrate their mem0 usage off OSS/self-hosted to the hosted API — e.g.…
Cortex
Operate Cortex, the LifeOS memory system — the typed Knowledge Archive (People, Companies, Ideas, Research with typed related: links) plus recall of prior work sessions, ISAs, and conversations. Search, add, harvest, develop, ingest, distill, graph-navigate, recall. USE WHEN cortex, knowledge, knowledge base, search…
memory
Use when the user asks to remember, recall, forget, update, search, or inspect durable OpenSquilla memory, including profile facts in USER.md and long-term notes in MEMORY.md or memory//.md.
ha-data-stores
Map of Hope Agent's local data stores and safe read-only query workflow. Use when the user asks where Hope Agent stores data, wants to inspect sessions/messages/memory/logs/background jobs/knowledge indexes/settings, asks the model to query local app data, or debugging requires checking persisted state. Trigger…
shellm
Reference for the shellm system — recursive LLM shell, identity management, memory, skills, trajectory, and all CLI tools. Use when working on shellm itself, debugging agent behavior, or understanding how the pieces fit together.