session:extract
SkillDatabases & dataExtract Claude Code session analytics to CSV, Markdown, or HTML files
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the session:extract skill
What this skill tells your AI
The instructions your AI receives, as published by rossoctl/rossoctl in .claude/skills/session:extract/SKILL.md and read by ahel’s review.
flowchart TD
START(["/session:extract"]) --> DETECT["Detect repo"]
DETECT --> PARAMS{"Date range specified?"}
PARAMS -->|Yes| EXTRACT["--phase extract with date range"]:::phase
PARAMS -->|No| EXTRACTALL["--phase extract (all data)"]:::phase
EXTRACT --> OUTPUT["Report output file locations"]:::done
EXTRACTALL --> OUTPUT
classDef phase fill:#2196F3,stroke:#333,color:white
classDef done fill:#4CAF50,stroke:#333,color:white
Follow this diagram as the workflow.
Extract Session Analytics
Extract Claude Code session analytics from GitHub PR/issue comments into CSV, Markdown, or HTML files for offline analysis and reporting.
Workflow
Step 1: Detect Repository
git remote get-url origin | sed 's/.*github.com[:/]\(.*\)\.git/\1/' | sed 's/.*github.com[:/]\(.*\)/\1/'
Step 2: Determine Date Range
Ask the user or accept parameters:
--from-date- Start date (ISO format:YYYY-MM-DD), defaults to 30 days ago--to-date- End date (ISO format:YYYY-MM-DD), defaults to today
Step 3: Run the Extract Phase
python3 .claude/scripts/session-analytics.py \
--phase extract \
--repo <OWNER/NAME> \
--from-date <START_DATE> \
--to-date <END_DATE> \
--output-dir /tmp/rossoctl/session/
This will:
- Fetch session comments from all PRs/issues in the date range
- Parse session metrics from each comment
- Generate output files in
/tmp/rossoctl/session/:sessions.csv- Raw session data in CSV formatsessions.md- Formatted Markdown reportdashboard.html- Interactive HTML dashboard
Step 4: Report Output
After extraction completes, report the output file locations to the user:
ls -la /tmp/rossoctl/session/
Provide the full paths so the user can open or share the files.
Parameters
| Parameter | Source | Required | Default |
|---|---|---|---|
--phase | Always extract | Yes | - |
--repo | Auto-detected from git remote | Yes | - |
--from-date | User-specified or default | No | 30 days ago |
--to-date | User-specified or default | No | Today |
--output-dir | Fixed | No | /tmp/rossoctl/session/ |
Examples
# Extract last 30 days (default)
python3 .claude/scripts/session-analytics.py \
--phase extract --repo rossoctl/rossoctl \
--output-dir /tmp/rossoctl/session/
# Extract specific date range
python3 .claude/scripts/session-analytics.py \
--phase extract --repo rossoctl/rossoctl \
--from-date 2025-01-01 --to-date 2025-01-31 \
--output-dir /tmp/rossoctl/session/
# Extract all time
python3 .claude/scripts/session-analytics.py \
--phase extract --repo rossoctl/rossoctl \
--from-date 2024-01-01 \
--output-dir /tmp/rossoctl/session/
Output Files
| File | Format | Use Case |
|---|---|---|
sessions.csv | CSV | Import into spreadsheets, data analysis tools |
sessions.md | Markdown | Share in docs, wikis, or other PRs |
dashboard.html | HTML | Visual overview, open in browser |
Related Skills
session- Router skill for all session analyticssession:post- Post session stats to PR/issue commentsession:summary- Update pinned summary commentsession:dashboard- Generate HTML dashboard
Signals
- GitHub stars
- 300
- Forks
- 107
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
session-extract- Source
- github.com/rossoctl/rossoctl