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 agentmods add skills/ilyagorsky/memory-toolkit/session-insightsnpx skills add IlyaGorsky/memory-toolkit --skill session-insightsgit clone --depth 1 https://github.com/IlyaGorsky/memory-toolkitWrote 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/ilyagorsky/memory-toolkit/session-insights)<a href="https://agentmods.dev/skills/ilyagorsky/memory-toolkit/session-insights"><img src="https://agentmods.dev/badge/skills/ilyagorsky/memory-toolkit/session-insights.svg" alt="Measured on agentmods" 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 | $0.00031 | $0.00839 |
| Opus 5 | $0.00015 | $0.00419 |
| Sonnet 5 | $0.00006 | $0.00168 |
| Haiku 4.5 | $0.00003 | $0.00084 |
Grade A, and why
session-insights 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 5d 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 — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/session-insights — Extract insights from past sessions
Parse .jsonl session transcripts and extract structured insights: problems, decisions, patterns, friction points. Works on sessions outside the current context.
Step 1: Find sessions
Resolve memory directory, then find sessions by argument:
GIT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
PROJ_KEY=$(echo "$GIT_ROOT" | tr '/.' '-' | sed 's/^-//')
SESSIONS_DIR="$HOME/.claude/projects/-${PROJ_KEY}/"
- Ticket/keyword — grep across all
.jsonlfiles - Session ID — specific file by UUID
- Workstream — use
node "$MEM" --dir="$MEM_DIR" workstream <name>for context, match by dates/keywords - No argument — most recent session
grep -l "<query>" "$SESSIONS_DIR"*.jsonl 2>/dev/null | head -10
Also check session index if available:
cat "$MEM_DIR/sessions.jsonl" 2>/dev/null
Step 2: Extract user messages
For each session found:
import json, sys
with open(sys.argv[1]) as f:
for i, line in enumerate(f):
try:
obj = json.loads(line.strip())
if obj.get('type') != 'user':
continue
c = obj.get('message', {}).get('content', obj.get('content', ''))
if isinstance(c, list):
for item in c:
if isinstance(item, dict) and item.get('type') == 'text':
text = item.get('text', '').strip()
if text and not text.startswith('<') and len(text) > 5:
print(text[:300])
elif isinstance(c, str):
text = c.strip()
if text and not text.startswith('<') and len(text) > 5:
print(text[:300])
except:
pass
Step 3: Analyze
Extract structured insights from the user messages:
- Problems — what didn't work, was redone, caused friction
- Decisions — what was chosen and why (architectural, process)
- Insights — non-obvious conclusions, patterns, reassessments
- Friction points — where the agent repeatedly failed, what required many iterations
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.
- 5d ago First seen · 114 lines · 31 tokens per session scan A 526b2e9ff843
session-insights is a skill published in the GitHub repository IlyaGorsky/memory-toolkit (13 stars, last pushed 4mo ago), licensed MIT. It adds 31 tokens to every session and 839 once invoked, about $0.0002 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-30.
Other skills, from other repositories
memory
Unified read-side memory operations including knowledge graph search, session context loading, decision timeline viewing, and Mermaid graph visualization. Subcommands: search, load, history, viz, status. Complements /ork:remember (write-side). Use when searching past decisions, loading context, or visualizing the…
acontext-installer
Install Acontext, Login & Init Acontext Project, Add Skill Memory to Agent.
create-checkpoint
Capture the current session state as a checkpoint artifact per spec section 4.4. Use when the user signals session end or explicitly requests a checkpoint. Do not use mid-session or without user approval.
create-usercontext-instructions
Create complete user-context instruction files using a structured discovery workflow and repository format rules.
restore-checkpoint
Load a checkpoint artifact at session start and restore the session state it describes per spec section 4.4 restore rules. Use only when a checkpoint file is explicitly provided at the beginning of a session.
validate-usercontext-instructions
Validate user-context instruction files against schema, section completeness, quality checks, and scoring criteria.