Compute metrics for Claude Code sessions. An agent skill from oliver-kriska/claude-elixir-phoenix.

MITAuto-check passedAgent Workflows

Install Session Scan

skills CLI
$ npx skills add oliver-kriska/claude-elixir-phoenix --skill session-scan -a claude-code

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

GitHub CLI
$ gh skill install oliver-kriska/claude-elixir-phoenix session-scan --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/oliver-kriska/claude-elixir-phoenix.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/session-scan .claude/skills/session-scan && 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
session-scan
GitHub stars
565
Token cost
~1.3k tokens
SKILL.md length
349 words
Files
3 (incl. references)
Skills in repo
111
Repo updated
First seen
Licence
MIT

At a glance

Compute metrics for Claude Code sessions. An agent skill from oliver-kriska/claude-elixir-phoenix.

  • Works in 8 steps: Parse Arguments → Discover Sessions (safe — response is… → Deduplicate → …
  • Broad session triage
  • SKILL.md covers STOP — Read Before Executing, Requirements, Usage and What Main Context Does, plus 2 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Session Scan is an agent skill from oliver-kriska/claude-elixir-phoenix. Compute metrics for Claude Code sessions. Discovers via ccrider, filters trivial, computes friction/opportunity/fingerprint scores. Use for broad session triage.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/compute-metrics.py` and `references/scoring-guide.md`).

It sits in Agent Workflows, covering Subagents. It works with Model Context Protocol. The repository describes itself as: Claude Code plugin for Elixir/Phoenix/LiveView — 26 specialist agents, Iron Laws enforcement, and Tidewave MCP integration. Plan features with parallel research agents, execute… The licence is MIT.

When your agent uses it

  • Broad session triage
  • Tasks that involve Subagents

Example prompts

  • “/session-scan”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Parse Arguments
  2. Discover Sessions (safe — response is ~1KB)
  3. Deduplicate
  4. Resolve Scorer Path
  5. Spawn ONE Subagent Per Session
  6. Collect Results
  7. Display Results
  8. Update Scan Metadata

What it can do on your machine

Read from SKILL.md and the folder at commit 9767a82. 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

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

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

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    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

Session Scan loads about 1.3k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 44 tokens; SKILL.md has 349 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~44
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~20k

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 oliver-kriska/claude-elixir-phoenix at commit 9767a82, republished under its MIT licence (© oliver-kriska). 349 words, ~1,268 tokens.

Download SKILL.mdSave it as .claude/skills/session-scan/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
session-scan
description
Compute metrics for Claude Code sessions. Discovers via ccrider, filters trivial, computes friction/opportunity/fingerprint scores. Use for broad session triage.
argument-hint
[--since DATE] [--project NAME] [--limit N] [--list] [--rescan]
disable-model-invocation
true

Session Scan (Tier 1)

Compute deterministic metrics for sessions discovered via ccrider MCP.

STOP — Read Before Executing

NEVER call mcp__ccrider__get_session_messages in main context. Each response is 5-50KB of JSON. Fetching N sessions directly = context crash.

You MUST delegate all scoring to subagents. The main context only does: discovery, deduplication, subagent spawning, and result collection.

Requirements

Requires ccrider MCP. If not available:

ccrider MCP is required. See: https://github.com/neilberkman/ccrider

Usage

/session-scan                         # Last 7 days, up to 50 sessions
/session-scan --since 2026-02-01      # Since specific date
/session-scan --project enaia         # Filter by project name
/session-scan --limit 20              # Cap session count
/session-scan --list                  # Discovery only, no scoring
/session-scan --rescan                # Recompute already-scanned sessions

What Main Context Does

1. Parse Arguments

Extract from $ARGUMENTS:

  • --since DATE: ISO date filter (default: 7 days ago)
  • --project NAME: Filter by project path substring
  • --limit N: Max sessions to process (default: 50)
  • --list: Discovery only — show table, skip scoring
  • --rescan: Recompute metrics for already-scanned sessions
2. Discover Sessions (safe — response is ~1KB)
mcp__ccrider__list_recent_sessions(limit: N, project: PROJECT, after_date: SINCE)

Filter out sessions with < 10 messages. If --list: show table and stop.

3. Deduplicate

Read .claude/session-metrics/metrics.jsonl (if exists). Skip sessions already scanned unless --rescan flag is set. Report: "N new sessions to scan (M already in ledger)"

4. Resolve Scorer Path
Glob: **/session-scan/references/compute-metrics.py

Store as SCORER_PATH (absolute). PROJECT_ROOT = current working directory.

5. Spawn ONE Subagent Per Session

DO NOT fetch messages yourself. DO NOT run Python yourself. You MUST use the Task tool to spawn subagents.

For EACH unscanned session, spawn a haiku subagent using this template:

Task(subagent_type="general-purpose", model="haiku", mode="bypassPermissions", prompt="""
Score one Claude Code session. Steps:

1. Fetch messages:
   mcp__ccrider__get_session_messages(session_id: "{SESSION_ID}", last_n: 200)

2. Write the full tool result (messages JSON) to:
   {PROJECT_ROOT}/.claude/session-metrics/_tmp_{SHORT_ID}.json

3. Run scorer and capture result in ONE Bash command:
   python3 {SCORER_PATH} {PROJECT_ROOT}/.claude/session-metrics/_tmp_{SHORT_ID}.json --session-id {SESSION_ID} --project {PROJECT_NAME} > {PROJECT_ROOT}/.claude/session-metrics/_result_{SHORT_ID}.json && rm {PROJECT_ROOT}/.claude/session-metrics/_tmp_{SHORT_ID}.json

4. Report back: "Scored {SHORT_ID}: friction=X.XX fingerprint=Y"

If ccrider fails, report the error and exit.
""")

Spawn ALL subagents in parallel. Wait for all to complete.

6. Collect Results
bash
for f in .claude/session-metrics/_result_*.json; do
  cat "$f" >> .claude/session-metrics/metrics.jsonl
  rm "$f"
done
7. Display Results

Show summary table sorted by friction (descending):

| ID       | Project | Date       | Type        | Friction | Opportunity | Tier2? |
|----------|---------|------------|-------------|----------|-------------|--------|
| ffa155ee | enaia   | 2026-02-18 | bug-fix     | 0.42     | 0.65        | Yes    |
| 90a74843 | wedding | 2026-02-17 | feature     | 0.15     | 0.20        | No     |

If Tier 2 eligible: suggest /session-deep-dive --from-scan.

8. Update Scan Metadata

Write .claude/session-metrics/latest-scan.json:

json
{
  "scanned_at": "2026-02-20T14:30:00Z",
  "sessions_discovered": 25,
  "sessions_scanned": 18,
  "sessions_skipped": 7,
  "tier2_eligible": 5
}

Scoring Reference

See references/scoring-guide.md for full algorithm documentation.

  • Friction Score (0-1): Weighted signals, sigmoid-normalized
  • Fingerprint: Rule-based classifier (6 types)
  • Plugin Opportunity (0-1): Missed /phx: commands
  • Tier 2 Eligible: friction > 0.35 OR opportunity > 0.5 OR plugin used OR msgs > 50

Iron Laws

  1. NEVER call get_session_messages in main context — WILL crash context
  2. ONE subagent per session — each fetches exactly ONE session
  3. mode="bypassPermissions" on every Task — subagents need Write+Bash
  4. Absolute paths in subagent prompts — subagents don't inherit context
  5. Result files, not direct append — avoid jsonl race conditions
  6. NEVER modify existing metrics.jsonl entries — append-only ledger
  7. ALWAYS delete temp and result files after processing

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

Files

SKILL.md and 2 other files (references) in .claude/skills/session-scan of oliver-kriska/claude-elixir-phoenix.

  • SKILL.md
  • references/compute-metrics.py
  • references/scoring-guide.md

Open the folder on GitHubat commit 9767a82

Compare with similar skills

Session Scan 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.

Session Scan compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Session Scan this skilloliver-kriska/claude-elixir-phoenix565—~1.3kAutomated safety check: PassMIT
Claude Automation Recommenderanthropics/claude-plugins-official38k3 repos~2.7kAutomated safety check: NotesApache-2.0
CC Workflow Studio AI Editorbreaking-brake/cc-wf-studio5.4k—~561Automated safety check: PassCustom licence
Agent Deckasheshgoplani/agent-deck1k—~1.7kAutomated safety check: PassMIT
Clone App Pat Proper-simmons/clone-app-pat-pro-public259—~1.9kAutomated safety check: NotesNone
Bootstrapinfragate/capa724—~5.9kAutomated safety check: PassMIT

Similar skills

  • Claude Automation Recommender

    anthropics/claude-plugins-official

    Official

    Scans a codebase and suggests which Claude Code hooks, subagents, skills, plugins and MCP servers fit its stack, without changing any files.

    38k GitHub starsUsed in 3 repos~2.7k tokens
    Agent WorkflowsAuto-check: notes
  • CC Workflow Studio AI Editor

    breaking-brake/cc-wf-studio

    Creates and edits visual agent workflows in CC Workflow Studio through conversation, with the agent reading and writing the canvas over MCP.

    5.4k GitHub stars~561 tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Agent Deck

    asheshgoplani/agent-deck

    agent-deck, the terminal session manager for AI coding agents.

    1k GitHub stars~1.7k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check passed
  • Clone App Pat Pro

    per-simmons/clone-app-pat-pro-public

    Clones any web app pixel-for-pixel from a URL. An agent skill from per-simmons/clone-app-pat-pro-public.

    259 GitHub stars~1.9k tokensUpdated 4 mo ago
    Agent WorkflowsAuto-check: notes
  • Bootstrap

    infragate/capa

    Capify an existing project. An agent skill from infragate/capa.

    724 GitHub stars~5.9k tokensUpdated 5 days ago
    Agent WorkflowsAuto-check passed
  • Puppetmaster Agent Orchestration

    professorpalmer/Puppetmaster

    Operates and supervises Puppetmaster, a multi-agent orchestrator, through its MCP tools or CLI, picking the right verb for edits, reviews, audits and long-running jobs.

    467 GitHub stars~3.2k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from oliver-kriska/claude-elixir-phoenix

All 111 skills in this repo
  • Codex Ab

    oliver-kriska/claude-elixir-phoenix

    Run an A/B codex review experiment — holistic codex review vs 3 focused dimension passes (security, ecto, liveview) on the branch diff, classify findings, report a panel-value verdict.

    565 GitHub stars~977 tokensUpdated 3 days ago
    Auto-check passed
  • Audit

    oliver-kriska/claude-elixir-phoenix

    Project health audit and health check — architecture, performance, tests, dependencies, code quality.

    565 GitHub stars~2k tokensUpdated 3 days ago
    Auto-check passed
  • Compound Docs

    oliver-kriska/claude-elixir-phoenix

    Searchable Elixir/Phoenix/Ecto solution documentation system with; Use when consulting past solutions…

    565 GitHub stars~528 tokensUpdated 3 days ago
    Auto-check passed
  • Compound Docs

    oliver-kriska/claude-elixir-phoenix

    Searchable Elixir/Phoenix/Ecto solution documentation system with YAML frontmatter.

    565 GitHub stars~547 tokensUpdated 3 days ago
    Auto-check passed
  • Deploy

    oliver-kriska/claude-elixir-phoenix

    Elixir/Phoenix deployment patterns — Dockerfile, fly.toml, runtime.exs, mix release, rel/ overlays.

    565 GitHub stars~1.1k tokensUpdated 3 days ago
    Auto-check passed
  • Deps Update

    oliver-kriska/claude-elixir-phoenix

    Bump outdated Hex deps — inventory, snapshot changelogs, update, fix breaks, split reviewable PRs (patches bundled, majors solo).

    565 GitHub stars~1.4k tokensUpdated 3 days ago
    Auto-check passed

Categories

Questions about Session Scan

What does Session Scan do?

Compute metrics for Claude Code sessions. An agent skill from oliver-kriska/claude-elixir-phoenix. Session Scan is an agent skill from oliver-kriska/claude-elixir-phoenix. Compute metrics for Claude Code sessions.

When should I use Session Scan?

Session Scan fits situations like: broad session triage; tasks that involve Subagents.

How do I install Session Scan in Claude Code?

Run `npx skills add oliver-kriska/claude-elixir-phoenix --skill session-scan -a claude-code`. Or copy the skill folder (.claude/skills/session-scan in oliver-kriska/claude-elixir-phoenix) into .claude/skills/session-scan in your project. Claude Code loads it when a task matches its description.

How do I install Session Scan in Codex?

Run `npx skills add oliver-kriska/claude-elixir-phoenix --skill session-scan -a codex`. Or copy the skill folder (.claude/skills/session-scan in oliver-kriska/claude-elixir-phoenix) into .agents/skills/session-scan in your project. Codex loads it when a task matches its description.

Can I use Session Scan 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 oliver-kriska/claude-elixir-phoenix --skill session-scan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/session-scan, .gemini/skills/session-scan, .github/skills/session-scan and .opencode/skills/session-scan in your project.

What does Session Scan need to run?

Going by SKILL.md and its folder, Session Scan needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Session Scan access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Session Scan 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 Session Scan use?

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

How many tokens does Session Scan use?

About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 18k tokens, read only when the agent opens those files.

What are the alternatives to Session Scan?

Skills that share tags, products or a category with Session Scan: Claude Automation Recommender (anthropics/claude-plugins-official, 38k stars), CC Workflow Studio AI Editor (breaking-brake/cc-wf-studio, 5.4k stars), Agent Deck (asheshgoplani/agent-deck, 1k stars) and Clone App Pat Pro (per-simmons/clone-app-pat-pro-public, 259 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Session Scan?

oliver-kriska (a GitHub user) maintains it in oliver-kriska/claude-elixir-phoenix, which has 565 GitHub stars. The repository holds 111 skills in this directory. The repository was last updated on October 5, 2026.

Source: oliver-kriska/claude-elixir-phoenix on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.